当前位置:文档之家› 软件系统分析与设计DOC

软件系统分析与设计DOC

第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项目与项目管理● 2.1.1 项目●项目是在特定条件下、具有特定目标的一次性任务,是在一定时间内、满足一系列特定目标的多项相关工作的总和。

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软件开发平台● 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的异同●类似的平台基础构造●相同的三层/多层体系1.不同的移植、性能和扩展●在Web支持方面的比较●第三方厂商的支持1.潜在的市场3.2中间件技术● 3.2.1 中间件简介●终端仿真/屏幕转换中间件●数据访问中间件●远程过程调用中间件●消息中间件●交易中间件●对象中间件●Web服务器中间件●安全中间件● 3.2.2 消息代理中间件●构件化的结构●可恢复性、易于管理、灵活性●具有数据转换设施。

●可靠高效的通信●多样的管理能力●丰富的应用开发环境● 3.2.3 面向数据库的中间件●ODBC●JDBC●数据库网关3.3构件技术● 3.3.1 构件库●构件的存储●构件的分类与检索机制●构件库的编目●构件库的管理和维护● 3.3.2 构件模型●3C模型●刻面(Facet)模型●青鸟模型● 3.3.3 构件的属性与特点●构件是可独立配置的单元,构件必须自包容。

●构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的实现细节。

●构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,可以与环境交互。

●构件没有个体特有的属性,最多仅有特定构件的一份副本。

● 3.3.4 构件与中间件●中间件,本质上是对分布式应用的抽象,中间件与系统架构实际上是从两种不同的角度看待软件的中间层次。

●中间件促进了构件化软件,基于中间件开发的应用系统是构件化的,中间件提供了构件的体系结构,极大提高了构件化软件开发的效率和质量。

●构件化的软件设计思想在中间件发展中起到了重要的作用。

3.4小节●Microsoft .NET平台和J2EE平台是目前最常用的两大软件开发平台。

作为彼此竞争的应用平台,Microsoft .NET平台和J2EE平台在目标和体系结构上极其相似,但在实现上又完全不同。

二者总的关系是:异中有同,同中有异。

●中间件是处于操作系统和应用程序之间的软件。

中间件保持了平台的透明性,抽象了典型的应用模式。

应用软件开发者可以基于标准的中间件进行再开发,而不必再考虑操作系统的问题。

●构件是可复用的软件成份,可被用来构造其他软件。

中间件促进了构件化软件,应用系统在中间件提供的环境中可以更好地集中于业务逻辑上,并以构件的形式存在。

构件思想也反过来推动了中间件的发展。

第4章软件项目规划4.1项目策划●从政策导向中寻找项目机会1.从市场需求中寻找项目机会●从技术发展中寻找项目机会1.从特定事件中寻找项目机会4.2项目可行性分析4.2.1 技术可行性分析●项目的必要性分析●软件组织水平与能力分析●项目技术来源分析●与项目相关的专利分析●项目负责人及技术骨干的资质分析1.项目总体技术方案分析●项目创新点分析●项目技术风险分析●项目技术成熟性分析● 4.2.2 项目投资及效益分析●项目投资预算分析●项目投资来源分析●市场需求与产品销售额分析●产品成本、利润与盈亏平衡点分析●投资回收期、投资收益率分析●社会效益分析4.3项目论证、评估与立项● 4.3.1 项目论证与评估的基本概念●项目论证是指对拟实施项目技术上的先进性、成熟性、适用性,经济上的合理性、盈利性,实施上的可能性、风险性进行全面科学的综合分析,为项目决策提供客观依据的一种技术经济研究活动。

相关主题