李祥洪 | 软件开发的本质和基本手段

第一章:软件工程概论 已学
第二章:软件过程 已学
第三章:软件需求与软件需求规约
第四章:结构化方法
第五章:结构化设计
第六章:面向对象方法
第七章:敏捷开发方法
第八章:软件测试
第九章:软件项目管理
第十章:软件开发工具与环境

软件开发的本质和基本手段

软件工程架构

软件生存周期过程的分类:

基本过程:获取过程(需方);供应过程(供方);开发过程(软件开发者);运行过程(系统操作者);维护过程(维护者)。
支持过程:文档过程;配置过程;质量保证过程;验证过程;确认过程;联合评审过程;审计过程;问题解决过程
组织过程:管理过程;基础设施过程;改进过程;人力资源过程;资产管理过程;复用程序管理过程;领域软件工程过程;

常用的软件生存周期模型:
瀑布模型:
增量模型:该模型有一个假设,即需求可以分段,成为一系列增量产品,没一增量可以分别开发。找到一个核心的需求。
优点,缺点,什么是** 。在核心需求上面,最核心的1是需要十分确定的,如果开始的需求不明确,在这个不确定的需求上去开发就是更加的不确定了。
演化模型:是一种有弹性的过程模式,由一些小的开发步骤组成,每一步历经需求分析,设计,实现和验证,产生软件产品的一个增量。通过这些迭代,完成最终软件产品的开发。
喷泉模型:特称:迭代;无缝;与面向对象技术的关系。

软件需求(不论是自顶向下的软件开发,还是自底向上的软件开发,正确的定义问题,是解决问题的前提/软件需求是软件开发的基础)如何认识需求工作“软件是容易修改的,但修改正确是很难的”了解需求工作在系统中的位置什么是自顶向下:先从需求开始什么是自底向上:通过构件来解决问题,搭积木的方式。什么叫需求:一个需求是一个有关“要求构造”的描述,描述了待开发产品/系统功能上的能力/性能参数或者其他性质功能需要/非功能需求什么样的陈述可以作为需求--需求必须具有五个基本性质
1. 必要性
2. 无歧义的
3. 可测的
4. 可跟踪的
5. 可测量的

需求的分类:功能:功能需求规约了系统或系统构件必须执行的功能。功能需求是整个需求的主体,即没有功能需求,就没有非功能需求;性能:规约了一个系统或系统构件必须具有的性能特性;外部接口:规约了系统或系统构件必须与之交互的硬件/软件/或数据库元素 外部接口分为以下几类:系统接口,用户接口,硬件接口,软件接口,通信接口;设计约束:限制了系统或系统构件的设计方案;质量属性:规约了软件产品必须具有的一个性质是否达到质量方面一个所期望的水平,质量性具体考核:可靠性,存活性,可维护性,用户友好性,安全性 ,可移植性。
需求发现
自悟;
交谈:应该由开发人员主导整个需求的发现;
观察:观察用户执行其现行的任务和过程,或通过观察他们如何操作与所期望的新系统有关的现有系统,了解系统运行的环境;
小组会;
提炼;
综合运用;

需求规约(SRS)的概念和格式
一个需求规约是一个软件项/产品所有需求陈述的正式文档,是一个软件产品/系统的概念模型。
SRS必须具有以下4个性质:
1. 重要性和稳定性程度
2. 可修改的
3. 完整的
4. 一致的

需求规约的作用
1. 是重要的,作为软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。
2. 对于项目的其余大多数工作,它是一个管理控制点
3. 对于产品的设计,他是一个正式的,受控的起始点。
4. 是创建产品验收测试计划和用户指南的基础,即基于需求规约一般还会产生另外两个文档--初始测试计划和用户系统操作描述

项目的需求及需求规约

未完待续.......

你可能感兴趣的:(李祥洪 | 软件开发的本质和基本手段)