目录
1.软件过程能力成熟度模型CSMM由4个能力域、20个能力子域、161个能力要求组成。
- 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。
- 软件工程由方法、工具和过程3个部分组成。
一、软件需求
1.需求的层次
层次 |
说明 |
业务需求 |
是指反映组织机构或用户对系统、产品高层次的目标要求。通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。 |
用户需求 |
描述的是用户的具体目标,或用户要求系统必须能完成的任务想要达到的结果。 |
系统需求 |
功能需求:功能需求通常是通过系统特征的描述表现出来的。 |
非功能需求:非功能需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和合约,是指系统必须具备的属性或品质,又可细分为软件质量属性(例如易用性、可维护性、效率等)和其他非功能需求。 |
|
约束:是指对开发人员在软件产品设计和构造上的限制,常见的有设计约束和过程约束。 |
2.质量功能部署
质量功能部署(QFD)是一种将用户要求转化成软件需求的技术,它将软件需求分为三类:
- 常规需求:用户认为系统应该做到的功能或性能,实现越多用户会越满意。
- 期望需求:用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意。
- 意外需求:意外需求也称为兴奋需求,是用户要求范围外的功能或性能,实现这些需求用户会更高兴,但不实现也不影响其购买的决策。
3.需求获取
- 需求获取是确定和理解不同的项目干系人对系统的需求和约束的过程。
- 常见的需求获取方法包括用户访谈、问卷调查、采样、会议讨论法、界面原型法、情节串联版、联合需求计划等。
4.需求分析
- 需求分析将提炼、分析和审查已经获取到的需求,以确保所有的项目干系人都明白其含义并找出其中的错误、遗漏或其他不足的地方。
- 在需求获取阶段获得的需求是杂乱的,一个好的需求应该具有无二异性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性等特征。
结构化分析
- 使用SA(结构化)方法进行需求分析,其建立的模型的核心是数据字典,围绕这个核心,有三个层次的模型,如图所示:
- DFD需求建模方法(过程建模和功能建模方法),DFD方法有以下4种基本元素(模型对象)组成:数据流;处理;数据存储;外部项(数据源或者数据终点)。
- DFD方法利用应用问题域中数据及信息的提供者与使用者、信息的流向、处理和存储这4种元素描述系统需求,建立应用系统的功能模型。具体的建模过程及步骤:
- 明确目标,确定系统范围。
- 建立顶层DFD图。
- 构建第一层DFD分解图。
- 开发DFD层次结构图。
- 检查确认DFD图。
- 数据字典最重要的作用是作为分析阶段的工具。它是一种用户可以访问的记录数据库和应用程序元数据的目录。数据字典是描述数据的信息集合,是对系统中使用的所有数据元素定义的集合。
- 数据字典主要包括数据项、数据结构、数据流、数据存储、处理过程等几个部分。
面向对象分析
- OOA所强调的是在系统调查资料的基础上,针对oo方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
- OOA模型有5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识、对象类、标识结构、定义主题、定义属性和定义服务)组成。
名称 |
说明 |
抽象 |
|
封装 |
把对象的属性和服务结合为一个不可分的系统单位,并尽可能隐蔽对象的内部细节。 |
继承 |
特殊类的对象拥有其对应的一般类的全部属性与服务 |