软考系规:软件工程总结

1、需求分析

(1)需求必须可以被验证。在资源有限时,可以通过优先级对需求进行权衡。

(2)需求分析的目标:通过需求分析可以检测和解决需求之间的冲突、发现系统的边界、详细描述出系统需求

2、软件设计

根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础,通过软件设计,描述出软件架构及相关组件之间的接口;然后进一步详细地描述组件,以便能构成这些组件。可以划分为软件架构设计软件详细设计两个阶段。

(1)概要设计就是设计软件的结构,包括组成模块、模块之间的层次结构和调用关系,每个模块的功能,同时还要设计该项目的应用系统总体数据和数据库结构,即应用系统要存储什么数据以什么样的结构存储,他们之间有什么关系。概要设计阶段通常得到软件结构图

(2)详细设计:为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等。

图片[1]-软考系规:软件工程总结

3、软件测试

为了评价和改进软件质量、识别产品的缺陷和问题而进行的活动。特点:针对程序的测试行为,在有限的测试用例集合上,动态验证是否到达预期的行为其目的发现程序中的错误,不仅仅是编码阶段完成才进行的活动,而是贯穿于整个开发和维护过程中

(1)测试对象:程序 + 数据 + 文档

(2)软件测试伴随开发和维护过程,通常可以在概念上划分为单元测试、集成测试和系统测试3个阶段。

  • 单元测试是针对软件设计的最小单位(程序模块)进行正确性检验的测试工作
  • 集成测试它主要是将已通过单元测试的模块集成在一起,主要测试模块之间的协作性
  • 系统测试如果项目不只包含软件,还有硬件和网络等,则要将软件与外部支持的硬件、外设、支持软件、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统的一系列集成与确认测试

4、软件维护

将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动交付前要完成的活动包括交付后的运行计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。有如下类型:

更正性维护—-更正交付后发现的错误;(知错能改

适应性维护—-使软件产品能够在变化后或变化中的环境中继续使用;(外部环境变化后系统必须要变化

完善性维护—-改进交付后产品的性能和可维护性;(锦上添花

预防性维护—-在软件产品中的潜在错误成为实际错误前,检测并更正它们;【涉及到未来的还没做的一般为预防性维护】(未雨绸缪

5、软件质量及评价

(1)软件质量包括内部质量”、“外部质量使用质量三部分。

图片[2]-软考系规:软件工程总结

软件质量管理过程由许多活动组成,一些活动可以直接发现缺陷,另一些活动则检查活动的价值。其中包括质量保证过程、验证过程、确认过程、评审过程、审计过程等。

①质量保证通过指定计划、实施和完成活动保证项目周期满足产品和过程符合其规定要求

②验证与确认:验证过程试图确保活动的输出产品构造正确,即活动的输出产品满足活动的规范说明确认过程则试图确保构造了正确的产品,即产品满足其特定的目的

③评审与审计:包括管理评审、技术评审、检查、走查、审计等。

  • 管理评审是监控的是进展、计划和状态及方法
  • 技术评审监控产品
  • 审计对软件产品和过程是否满足规则、标准、指南、计划流程的遵从性的独立性的评价

6、软件配置管理

软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动。

口诀:计时制,状态审计不符,解释:采用计时制度进行现场计时,但裁判对计时状态进行审计,发现公布的结果不符。(龟兔赛跑)

(1)软件配置管理计划的制定需要了解组织结构环境和组织单元的联系,明确软件配置控制任务

(2)软件配置标识活动识别要控制的配置项,并为这些配置项及其版立基线

(3)软件配置控制关注的是管理软件生命周期中的变更

(4)软件配置状态记录标识,收集、维护并报告配置管理的配置状态信息

(5)软件配置审计独立评价软件产品和过程是否遵从已有的规则、标准,指南,计划和流程而进行的活动。

(6)软件发布管理和交付通常需要创建特定的交付版本完成此任务的关键是软件库

7、软件过程管理

图片[3]-软考系规:软件工程总结

8、软件开发工具

软件开发工具用于辅助软件生命周期过程的基于计算机的工具。通常使用这些工具来支持特定的软件工程方法,减少手工方式管理的负担。工具的种类包括支持单个任务的工具及涵盖整个生命周期的工具

软件开发工具
(1)软件需求工具包括:需求建模工具和需求追踪工具。
(2)软件设计工具包括:软件设计创建和检查工具。
(3)软件构造工具包括:程序编辑器、编译器、代码生成器、解释器、调试器。
(4)软件测试工具包括:测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具。
(5)软件维护工具包括:理解工具(如可视化工具)和再造工具(如重构工具)
(6)软件配置管理工具包括:追踪工具、版本管理工具和发布工具。
(7)软件工程管理工具包括:项目计划与追踪工具、风险管理工具和度量工具。
(8)软件工程过程工具包括:建模工具:管理工具、软件开发环境。
(9)软件质量工具包括:检查工具和分析工具。

口诀记忆:需求(追模:追求模特)、配置管理(追发版)、质量(检分)

9、软件复用

(1)复用提高软件生产力和质量的一种重要技术。

(2)软件复用的主要思想是,将软件看成是由不同功能的组件所组成的有机体

(3)早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。用软件复用的特点提高其通用性面向对象的方法特别适用于软件复用的设计

(4)组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。特征:拿来就用,降低成本,特别适用于面向对象

获取更多软考资料

关注公众号

添加微信好友

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容