1、需求分析
(1)需求必须可以被验证。在资源有限时,可以通过优先级对需求进行权衡。
(2)需求分析的目标:通过需求分析可以检测和解决需求之间的冲突、发现系统的边界、详细描述出系统需求。
2、软件设计
根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础,通过软件设计,描述出软件架构及相关组件之间的接口;然后进一步详细地描述组件,以便能构成这些组件。可以划分为软件架构设计和软件详细设计两个阶段。
(1)概要设计:就是设计软件的结构,包括组成模块、模块之间的层次结构和调用关系,每个模块的功能,同时还要设计该项目的应用系统总体数据和数据库结构,即应用系统要存储什么数据以什么样的结构存储,他们之间有什么关系。概要设计阶段通常得到软件结构图。
(2)详细设计:为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等。
3、软件测试
为了评价和改进软件质量、识别产品的缺陷和问题而进行的活动。特点:针对程序的测试行为,在有限的测试用例集合上,动态验证是否到达预期的行为。其目的是发现程序中的错误,不仅仅是编码阶段完成才进行的活动,而是贯穿于整个开发和维护过程中。
(1)测试对象:程序 + 数据 + 文档。
(2)软件测试伴随开发和维护过程,通常可以在概念上划分为单元测试、集成测试和系统测试3个阶段。
- 单元测试是针对软件设计的最小单位(程序模块)进行正确性检验的测试工作。
- 集成测试它主要是将已通过单元测试的模块集成在一起,主要测试模块之间的协作性。
- 系统测试如果项目不只包含软件,还有硬件和网络等,则要将软件与外部支持的硬件、外设、支持软件、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统的一系列集成与确认测试。
4、软件维护
将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前要完成的活动包括交付后的运行计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。有如下类型:
①更正性维护—-更正交付后发现的错误;(知错能改)
②适应性维护—-使软件产品能够在变化后或变化中的环境中继续使用;(外部环境变化后系统必须要变化)
③完善性维护—-改进交付后产品的性能和可维护性;(锦上添花)
④预防性维护—-在软件产品中的潜在错误成为实际错误前,检测并更正它们;【涉及到未来的还没做的一般为预防性维护】(未雨绸缪)
5、软件质量及评价
(1)软件质量包括“内部质量”、“外部质量”和“使用质量”三部分。
软件质量管理过程由许多活动组成,一些活动可以直接发现缺陷,另一些活动则检查活动的价值。其中包括质量保证过程、验证过程、确认过程、评审过程、审计过程等。
①质量保证:通过指定计划、实施和完成活动保证项目周期满足产品和过程符合其规定要求。
②验证与确认:验证过程试图确保活动的输出产品构造正确,即活动的输出产品满足活动的规范说明;确认过程则试图确保构造了正确的产品,即产品满足其特定的目的。
③评审与审计:包括管理评审、技术评审、检查、走查、审计等。
- 管理评审是监控的是进展、计划和状态及方法。
- 技术评审是监控产品。
- 审计对软件产品和过程是否满足规则、标准、指南、计划流程的遵从性的独立性的评价。
6、软件配置管理
软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动。
口诀:计时制,状态审计不符,解释:采用计时制度进行现场计时,但裁判对计时状态进行审计,发现公布的结果不符。(龟兔赛跑)
(1)软件配置管理计划的制定需要了解组织结构环境和组织单元的联系,明确软件配置控制任务。
(2)软件配置标识活动识别要控制的配置项,并为这些配置项及其版立基线。
(3)软件配置控制关注的是管理软件生命周期中的变更。
(4)软件配置状态记录标识,收集、维护并报告配置管理的配置状态信息。
(5)软件配置审计是独立评价软件产品和过程是否遵从已有的规则、标准,指南,计划和流程而进行的活动。
(6)软件发布管理和交付通常需要创建特定的交付版本,完成此任务的关键是软件库。
7、软件过程管理
8、软件开发工具
软件开发工具用于辅助软件生命周期过程的基于计算机的工具。通常使用这些工具来支持特定的软件工程方法,减少手工方式管理的负担。工具的种类包括支持单个任务的工具及涵盖整个生命周期的工具。
软件开发工具 |
(1)软件需求工具包括:需求建模工具和需求追踪工具。 |
(2)软件设计工具包括:软件设计创建和检查工具。 |
(3)软件构造工具包括:程序编辑器、编译器、代码生成器、解释器、调试器。 |
(4)软件测试工具包括:测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具。 |
(5)软件维护工具包括:理解工具(如可视化工具)和再造工具(如重构工具) |
(6)软件配置管理工具包括:追踪工具、版本管理工具和发布工具。 |
(7)软件工程管理工具包括:项目计划与追踪工具、风险管理工具和度量工具。 |
(8)软件工程过程工具包括:建模工具:管理工具、软件开发环境。 |
(9)软件质量工具包括:检查工具和分析工具。 |
口诀记忆:需求(追模:追求模特)、配置管理(追发版)、质量(检分)
9、软件复用
(1)复用是提高软件生产力和质量的一种重要技术。
(2)软件复用的主要思想是,将软件看成是由不同功能的“组件”所组成的有机体。
(3)早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。用软件复用的特点提高其通用性,面向对象的方法特别适用于软件复用的设计。
(4)组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。其特征:拿来就用,降低成本,特别适用于面向对象。
关注公众号
添加微信好友
暂无评论内容