软件系统分析与设计.ppt
《软件系统分析与设计.ppt》由会员分享,可在线阅读,更多相关《软件系统分析与设计.ppt(161页珍藏版)》请在咨信网上搜索。
单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,DATE yyyy/M/d|2021/10/28,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,21世纪高等院校计算机系列教材,软件系统分析与设计,1,第1章 软件工程基础知识,软件工程知识体系,软件生存周期与软件开发模型,软件质量模型与软件质量管理,软件配置管理,软件过程管理,2,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),3,1.2 软件生存周期与软件开发模型,1.2.1,软件生存周期,Boehm定义的软件生存周期模型,GB 8566-1988定义的软件生存周期模型,GB/T 8566-1995定义的软件生存周期过程模型,GB/T 8566-2001定义的软件生存周期过程模型,UP定义的软件生存周期模型,4,1.2 软件生存周期与软件开发模型,1.2.2,软件开发模型,瀑布模型(waterfall model),快速原型模型(rapid prototype model),演化模型(evolutionary model),增量模型(incremental model),螺旋模型(spiral model),喷泉模型(water fountain model),5,1.3 软件质量模型与软件质量管理,1.3.1,软件质量模型,软件产品的内部质量、外部质量和使用质量,质量特性、质量子特性和度量,功能性,:适宜性、准确性、互用性、依从性、安全性,可靠性,:成熟性、容错性、可恢复性,可用性,:可理解性、易学性、可操作性,效率,:时间特性、资源特性,可维护性,:可分析性、可修改性、稳定性、可测试性,可移植性,:适应性、易安装性、一致性、可替换性,6,1.3 软件质量模型与软件质量管理,1.3.2,软件质量管理,质量需求分析,质量计划,质量保证,质量控制,质量改进,软件质量管理体系,7,1.4 软件配置管理,1.4.1,软件配置项与基线,计算机软件配置项(CSCI),基线(baseline),功能基线(functional baseline),指派基线(allocated baseline),产品基线(product baseline),8,1.4 软件配置管理,1.4.2,软件配置管理过程,对象标识,版本控制,变化控制,配置审计,配置报告,9,1.5 软件过程管理,1.5.1,软件能力成熟度模型(CMM),CMM的5个等级:初始级、可重复级、已定义级、已管理级、优化级,CMM的关键过程域(KPA):需求管理、软件项目计划、软件项目跟踪和监控、软件子合同管理、软件质量保证、软件配置管理、组织级过程焦点、组织级过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审、定量过程管理、软件质量管理、缺陷预防、技术变更管理、过程变更管理,10,1.5 软件过程管理,1.5.2,软件过程与软件能力成熟度评估,第一步,建立评估组,第二步,填写提问单,第三步,响应分析,第四步,现场考察,第五步,提出调查发现清单,第六步,制作关键过程域(KPA)剖面图,11,1.5 软件过程管理,1.5.3,软件过程改进,第一步,比较“目标状态”与“目前状态”,找出所有差距,第二步,确定改进目标,第三步,制定改进计划,第四步,执行改进计划,第五步,总结本轮改进经验,开始下一轮改进,12,1.6 小节,软件工程学是研究如何有效地组织和管理软件开发的工程学科。,软件产品所要经历的计划、分析、设计、编程、测试、维护直至被淘汰这样一个全过程被称为软件生存周期。用不同的方式将软件生命周期中的所有开发活动组织起来,可以形成不同的软件开发模型。,软件质量就是软件与明确地和隐含地定义的需求相一致的程度。软件质量管理是指软件开发机构为保证软件项目满足客户需求所要实施的质量活动。,软件配置管理是在软件的整个生命期内管理变化的一组活动,目标是使变化更正确且更容易被适应。,软件过程是指人们用于开发和维护软件及其相关产品的一系列活动,包括软件工程过程和软件管理过程。软件过程管理的目的就是提升软件组织的提高软件开发能力。,13,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,14,第2章 项目管理基础知识,项目与项目管理,项目管理过程与过程组,项目管理知识体系,15,2.1 项目与项目管理,2.1.1,项目,项目是在特定条件下、具有特定目标的一次性任务,是在一定时间内、满足一系列特定目标的多项相关工作的总和。,项目的临时性,项目的独特性,项目的渐进性,16,2.1 项目与项目管理,2.1.2,项目管理,项目管理就是将各种知识、技能、工具和技术应用于项目之中,以达到项目的要求。,项目范围,项目时间,项目成本,项目质量,17,2.2 项目管理过程与过程组,2.2.1,过程与过程组,过程就是一组为了完成一系列事先指定的产品、服务或成果而需执行的互相联系的行动和活动。软件项目管理过程可归纳为五个过程组。,启动过程组(initiating process group),规划过程组(planning process group),实施过程组(executing process group),监控过程组(monitoring and controlling process group),收尾过程组(closing process group),18,2.2 项目管理过程与过程组,2.2.2,项目管理过程的交互作用,项目管理过程并不是互不相干的一次性事件,项目管理过程组之间是一种前后衔接、承前启后的关系,项目管理过程组之间有时又是一种时间交错、空间并行的关系,项目管理过程组之间还是一种信息收集、存储、处理和传递的关系,某些过程组的关联具有重复迭代性,规划过程组、执行过程组和监控过程组之间形成一种闭环的关系,过程组的交互作用往往还会跨越项目阶段,项目阶段和过程之间有相互联系,19,2.2 项目管理过程与过程组,2.2.3,项目管理过程的裁剪,不同类型的软件项目应选用不同的项目管理过程,不同阶段的软件项目应选用不同的项目管理过程,不同软件项目的管理过程会有不同的具体过程,不同软件项目的管理过程会有不同的具体过程顺序,不同软件项目的管理过程会有不同的条件与约束,不同软件项目的管理过程会有不同的简化程度,不同软件项目的管理过程需要不同的集成程度,项目变更会使项目管理过程随之变化,20,2.3 项目管理知识体系,项目综合管理,项目范围管理,项目时间管理,项目成本管理,项目质量管理,项目人力资源管理,项目沟通管理,项目风险管理,项目采购管理,21,2.4 小节,项目管理就是将项目管理知识、技能、工具和技术应用于项目活动之中,可以将软件项目管理活动视做一系列相互联系的过程。,项目管理过程可归纳为5个过程组:启动过程组、规划过程组、实施过程组、监控过程组与收尾过程组。,项目管理包括9个知识领域:项目综合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理与项目采购管理。,22,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,23,第3章 软件开发技术,软件开发平台,中间件技术,构件技术,24,3.1 软件开发平台,3.1.1,Microsoft.NET平台,Microsoft.NET Framework:.NET CLR(通用语言运行环境);.NET BCL(基础类库);ASP.NET;ADO.NET。,Microsoft Visual Studio.NET:ADO.NET组件;XML数据组件;Windows表单组件;ASP.NET应用服务;ASP.NET Web表单;Web服务支持。,25,3.1 软件开发平台,3.1.2,J2EE平台,组件-容器:搭建体系架构,平台标准服务,多层应用模型,26,3.1 软件开发平台,3.1.3,Microsoft.NET与J2EE的异同,类似的平台基础构造,相同的三层/多层体系,不同的移植、性能和扩展,在Web支持方面的比较,第三方厂商的支持,潜在的市场,27,3.2 中间件技术,3.2.1,中间件简介,终端仿真/屏幕转换中间件,数据访问中间件,远程过程调用中间件,消息中间件,交易中间件,对象中间件,Web服务器中间件,安全中间件,28,3.2 中间件技术,3.2.2,消息代理中间件,构件化的结构,可恢复性、易于管理、灵活性,具有数据转换设施。,可靠高效的通信,多样的管理能力,丰富的应用开发环境,29,3.2 中间件技术,3.2.3,面向数据库的中间件,ODBC,JDBC,数据库网关,30,3.3 构件技术,3.3.1,构件库,构件的存储,构件的分类与检索机制,构件库的编目,构件库的管理和维护,31,3.3 构件技术,3.3.2,构件模型,3C模型,刻面(Facet)模型,青鸟模型,32,3.3 构件技术,3.3.3,构件的属性与特点,构件是可独立配置的单元,构件必须自包容。,构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的实现细节。,构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,可以与环境交互。,构件没有个体特有的属性,最多仅有特定构件的一份副本。,33,3.3 构件技术,3.3.4,构件与中间件,中间件,本质上是对分布式应用的抽象,中间件与系统架构实际上是从两种不同的角度看待软件的中间层次。,中间件促进了构件化软件,基于中间件开发的应用系统是构件化的,中间件提供了构件的体系结构,极大提高了构件化软件开发的效率和质量。,构件化的软件设计思想在中间件发展中起到了重要的作用。,34,3.4 小节,Microsoft.NET平台和J2EE平台是目前最常用的两大软件开发平台。作为彼此竞争的应用平台,Microsoft.NET平台和J2EE平台在目标和体系结构上极其相似,但在实现上又完全不同。二者总的关系是:异中有同,同中有异。,中间件是处于操作系统和应用程序之间的软件。中间件保持了平台的透明性,抽象了典型的应用模式。应用软件开发者可以基于标准的中间件进行再开发,而不必再考虑操作系统的问题。,构件是可复用的软件成份,可被用来构造其他软件。中间件促进了构件化软件,应用系统在中间件提供的环境中可以更好地集中于业务逻辑上,并以构件的形式存在。构件思想也反过来推动了中间件的发展。,35,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,36,第4章 软件项目规划,项目策划,项目可行性分析,项目论证、评估与立项,项目开发计划,37,4.1 项目策划,从政策导向中寻找项目机会,从市场需求中寻找项目机会,从技术发展中寻找项目机会,从特定事件中寻找项目机会,38,4.2 项目可行性分析,4.2.1,技术可行性分析,项目的必要性分析,软件组织水平与能力分析,项目技术来源分析,与项目相关的专利分析,项目负责人及技术骨干的资质分析,项目总体技术方案分析,项目创新点分析,项目技术风险分析,项目技术成熟性分析,39,4.2 项目可行性分析,4.2.2,项目投资及效益分析,项目投资预算分析,项目投资来源分析,市场需求与产品销售额分析,产品成本、利润与盈亏平衡点分析,投资回收期、投资收益率分析,社会效益分析,40,4.3 项目论证、评估与立项,4.3.1,项目论证与评估的基本概念,项目论证是指对拟实施项目技术上的先进性、成熟性、适用性,经济上的合理性、盈利性,实施上的可能性、风险性进行全面科学的综合分析,为项目决策提供客观依据的一种技术经济研究活动。,项目评估指在项目可行性研究的基础上,项目投资者或项目主管部门或其委托的第三方权威机构根据国家颁布的政策、法律、法规、标准和技术规范,对拟开发项目的市场需求、技术先进性和成熟性、预期经济效益和社会效益等进行评价、分析和论证,进而判断其是否可行的过程。,项目论证与评估的内容、程序和依据大同小异,只是侧重点稍有不同,有时不加区分或合并进行。,41,4.3 项目论证、评估与立项,4.3.2,项目可行性报告的真实性评估,项目申请单位的资质真实性评估,项目申请单位的财务真实性评估,项目申请单位的技术真实性评估,其他事项的真实性评估,42,4.3 项目论证、评估与立项,4.3.3,项目可行性报告的客观性评估,技术创新点的客观性评估,技术先进性与成熟性的客观性评估,信息安全措施的客观性评估,采用标准、规范的先进性、合理性评估,项目风险及应对方案的客观性评估,其他事项的客观性评估,43,4.3 项目论证、评估与立项,4.3.4,评估报告,项目概况,评估目标,评估依据,评估内容,评估机构与评估专家,评估过程,详细评估意见,存在或遗漏的重大问题,潜在的风险,评估结论,进一步的建议,44,4.3 项目论证、评估与立项,4.3.5 项目立项,项目立项的决定应当由项目团队之外的、适当级别的、并为项目出资的项目发起人或投资人作出,通常以项目立项决定(通知)书、项目批文、项目许可证书和项目任务书等形式发布。,45,4.4,项目开发计划,1引言,2引用文件,3项目最终成果,4需求与约束,5系统开发总体计划,6项目开发详细计划,7进度表与活动网络图,8项目组织与资源,9培训,10项目估算,11风险管理,12支持条件,13注解,14附录,46,4.5 小节,软件项目规划的任务主要包括项目策划、可行性研究、论证、评估、立项与项目开发计划的制订工作。,项目策划,也称项目机会研究,其目的是选择投资机会、鉴别投资方向。,项目可行性分析的目的是确定以下问题:项目有无必要?能否完成?是否值得去做?,项目论证与评估的目的是审查项目可行性研究的可靠性、真实性和客观性,为项目主管部门或投资机构的立项决策提供科学依据。,项目开发计划是项目规划阶段的重要成果,编写软件项目开发计划时可依据GB/T 8567-2006 计算机软件文档编制规范中的软件开发计划模版。,47,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,48,第5章 系统分析方法学,系统需求分析与软件需求分析,结构化分析,原型化方法,面向对象的分析,49,5.1 系统需求分析与软件需求,系统需求:系统总体功能和业务结构;硬件系统需求;软件系统需求;硬件系统和软件系统之间的接口需求。,软件需求:软件能力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;安全性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求。,50,5.2 结构化分析,结构化分析(SA)方法是一种面向数据流的需求分析方法,基本思想是自顶向下逐层分解。,数据流图(DFD)和数据字典(DD)是结构化分析最常用的工具。,数据流图用来描述数据流从输入到输出的变换流程。,数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。,数据流图和数据字典共同构成系统的逻辑模型。,51,5.3 原型化方法,5.3.1,原型化方法与结构化方法的比较,结构化方法的假设:所有的需求都能被预先定义;修改定义不完备的系统代价昂贵且实施困难;项目参加者之间能够清晰进行准确的通信;静态描述或图形模型对应用系统的反映是充分的;结构化方法的生命周期的各阶段都是固有正确的。,原型化方法的假设:并非所有的需求在系统开发以前都能准确地说明;有快速的系统建造工具;项目参加者之间通常都存在通信上的障碍;需要实际的、可供用户参与的系统模型;需求一旦确定,就可以遵从严格的方法;大量的反复是不可避免的、必要的,应该加以鼓励。,52,5.3 原型化方法,5.3.2,原型生命周期及其策略,原型生命周期划分:选择开发方法;识别基本需求;开发工作模型;模型验证;修正和改进;判定原型完成;差别细部说明;严格说明细部;判定原型效果;整理原型和提供文档。,原型化的策略:建立数据模型;利用组合工程;剪裁和粘贴;用系统举例;字典驱动;文档的自动化;小的原型化队伍;交互式开发平台;陈述性规格说明;终端用户报表生成器;专业原型化人员;开发人员参加原型化。,53,5.4 面向对象的分析,5.4.1,面向对象方法学概述,对象与封装,类,继承与多态性,消息通信,面向对象方法学的优点,54,5.4 面向对象的分析,5.4.2,面向对象的分析方法,OMT方法简介,建立对象模型,建立动态模型,建立功能模型,55,5.5 小节,系统分析涉及系统需求的获取、分析、规格说明和确认。系统需求可分为以下几个方面:系统总体功能和业务结构、硬件系统需求、软件系统需求、硬件系统和软件系统之间的接口需求。,常用的系统分析方法包括结构化分析、原型化方法和面向对象的分析。,56,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,57,第6章 统一建模语言,统一建模语言概述,用例图,类图和对象图,交互图,状态图,活动图,构件图,部署图,58,6.1 统一建模语言概述,UML是一种语言,UML是一种可视化语言,UML是一种可用于详细描述的语言,UML是一种构造语言,UML是一种文档化语言,59,6.2 用例图,60,6.3 类图和对象图,61,6.4 交互图,62,6.5 状态图,63,6.6 活动图,64,6.7 构件图,65,6.8 部署图,66,6.9 小节,统一建模语言(UML)是一种面向对象的可视化标准建模语言,主要包括类图、对象图、协作图、状态图、活动图、构件图和部署图等。其中,类图、对象图、构件图和部署图用于表现系统架构,称为静态视图;协作图、状态图和活动图用于表现系统行为,称为动态视图。,67,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,68,第7章 系统分析文档,系统/子系统需求规格说明,接口需求规格说明,软件需求规格说明,69,7.1,系统/子系统需求规格说明,引言,引用文件,需求:要求的状态和方式;需求概述;系统能力需求;系统外部接口需求;系统内部接口需求;系统内部数据需求;适应性需求;安全性需求;保密性和私密性需求;操作需求;可使用性、可维护性、可移植性、可靠性和安全性需求;故障处理需求;系统环境需求;计算机资源需求;系统质量需求;设计和构造的约束;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求;需求的优先次序和关键程度,合格性规定,需求可追踪性,非技术性需求,尚未解决的问题,注解,附录,70,7.2 接口,需求规格说明,引言,引用文件,需求,合格性规定,需求可追踪性,注解,附录,71,7.3 软件,需求规格说明,引言,引用文件,软件需求:要求的状态和方式;需求概述;需求规格;软件能力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;安全性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求;需求的优先次序和关键程度,合格性规定,需求可追踪性,尚未解决的问题,注解,附录,72,7.4 小节,根据GB/T 8567-2006 计算机软件文档编制规范(Specification for computer software documentation),系统分析文档主要包括系统/子系统需求规格说明(SSS)、接口需求规格说明(IRS)和软件需求规格说明(SRS)。,系统/子系统需求规格说明(SSS)为一个系统或子系统指定需求以及保证每个需求得到确认所使用的方法。,接口需求规格说明(IRS)描述为实现一个或多个系统、子系统、硬件配置项(HWCI)、计算机软件配置项(CSCI)、用户,软件需求规格说明(SRS)描述对计算机软件的需求以及确保每个需求得到确认所使用的方法。,73,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,74,第8章 系统设计基础,系统设计概述,软件设计概述,设计原则,设计视图,75,8.1 系统设计概述,8.1.1,系统级设计决策,系统级设计决策,是指系统行为的设计决策(忽略其内部实现,从用户角度出发,描述系统将怎样运转以满足需求)和其他对系统部件的选择和设计产生影响的的决策。,系统级设计决策内容:有关系统接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的系统行为的设计决策;系统数据库/数据文件如何呈现给用户的设计决策;为满足安全性、保密性和私密性需求所选用的方法;硬件或硬软件系统的设计和构造选择;为了响应需求而作出的其他系统级设计决策。,76,8.1 系统设计概述,8.1.2,系统架构设计,总体设计,系统部件设计,动态交互设计,接口设计,77,8.1 系统设计概述,8.1.3,运行设计,系统初始化说明本系统的初始化过程。,运行控制说明对系统施加不同的外界运行控制时所引起的各种不同的运行组件组合、每种运行所经历的内部组件和支持软件、每一种外界运行控制的方式方法和操作步骤、每种运行组件组合将占用各种资源的情况以及系统运行时的安全控制。,运行结束说明本系统运行的结束过程。,78,8.1 系统设计概述,8.1.4,系统出错处理设计,出错信息包括出错信息表、故障处理技术等。,补救措施说明故障出现后可能采取的补救措施。,79,8.1 系统设计概述,8.1.5,系统维护设计,检测点的设计说明在系统中专门安排用于系统检查与维护的检测点。,检测专用组件的设计说明在系统中专门安排用于系统检查与维护的专用组件。,80,8.2 软件设计概述,8.2.1,软件级设计决策,软件级设计决策是指软件行为的设计决策(忽略其内部实现,从用户角度出发,描述软件将怎样运转以满足需求)和其他影响组成该软件的软件配置项的选择与设计的决策。,软件级设计决策内容:有关软件接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的软件行为的设计决策;有关数据库/数据文件如何呈现给用户的设计决策;为满足安全性、保密性和私密性需求所选用的方法;为响应需求而作出的其他软件级设计决策。,81,8.2 软件设计概述,8.2.2,软件架构设计,程序结构设计,全局数据结构设计,软件配置项设计,动态交互设计,接口设计,82,8.2 软件设计概述,8.2.3,软件详细设计,软件配置项设计决策,软件配置项设计中的约束、限制或非常规特征,软件配置项使用的编程语言考虑,软件配置项使用的过程式命令选取,软件配置项的局部数据与软件配置项的输入或输出数据设计,软件配置项的逻辑设计,83,8.3 设计原则,8.3.1,组件化,组件的可分解性,组件的可组装性,组件的可理解性,组件的连续性,组件的保护性,84,8.3 设计原则,8.3.2 抽象,抽象就是抽出事物的本质特性而暂时忽略其细节,使得不同的事物可以当作相同的事务来处理。,软件工程过程的每一步都是对软件解法的抽象层次的一次精化。,软件设计中的抽象机制主要包括类、模板、过程抽象、数据抽象和控制抽象。,85,8.3 设计原则,8.3.3,内聚与耦合,内聚是指一个组件内各个元素彼此结合的紧密程度,内聚种类(由低到高排列):偶然内聚;逻辑内聚;瞬时内聚;过程内聚;通信内聚;顺序内聚;功能内聚,耦合是指一个软件结构内不同组件之间的互连程度,耦合种类(由高到低排列):内容耦合;公共耦合;外部耦合;控制耦合;标记耦合;数据耦合;非直接耦合,组件的高内聚、低耦合原则称为组件独立原则,86,8.3 设计原则,8.3.4,封装与信息隐蔽,第一,组件是其全部属性和全部服务紧密结合而形成的一个不可分割的整体。,第二,组件是一个不透明的黑盒子,表示组件状态的数据和实现操作的代码都被封装在黑盒子里面。使用一个组件的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法。,87,8.3 设计原则,8.3.5,启发式规则,深度、宽度、扇出与扇入,作用域和控制域,功能的可预测性,88,8.4 设计视图,8.4.1,架构视图(静态视图),架构描述语言(ADL),类图与对象图,组件图,协作责任卡(CRC),部署图,实体-联系图(E-R图),接口描述语言(IDL),结构图,Jackson结构图,89,8.4 设计视图,8.4.2 行为,视图(动态视图),活动图,协作图,顺序图,数据流图,决策表和决策图,流程图和结构化流程图,状态图,形式化描述语言,伪码,90,8.5 小节,系统设计是定义一个系统或软件的架构、组件、接口和其它特征的过程。包括系统级设计决策、系统架构设计、运行设计、系统出错处理设计和系统维护设计。,软件设计主要包括软件级设计决策、软件架构设计(概要设计)与详细设计。软件架构设计的主要任务是程序结构设计、全局数据结构设计、软件配置项设计、动态交互设计和接口设计。软件详细设计是指每一个软件配置项的具体设计。,组件化、抽象、高内聚与低耦和、封装与信息隐蔽是软件设计的基本原则。,软件设计视图通常可分为架构视图(静态视图)和行为视图(动态视图)两类。,91,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,92,第9章 系统设计方法,结构化设计,面向数据结构的设计,面向对象的设计,设计模式,93,9.1 结构化设计,9.1.1,结构化设计方法概述,分析系统的总体需求,并将需求逐步分解为基本、具体的功能。,确定每个功能应当记录的数据。,列出系统中应提供的各项基本功能,并分析各项基本功能之间的耦合关系,根据高内聚、低耦和的原则分配到系统中适当的模块中。,94,9.1 结构化设计,9.1.2,系统结构图,模块,调用,数据,控制,转接符号,95,9.1 结构化设计,9.1.3,系统结构图分类,变换流与事务流,变换型系统结构图,事务型系统结构图,混合型系统结构图,96,9.2 面向数据结构的设计,9.2.1,面向数据结构的设计概述,分析并建立适合系统的数据结构;,根据数据结构在相应的层次建立程序结构;,罗列出程序中用到的各种基本操作,并将这些基本操作分配到程序结构中合适的模块中。,97,9.2 面向数据结构的设计,9.2.2,Jackson图,顺序结构,选择结构,重复结构,改进的Jackson图,98,9.2 面向数据结构的设计,9.2.3,Jackson方法,分析并确定输入和输出数据的逻辑结构,并利用Jackson图将这些数据结构描绘出来。,找出输入和输出数据结构中存在对应关系的数据单元。,从描绘数据结构的Jackson图导出描绘程序结构的Jackson图。,列出所有操作和条件(包括分支条件和循环结束条件),并且把它们安排到程序结构图的适当位置。,用伪代码表示。,99,9.3 面向对象的设计,9.3.1,面向对象的设计概述,面向对象设计的基本思想是通过建立和客观实际相对应的对象,并通过这些对象的组合来创建具体的应用。,面向对象设计具有基于抽象、信息隐藏、功能独立和模块性构造系统的能力。,对于面向对象的系统,可以定义一个四个层次的设计金字塔:子系统层;类及对象层;消息层;责任层。,100,9.3 面向对象的设计,9.3.2,面向对象设计技术,Coad/Yourdon方法,Booch方法,OMT方法,101,9.3 面向对象的设计,9.3.3,面向对象设计过程,系统设计过程:将分析模型划分为子系统;子系统分配及与问题的并发性;任务管理;数据管理;资源管理;人机界面;子系统间通信,对象设计过程:对象描述;算法与数据结构设计;接口设计与模块化,102,9.4 设计模式,9.4.1,设计模式概述,设计模式就是将面向对象软件的设计经验记录下,可供设计者能够复用的设计方案。,设计模式极大提高了面向对象软件开发的效率,降低了软件的复杂度。,在软件设计中使用设计模式,将使用开发出来的软件更容易理解、更容易维护、更容易扩展,使用设计模式同时也能够提高开发团队和个人的开发能力。,103,9.4 设计模式,9.4.2,设计模式基本组成,模式名称:惟一标识一个设计模式。,问题:描述应该在何时使用该模式。,解决方案:描述设计的组成要素,以及它们之间的相互关系及各自的职责与相互之间协作的方式。,效果:描述应用设计模式的效果,以及使用设计模式必须考虑的限制和约束因素。,104,9.4 设计模式,9.4.3,设计模式分类,面向对象模式,代码模式,框架应用模式,创建型模式、结构型模式与行为型模式,类模式与对象模式,105,9.4 设计模式,9.4.4 如何使用,设计模式,针对接口编程,而不是针对实现编程,优先使用对象组合,而不是类继承,找出变化并封装,106,9.5 小节,系统设计是一系列迭代的过程,主要任务包括数据结构、体系结构、接口及过程细节的设计等,而设计方法是软件设计活动中实现设计模型的方法。,系统设计方法主要包括面向过程的结构化设计方法、面向数据结构的设计,以及面向对象的设计方法与设计模式。,107,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,108,第10章 数据库设计,数据建模,数据规范化,数据库设计过程,109,10.1 数据建模,10.1.1,数据模型分类,概念数据模型,结构数据模型,物理数据模型,110,10.1 数据建模,10.1.2,实体-联系(E-R)模型,实体,属性,联系,实体型,实体集,键,域,111,10.1 数据建模,10.1.3,数据模型,层次数据模型(hierarchical model),网状数据模型(network model),关系数据模型(relational model),面向对象模型(object oriented model),112,10.2 数据规范化,10.2.1,数据规范化的基本概念,函数依赖,非平凡函数依赖,完全函数依赖,部分函数依赖,传递函数依赖,键,113,10.2 数据规范化,10.2.2,范式,第一范式(1NF),第二范式(2NF),第三范式(3NF),BC范式(BCNF),114,10.3 数据库设计过程,10.3.1,数据库需求分析,数据边界的确定,数据环境的确定,数据内部关系,数据字典,数据性能需求,数据需求分析说明书,115,10.3 数据库设计过程,10.3.2,数据库概念设计,概念设计与概念模型,概念设计的主要方法,分解与抽象,局部概念模式,全局概念模式,116,10.3 数据库设计过程,10.3.3,数据库逻辑设计,初始模式的形成,子模式设计,应用程序概要设计,模式评审,修正模式,117,10.3 数据库设计过程,10.3.4,数据库物理设计,存储记录结构设计,确定数据存放位置,存取方法设计,完整性和安全考虑,程序设计,118,10.4 小节,数据库系统普遍采取数据模型表示和处理客观事物的数据特征与信息。数据模型主要由数据结构、数据操作和完整性约束三部分组成,从抽象层次上描述和模拟了系统的静态特征、动态行为和约束条件。,关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库中常用的范式包括:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。,数据库设计主要包括需求分析、概念设计、逻辑设计和物理设计等几个阶段。,119,21世纪高等院校计算机系列教材,软件系统分析与设计,殷建民 主编,刘东瑰 赵良军 欧阳默 副主编,中国水利水电出版社,120,第11章 用户界面设计,基本概念,界面设计技术,界面设计评估,界面设计案例,121,11.1 基本概念,11.1.1,界面设计目标,可用性目标:可行性、有效性、易学性、易记性、安全性、通用性,用户体验目标:令人满意、令人愉快、引人入胜、富有启发、激发创造,可用性目标主要从客观角度来评价系统界面,而用户体验目标则是从用户主观感受的角度来评价系统界面。,122,11.1 基本概念,11.1.2,界面设计原则,可视性:将系统功能呈现得一目了然。,反馈性:返回与活动相关的信息,以便用户能够继续这个活动。,限制性:将用户的行为限制在一定的范围内。,对应性:明确系统某个控制与其控制效果之间的对应关系。,一致性:用相似的元素表现相似的操作或相似的任务。,启示性:界面元素应给予用户某种提示。,123,11.1 基本概念,11.1.3,界面设计过程,标识出用户的真实需要并建立需求模型,设计出候选方案,构建或实现设计的原型版本,对界面设计进行评估,124,11.2 界面设计技术,11.2.1,界面设计分析技术,GOMS模型及GOMS击键层模型,Hick律,Fitts律,125,11.2 界面设计技术,11.2.2,界面设计方法,原型设计方法,以用户为中心的设计方法,用户界面设计的支持工具,126,11.3 界面设计评估,11.3.1,构造性评估与总结性评估,构造性评估:在设计过程中对所设计的系统或产品界面进行评估以确保其满足用户需求。,总结性评估:对已经完成的产品或系统界面进行评估。,127,11.3 界面设计评估,11.3.2,评估范型,快速评估,可用性测试,实- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统分析 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文