《软件系统分析与设计DOC》由会员分享,可在线阅读,更多相关《软件系统分析与设计DOC(18页珍藏版)》请在金锄头文库上搜索。
1、第1章 软件工程基础知识1.1 软件工程知识体系l 软件需求(Software Requirements)l 软件设计(Software Design)l 软件构造(Software Construction)l 软件测试(Software Testing)l 软件维护(Software Maintenance)l 软件配置管理(Software Configuration Management)l 软件工程管理(Software Engineering Management)l 软件工程过程(Software Engineering Process)l 软件工程工具和方法(Software
2、Engineering Tools and Methods)l 软件质量(Software Quality) 1.2 软件生存周期与软件开发模型l 1.2.1 软件生存周期l Boehm定义的软件生存周期模型l GB 8566-1988定义的软件生存周期模型l GB/T 8566-1995定义的软件生存周期过程模型l GB/T 8566-2001定义的软件生存周期过程模型 l UP定义的软件生存周期模型 l 1.2.2 软件开发模型l 瀑布模型(waterfall model)l 快速原型模型(rapid prototype model)l 演化模型(evolutionary model)l
3、增量模型(incremental model)l 螺旋模型(spiral model)l 喷泉模型(water fountain model)1.3 软件质量模型与软件质量管理l 1.3.1 软件质量模型l 软件产品的内部质量、外部质量和使用质量 l 质量特性、质量子特性和度量 l 功能性:适宜性、准确性、互用性、依从性、安全性l 可靠性:成熟性、容错性、可恢复性l 可用性:可理解性、易学性、可操作性l 效率:时间特性、资源特性l 可维护性:可分析性、可修改性、稳定性、可测试性l 可移植性:适应性、易安装性、一致性、可替换性l 1.3.2 软件质量管理l 质量需求分析 l 质量计划 l 质量保
4、证l 质量控制 l 质量改进 l 软件质量管理体系1.4 软件配置管理l 1.4.1 软件配置项与基线l 计算机软件配置项(CSCI)l 基线(baseline) l 功能基线(functional baseline)l 指派基线(allocated baseline) l 产品基线(product baseline)l 1.4.2 软件配置管理过程l 对象标识l 版本控制l 变化控制l 配置审计l 配置报告1.5 软件过程管理l 1.5.1 软件能力成熟度模型(CMM)l CMM的5个等级:初始级、可重复级、已定义级、已管理级、优化级l CMM的关键过程域(KPA):需求管理、软件项目计划、
5、软件项目跟踪和监控、软件子合同管理、软件质量保证、软件配置管理、组织级过程焦点、组织级过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审、定量过程管理、软件质量管理、缺陷预防、技术变更管理、过程变更管理l 1.5.2 软件过程与软件能力成熟度评估l 第一步,建立评估组l 第二步,填写提问单l 第三步,响应分析l 第四步,现场考察l 第五步,提出调查发现清单l 第六步,制作关键过程域(KPA)剖面图l 1.5.3 软件过程改进l 第一步,比较“目标状态”与“目前状态”,找出所有差距 l 第二步,确定改进目标l 第三步,制定改进计划l 第四步,执行改进计划 l 第五步,总结本轮改进
6、经验,开始下一轮改进1.6 小节l 软件工程学是研究如何有效地组织和管理软件开发的工程学科。l 软件产品所要经历的计划、分析、设计、编程、测试、维护直至被淘汰这样一个全过程被称为软件生存周期。用不同的方式将软件生命周期中的所有开发活动组织起来,可以形成不同的软件开发模型。l 软件质量就是软件与明确地和隐含地定义的需求相一致的程度。软件质量管理是指软件开发机构为保证软件项目满足客户需求所要实施的质量活动。l 软件配置管理是在软件的整个生命期内管理变化的一组活动,目标是使变化更正确且更容易被适应。l 软件过程是指人们用于开发和维护软件及其相关产品的一系列活动,包括软件工程过程和软件管理过程。软件过
7、程管理的目的就是提升软件组织的提高软件开发能力。 第2章 项目管理基础知识2.1 项目与项目管理l 2.1.1 项目l 项目是在特定条件下、具有特定目标的一次性任务,是在一定时间内、满足一系列特定目标的多项相关工作的总和。 1. 项目的临时性 l 项目的独特性 1. 项目的渐进性 2.1.2 项目管理l 项目管理就是将各种知识、技能、工具和技术应用于项目之中,以达到项目的要求。 l 项目范围l 项目时间l 项目成本l 项目质量 2.2 项目管理过程与过程组l 2.2.1 过程与过程组l 过程就是一组为了完成一系列事先指定的产品、服务或成果而需执行的互相联系的行动和活动。软件项目管理过程可归纳为
8、五个过程组。 l 启动过程组(initiating process group) l 规划过程组(planning process group) l 实施过程组(executing process group) l 监控过程组(monitoring and controlling process group)l 收尾过程组(closing process group) l 2.2.2 项目管理过程的交互作用l 项目管理过程并不是互不相干的一次性事件l 项目管理过程组之间是一种前后衔接、承前启后的关系l 项目管理过程组之间有时又是一种时间交错、空间并行的关系l 项目管理过程组之间还是一种信息收集
9、、存储、处理和传递的关系l 某些过程组的关联具有重复迭代性l 规划过程组、执行过程组和监控过程组之间形成一种闭环的关系l 过程组的交互作用往往还会跨越项目阶段l 项目阶段和过程之间有相互联系l 2.2.3 项目管理过程的裁剪l 不同类型的软件项目应选用不同的项目管理过程l 不同阶段的软件项目应选用不同的项目管理过程l 不同软件项目的管理过程会有不同的具体过程l 不同软件项目的管理过程会有不同的具体过程顺序l 不同软件项目的管理过程会有不同的条件与约束l 不同软件项目的管理过程会有不同的简化程度l 不同软件项目的管理过程需要不同的集成程度l 项目变更会使项目管理过程随之变化2.3 项目管理知识体
10、系l 项目综合管理l 项目范围管理l 项目时间管理l 项目成本管理l 项目质量管理l 项目人力资源管理l 项目沟通管理l 项目风险管理l 项目采购管理 2.4 小节l 项目管理就是将项目管理知识、技能、工具和技术应用于项目活动之中,可以将软件项目管理活动视做一系列相互联系的过程。l 项目管理过程可归纳为5个过程组:启动过程组、规划过程组、实施过程组、监控过程组与收尾过程组。l 项目管理包括9个知识领域:项目综合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理与项目采购管理。第3章 软件开发技术3.1 软件开发平台l 3.1.1 Micr
11、osoft .NET平台l Microsoft .NET Framework:.NET CLR(通用语言运行环境);.NET BCL(基础类库);ASP.NET;ADO.NET。l Microsoft Visual Studio .NET:ADO.NET组件;XML数据组件;Windows表单组件;ASP.NET应用服务;ASP.NET Web表单;Web服务支持。l 3.1.2 J2EE平台l 组件-容器:搭建体系架构l 平台标准服务l 多层应用模型3.1.3 Microsoft .NET与J2EE的异同l 类似的平台基础构造l 相同的三层/多层体系1. 不同的移植、性能和扩展l 在Web支
12、持方面的比较l 第三方厂商的支持1. 潜在的市场3.2 中间件技术l 3.2.1 中间件简介l 终端仿真/屏幕转换中间件l 数据访问中间件l 远程过程调用中间件l 消息中间件l 交易中间件l 对象中间件l Web服务器中间件l 安全中间件l 3.2.2 消息代理中间件l 构件化的结构l 可恢复性、易于管理、灵活性l 具有数据转换设施。l 可靠高效的通信l 多样的管理能力l 丰富的应用开发环境l 3.2.3 面向数据库的中间件l ODBCl JDBCl 数据库网关3.3 构件技术l 3.3.1 构件库l 构件的存储l 构件的分类与检索机制l 构件库的编目l 构件库的管理和维护l 3.3.2 构件
13、模型l 3C模型l 刻面(Facet)模型l 青鸟模型l 3.3.3 构件的属性与特点l 构件是可独立配置的单元,构件必须自包容。l 构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的实现细节。l 构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,可以与环境交互。l 构件没有个体特有的属性,最多仅有特定构件的一份副本。l 3.3.4 构件与中间件l 中间件,本质上是对分布式应用的抽象,中间件与系统架构实际上是从两种不同的角度看待软件的中间层次。 l 中间件促进了构件化软件,基于中间件开发的应用系统是构件化的,中间件提供了构件的体系结构,
14、极大提高了构件化软件开发的效率和质量。 l 构件化的软件设计思想在中间件发展中起到了重要的作用 。3.4 小节l Microsoft .NET平台和J2EE平台是目前最常用的两大软件开发平台。作为彼此竞争的应用平台,Microsoft .NET平台和J2EE平台在目标和体系结构上极其相似,但在实现上又完全不同。二者总的关系是:异中有同,同中有异。l 中间件是处于操作系统和应用程序之间的软件。中间件保持了平台的透明性,抽象了典型的应用模式。应用软件开发者可以基于标准的中间件进行再开发,而不必再考虑操作系统的问题。l 构件是可复用的软件成份,可被用来构造其他软件。中间件促进了构件化软件,应用系统在中间件提供的环境中可以更好地集中于业务逻辑上,并以构件的形式存在。构件思想也反过来推动了中间件的发展。 第4章 软件项目规划4.1 项目策划l 从政策导向中寻找项目机会1. 从市场需求中寻找项目机会l 从技术发展中寻找项目机会1. 从特定事件中寻找项目机会4.2 项目可行性分析4.2.1 技术可行性分析l 项目的必要性分析l 软件组织水平与能力分析l 项目技术来源分析l 与项目相关的专利分析l 项目负责人及技术骨干的资质分析1. 项目总体技术方案分析l 项目创新点分析l 项目技术风险分析l 项目技术成熟性分析l 4.2.2 项目投资及效益分析l 项目投资预算分析l 项目投资来源分析