软件工程简答

什么是软件工程

软件工程:将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。支持软件工程的根基在于质量关注点。
软件工程的基础是过程层,将各个技术层次结合在一起。方法层为构建软件提供技术上的解决方法。工具层为过程和方法提供自动化或半自动化的支持。

通用过程模型的定义内容
通⽤过程框架定义了 5 种框架活动 —— 沟通、策划、建模、构建以及部署。
⼀系列普适性活动 —— 项⽬跟踪控制、⻛险管理、质量保证、配置管理、技术评审以及其他活动(测量、配置管理、可复用性管理、工作产品的准备和生产) —— 贯穿软件过程始终。

什么是敏捷及优缺点原则,常见框架/方法

敏捷

要定义灵活机动、有适应能力和精益的过程以适应现代商务的需求。 敏捷开发 是⼀种软件开发⽅法论,可以应对客户快速变更的需求。它强调以⼈为核⼼,采⽤迭代的⽅式,循序渐进的 开发软件。

敏捷框架
Scrum 在固定的时间盒内进行检视和调整,并坦诚地面对真相。每次冲刺期间都会产生至少一个软件增量,产生有形成果。
XP框架(极限编程)最广泛。按照策划、设计、编码、测试四个框架活动组织,并提出一系列新颖有力的技术。保证利益相关者指定优先级特征和功能软件的频发发布。
看板法 提供了改进过程或工作流的方法,专注于变更管理和服务交付。
DevOps 将开发与运维结合。快速响应需求提升客户体验。

软件工程师的特质

个人责任感、敏锐的意识、坦诚、抗压能力、高度的公平感、注重细节、务实的。

采用敏捷理论、社交媒体和电子通信对全球化软件开发尤其有益处。

风险管理的定义

风险是关系到未来的事件,涉及选择具有不确定性、损失性。

风险分析和管理是标识风险、评估其发生的概率、估算其影响和建立在实际发生情形下问题的应急计划,是一系列帮助软件小组理解和管理不确定性的步骤。

习题:

1.软件过程

为创建高质量软件所需要完成的活动、动作和任务的框架。 活动主要实现宽泛的目标。动作包含主要工作产品生产过程中的一系列任务。任务关注小而明确的目标,能够产生实际产品。
2.UML

是提供支持面向对象软件工程时间必要的一种技术,是一种建模语言。
3.重构

通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。


1.软件工程实践的精髓有哪些?(8分)

①理解问题

②策划解决方案

③实施计划

④检查结果

2.敏捷软件开发宣言有哪些?(8分)

  • 个体和互动 高于 流程和工具
  • 工作的软件 高于 详尽的文档
  • 客户合作 高于 合同谈判
  • 相应变化 高于 遵循计划

4.软件生命周期包括哪些阶段?(8分)

需求分析阶段:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。

软件设计阶段:主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。

软件编码阶段:是将软件设计的结果转换成计算机可运行的程序代码。

软件测试阶段:在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。

软件运行和维护阶段:是软件生命周期中持续时间最长的阶段,包括纠错性维护和改进性维护两个方面。

5.UML中的图形的有哪些?(6个以上得满分,本题6分)

顺序图、类图、活动图、状态图、泳道图、构件图、部署图

需求工程的基本任务

需求⼯程是指致⼒于不断理解需求的⼤量任务和技术。

需求⼯程包括七项任务:起始,获取,细化,协商,规格说明,确认和管理。

XP重构和结对编程

XP:极限编程,是一种轻量级的、灵巧的软件开发方法。具有严谨和周密的特征。

结对编程:指是两位程序员并肩坐在同一台电脑前,共同探讨设计方案、共同设计算法、共同编写程序代码、共同完成各种测试。

构件内聚类型

内聚分类:功能内聚、分层内聚、通信内聚、顺序内聚、过程内聚、时间内聚、偶然内聚


耦合性
耦合性是程序结构中各个模块之间相互关联的度量它取决于各个模块之间接⼝的复杂程度、调⽤模块的⽅式 以及那些信息通过接⼝ 。
 

敏捷开发原则

1. 快速迭代

2. 让测试人员和开发者参与需求讨论

3. 编写可测试的需求文档

4. 多沟通,尽量减少文档

5. 做好产品原型

6. 及早考虑测试

软件体系结构

提供了待构建软件的整体视图,描绘了软件构件的结构和组织形式,构件的性质及构件之间的链接。

需求确认的工作

需求调研和准备、需求分析、需求验证、项目范围说明书和工作分解结构(WBS)、需求变更管理


2.2统一过程模型(重要)
统一过程模型是一种“用例驱动、以体系结构为核心、迭代及增量”的软件过程框架,由UML方法和工具支撑。五个UP阶段不是顺序执行,而是阶段性并发执行。
1. UP 的 起始阶段 包括客户沟通和策划活动。
2. 细化阶段 包括沟通和通⽤过程模型的建模活动。
3. 构建阶段 与通⽤软件过程中的构建活动相同。
4. 转换阶段 包括通⽤构建活动的后期阶段以及通⽤部署活动的第⼀部分。
5. ⽣产阶段 与通⽤过程的部署活动⼀致。

黄金规则

Theo Mandel 关于界⾯设计提出的三条⻩⾦规则

1. 把控制权交给⽤户

2. 减轻⽤户的记忆负担

软件测试
目的是发现错误。
步骤
①单元测试,侧重于单个构建,确保起到单元的作用
②集成测试 侧重于软件体系结构的设计和构建
③高阶测试 
④确认测试 需求的最终保证
⑤系统测试 软件与系统的其他部分作为一个整体测试

3.开发用例

·ATM取款

·餐厅使用信用卡付费

·使用在线书店搜索书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot调用wsdl接口

springboot调用wsdl接口 maven依赖 <!--xml报文数据--><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.9.8</version></dependency><…

nodejs--【Express基本使用】

10 【Express基本使用】 https://www.expressjs.com.cn/ 基于 Node.js 平台&#xff0c;快速、开放、极简的 web 开发框架。 1.Express的安装方式 Express的安装可直接使用npm包管理器上的项目&#xff0c;在安装npm之前可先安装淘宝镜像&#xff1a; npm install -g cnpm -…

Mysql 对重复数据筛选过滤

在日常开发工作中常会遇到要对数据库中的重复数据做筛选的操作需求&#xff0c;可以考虑使用排序函数&#xff08;ROW_NUMBER()&#xff09; 第一种写法&#xff1a;row_number() over(partition by 一个或多个分组列 order by 一个或多个排序列 asc/desc) as 别名 //如果不写a…

PostgreSQL 数据库设计与管理(四)

1. 数据库设计原则 1.1 规范化 规范化是组织数据库结构的一种方法&#xff0c;旨在减少数据冗余并提高数据完整性。常用的规范化范式包括&#xff1a; 第一范式&#xff08;1NF&#xff09;&#xff1a; 确保每列都是原子的&#xff0c;不可再分。第二范式&#xff08;2NF&a…

领先Intel 旗舰60%,AMD锐龙9000系桌面CPU彻底杀疯了

早在月初台北国际电脑展上&#xff0c;Intel 公布了下一代低功耗移动端处理器 Lunar Lake。 也就是第二代移动版酷睿 Ultra。 而作为叫板王&#xff0c;AMD 丝毫不怂&#xff0c;不但掏出了 Ryzen AI 300 移动端处理器应对。 还抢在 Intel 之前带来了全新一代 Zen 5 架构 Ryz…

前端vue项目升级nodejs后无法运行了

问题描述&#xff1a; 运行、打包都正常的vue项目&#xff0c;在将nodejs升级到v20.14.0后&#xff0c;均报错了&#xff1a; Error: error:0308010C:digital envelope routines::unsupported opensslErrorStack: [ error:03000086:digital envelope routines::initializ…

制造业如何拥抱数字化?百数服务商的转型策略与实践

制造业作为实体经济的主体部分&#xff0c;也是核心部分&#xff0c;发挥着基础性、主导性和引领性作用。推动制造业数字化转型是实现经济高质量发展的必由之路。 在这场数字化浪潮中&#xff0c;低代码平台作为一种新兴的技术手段&#xff0c;逐渐受到了企业的青睐。其能够在…

[5]python+selenium - UI自动框架之重写unittest.TestCase

重写unittest.TestCase 不仅继承了unittest的方法&#xff0c;还丰富不同断言方法&#xff0c;用起来更方便、简单。 import unittest from common.BSBase import BasePage from common.log import log from common.browserDriver import getdriver from common.publicFunc imp…

2024.06.30 刷题日记

121. 买卖股票的最佳时机 实例 1&#xff1a; 输入&#xff1a;[7,1,5,3,6,4] 输出&#xff1a;5 解释&#xff1a;在第 2 天&#xff08;股票价格 1&#xff09;的时候买入&#xff0c;在第 5 天&#xff08;股票价格 6&#xff09;的时候卖出&#xff0c;最大利润 6-1 5…

高考假期预习指南:开启你的IT学习之旅

七月来临&#xff0c;各省高考分数已揭榜完成。而高考的完结并不意味着学习的结束&#xff0c;而是新旅程的开始。对于有志于踏入IT领域的高考少年们&#xff0c;这个假期是开启探索IT世界的绝佳时机。作为一名在计算机行业深耕多年的专家&#xff0c;我愿意为准新生们提供一份…

等级保护测评在测评中Linux系统怎么改

在等级保护测评中&#xff0c;针对Linux系统的整改主要是为了提高其安全性&#xff0c;使之符合等级保护的基本要求。 以下是一些常见的整改步骤和建议&#xff1a; 1. 身份鉴别&#xff1a; • 强化密码策略&#xff0c;例如设置复杂的密码规则、密码长度、密码复杂度、密码…

Web基础与HTTP协议:

Web基础与HTTP协议 Web&#xff1a;就是我们所说的页面&#xff0c;打开网站所展示的页面。&#xff08;全球广域网&#xff0c;万维网&#xff09; 分布式图形信息系统。 http https &#xff08;加密的&#xff09;超文本传输协议 分布式&#xff1a;计算机系统或者应用程序…

大型游乐设施操作试题

选择题 1、《游乐设施安全技术监察规程(试行)》规定:制造单位应在游乐设施明显部位装设铭牌&#xff0c;铭牌内容至少应包括制造单位名称与地址、设备名称、编号等等技术参数&#xff0c;但下列除哪项外均正确。[单选题]* A、速度和高度 B、生产许可证号 C、制造单位的联系电话…

WLAN Hostapd配置参数详解 - EN

中文的配置参数详解&#xff1a;WLAN Hostapd配置参数详解-CSDN博客 ##### hostapd configuration file ############################################## # Empty lines and lines starting with # are ignored # AP netdevice name (without ap postfix, i.e., wlan0 uses wl…

vue3引入本地静态资源图片

一、单张图片引入 import imgXX from /assets/images/xx.png二、多张图片引入 说明&#xff1a;import.meta.url 是一个 ESM 的原生功能&#xff0c;会暴露当前模块的 URL。将它与原生的 URL 构造器 组合使用 注意&#xff1a;填写自己项目图片存放的路径 /** vite的特殊性…

SQL注入【1】——通用漏洞/SQL注入/mysql跨库/ACCESS偏移

一、知识点: 1、脚本代码与数据库前置知识 2、Access数据库注入-简易&偏移 3、MYSQL数据库注入-简易:权限跨库 二、前置知识: &#xff08;一&#xff09;SQL注入漏洞产生原理分析 SQL注入产生条件&#xff1a;根本条件&#xff1a;可控变量、特定函数。 脚本代码在实现…

教育行业的网络安全:保护学生数据与防范网络欺凌

在数字化的春风中&#xff0c;教育行业迎来了知识的繁花似锦&#xff0c;然而&#xff0c;随之而来的网络安全风暴也悄然逼近。学生数据的脆弱性与网络欺凌的阴影交织成一幅复杂的画卷&#xff0c;呼唤着教育工作者与技术专家共同编织一张密不透风的网络安全之网。本文深入探讨…

C++修饰符类型

一、存储类运算符 auto&#xff08;自动存储类&#xff0c;但在现代C中&#xff0c;它通常用于自动类型推导&#xff09; register&#xff08;建议编译器将变量存储在寄存器中&#xff0c;但现代编译器通常忽略此关键字&#xff09; static&#xff08;静态存储类&#xff…

【Spring】Spring Security 核心类介绍及Spring Security 的验证机制

Spring Security 核心类介绍及Spring Security 的验证机制 一、Spring Security 核心类1.1 Authentication1.2 SecurityContextHolder1.3 UserDetails1.4 UserDetailsService1.5 GrantedAuthority1.6 DaoAuthenticationProvider1.7 PasswordEncoder 二、 Spring Security 的验证…

国产压缩包工具——JlmPackCore SDK说明(二)——JlmPack_Create函数说明

一、JlmPack_Create函数说明 JlmPack_Create函数是创建jlm压缩文件的核心函数&#xff0c;最大允许CATALOG_MAX_LIMIT&#xff08;请参考Config.h&#xff09;个目录&#xff0c;意思是包括文件夹和文件在内&#xff0c;遍历整个列表最大允许CATALOG_MAX_LIMIT个目录对象&#…