软件系统分析与设计

  • 格式:docx
  • 大小:97.84 KB
  • 文档页数:18

第 1 章 软件工程基础知识

1.1 软件工程知识体系

 软件需求(Software Requirements)

软件设计(Software Design)

软件构造(Software Construction)

软件测试(Software Testing)

软件维护(Software Maintenance)

软件配置管理(Software Configuration Management)

软件工程管理(Software Engineering Management)

软件工程过程(Software Engineering Process)

软件工程工具和方法(Software Engineering Tools and Methods)

软件质量(Software Quality)

1.2 软件生存周期与软件开发模型

1.2.1 软件生存周期

 Boehm 定义的软件生存周期模型

GB 8566-1988 定义的软件生存周期模型

GB/T 8566-1995 定义的软件生存周期过程模型

GB/T 8566-2001 定义的软件生存周期过程模型

UP 定义的软件生存周期模型

1.2.2 软件开发模型

瀑布模型(waterfall model)

快速原型模型(rapid prototype model)

演化模型(evolutionary model)

增量模型(incremental model)

螺旋模型(spiral model)

喷泉模型(water fountain model)

1.3 软件质量模型与软件质量管理

1.3.1 软件质量模型

 软件产品的内部质量、外部质量和使用质量

质量特性、质量子特性和度量

功能性:适宜性、准确性、互用性、依从性、安全性

可靠性:成熟性、容错性、可恢复性

可用性:可理解性、易学性、可操作性

效率:时间特性、资源特性

可维护性:可分析性、可修改性、稳定性、可测试性

可移植性:适应性、易安装性、一致性、可替换性

1.3.2 软件质量管理

质量需求分析

质量计划

质量保证

质量控制

质量改进

软件质量管理体系 1.4 软件配置管理

 1.4.1 软件配置项与基线

计算机软件配置项(CSCI)

基线(baseline)

功能基线(functional baseline)

指派基线(allocated baseline)

产品基线(product baseline)

1.4.2 软件配置管理过程

对象标识

版本控制

变化控制

配置审计

配置报告

1.5 软件过程管理

 1.5.1 软件能力成熟度模型(CMM)

CMM 的 5 个等级:初始级、可重复级、已定义级、已管理级、优化级

CMM 的关键过程域(KPA):需求管理、软件项目计划、软件项目跟踪和监控、软件子

合同管理、软件质量保证、软件配置管理、组织级过程焦点、组织级过程定义、培训

大纲、集成软件管理、软件产品工程、组间协调、同行评审、定量过程管理、软件质

量管理、缺陷预防、技术变更管理、过程变更管理

1.5.2 软件过程与软件能力成熟度评估

第一步,建立评估组

第二步,填写提问单

第三步,响应分析

第四步,现场考察

第五步,提出调查发现清单

第六步,制作关键过程域(KPA)剖面图

1.5.3 软件过程改进

第一步,比较“目标状态”与“目前状态”,找出所有差距

第二步,确定改进目标

第三步,制定改进计划

第四步,执行改进计划

第五步,总结本轮改进经验,开始下一轮改进

1.6 小节

 软件工程学是研究如何有效地组织和管理软件开发的工程学科。

软件产品所要经历的计划、分析、设计、编程、测试、维护直至被淘汰这样一个全过

程被称为软件生存周期。用不同的方式将软件生命周期中的所有开发活动组织起来,

可以形成不同的软件开发模型。

软件质量就是软件与明确地和隐含地定义的需求相一致的程度。软件质量管理是指软

件开发机构为保证软件项目满足客户需求所要实施的质量活动。

软件配置管理是在软件的整个生命期内管理变化的一组活动,目标是使变化更正确且

更容易被适应。

软件过程是指人们用于开发和维护软件及其相关产品的一系列活动,包括软件工程过

程和软件管理过程。软件过程管理的目的就是提升软件组织的提高软件开发能力。 第 2 章 项目管理基础知识

2.1 项目与项目管理

1.

1.

 2.1.1 项目

项目是在特定条件下、具有特定目标的一次性任务,是在一定时间内、满足一系列特

定目标的多项相关工作的总和。

项目的临时性

项目的独特性

项目的渐进性

2.1.2 项目管理

项目管理就是将各种知识、技能、工具和技术应用于项目之中,以达到项目的要求。

项目范围

项目时间

项目成本

项目质量

2.2 项目管理过程与过程组

 2.2.1 过程与过程组

过程就是一组为了完成一系列事先指定的产品、服务或成果而需执行的互相联系的行

动和活动。软件项目管理过程可归纳为五个过程组。

启动过程组(initiating process group)

规划过程组(planning process group)

实施过程组(executing process group)

监控过程组(monitoring and controlling process group)

收尾过程组(closing process group)

2.2.2 项目管理过程的交互作用

项目管理过程并不是互不相干的一次性事件

项目管理过程组之间是一种前后衔接、承前启后的关系

项目管理过程组之间有时又是一种时间交错、空间并行的关系

项目管理过程组之间还是一种信息收集、存储、处理和传递的关系

某些过程组的关联具有重复迭代性

规划过程组、执行过程组和监控过程组之间形成一种闭环的关系

过程组的交互作用往往还会跨越项目阶段

项目阶段和过程之间有相互联系

2.2.3 项目管理过程的裁剪

不同类型的软件项目应选用不同的项目管理过程

不同阶段的软件项目应选用不同的项目管理过程

不同软件项目的管理过程会有不同的具体过程

不同软件项目的管理过程会有不同的具体过程顺序

不同软件项目的管理过程会有不同的条件与约束

不同软件项目的管理过程会有不同的简化程度

不同软件项目的管理过程需要不同的集成程度

项目变更会使项目管理过程随之变化

2.3 项目管理知识体系

 项目综合管理

项目范围管理 

 项目时间管理 项目成本管理 项目质量管理 项目人力资源管理 项目沟通管理 项目风险管理 项目采购管理

2.4 小节

 项目管理就是将项目管理知识、技能、工具和技术应用于项目活动之中,可以将软件

项目管理活动视做一系列相互联系的过程。

项目管理过程可归纳为 5 个过程组:启动过程组、规划过程组、实施过程组、监控过

程组与收尾过程组。

项目管理包括 9 个知识领域:项目综合管理、项目范围管理、项目时间管理、项目成

本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理与项目采

购管理。

第 3 章 软件开发技术

3.1 软件开发平台

1.

1. 3.1.1 Microsoft .NET 平台

Microsoft .NET Framework:.NET CLR(通用语言运行环境);.NET BCL(基础类库);

;。

Microsoft Visual Studio .NET: 组件;XML 数据组件;Windows 表单组件;

应用服务; Web 表单;Web 服务支持。

3.1.2 J2EE 平台

组件-容器:搭建体系架构

平台标准服务

多层应用模型

3.1.3 Microsoft .NET 与 J2EE 的异同

类似的平台基础构造

相同的三层/多层体系

不同的移植、性能和扩展

在 Web 支持方面的比较

第三方厂商的支持

潜在的市场

3.2 中间件技术

 3.2.1 中间件简介

 终端仿真/屏幕转换中间件

数据访问中间件

远程过程调用中间件

消息中间件

交易中间件

对象中间件

Web 服务器中间件

安全中间件

 3.2.2 消息代理中间件