《软件系统分析与设计.docx》由会员分享,可在线阅读,更多相关《软件系统分析与设计.docx(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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 Proce) l 软
2、件工程工具和方法(Software 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
3、 演化模型(evolutionary model) l 增量模型(incremental model) l 螺旋模型(spiral model) l 喷泉模型(water fountain model) 1. 3软件质量模型与软件质量管理 l 1.3.1 软件质量模型 l 软件产品的内部质量、外部质量和运用质量 l 质量特性、质量子特性和度量 l 功能性:相宜性、精确性、互用性、依从性、平安性 l 牢靠性:成熟性、容错性、可复原性 l 可用性:可理解性、易学性、可操作性 l 效率:时间特性、资源特性 l 可维护性:可分析性、可修改性、稳定性、可测试性 l 可移植性:适应性、易安装性、一样性、可
4、替换性 l 1.3.2 软件质量管理 l 质量需求分析 l 质量安排 l 质量保证 l 质量限制 l 质量改进 l 软件质量管理体系 l l l l l l l l l l l l l l l l l l l l l l l l l l l l 1. 4软件配置管理 l 1.4.1 软件配置项与基线 计算机软件配置项(CSCI) 基线(baseline) 功能基线(functional baseline) 指派基线(allocated baseline) 产品基线(product baseline) l 1.4.2 软件配置管理过程 对象标识 版本限制 改变限制 配置审计 配置报告 1. 5软
5、件过程管理 l 1.5.1 软件实力成熟度模型(CMM) CMM的5个等级:初始级、可重复级、已定义级、已管理级、优化级 CMM的关键过程域(KPA):需求管理、软件项目安排、软件项目跟踪和监控、软件子合同管理、软件质量保证、软件配置管理、组织级过程焦点、组织级过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审、定量过程管理、软件质量管理、缺陷预防、技术变更管理、过程变更管理 l 1.5.2 软件过程与软件实力成熟度评估 第一步,建立评估组 其次步,填写提问单 第三步,响应分析 第四步,现场考察 第五步,提出调查发觉清单 第六步,制作关键过程域(KPA)剖面图 l 1.5.3
6、软件过程改进 第一步,比较“目标状态”与“目前状态”,找出全部差距 其次步,确定改进目标 第三步,制定改进安排 第四步,执行改进安排 第五步,总结本轮改进阅历,起先下一轮改进 1.6 小节 软件工程学是探讨如何有效地组织和管理软件开发的工程学科。 软件产品所要经验的安排、分析、设计、编程、测试、维护直至被淘汰这样一个全过程被称为软件生存周期。用不同的方式将软件生命周期中的全部开发活动组织起来,可以形成不同的软件开发模型。 软件质量就是软件与明确地和隐含地定义的需求相一样的程度。软件质量管理是指软件开发机构为保证软件项目满意客户需求所要实施的质量活动。 软件配置管理是在软件的整个生命期内管理改变
7、的一组活动,目标是使改变更正确且更简单被适应。 软件过程是指人们用于开发和维护软件及其相关产品的一系列活动,包括软件工程过程和软件管理过程。软件过程管理的目的就是提升软件组织的提高软件开发实力。 l 1.l 1.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 第2章 项目管理基础学问 2. 1项目与项目管理 l 2.1.1 项目 项目是在特定条件下、具有特定目标的一次性任务,是在肯定时间内、满意一系列特定目标的多项相关工作的总和。 项目的临时性 项目的独特性 项目的渐进性 2.1.2 项目管理 项目管理就是将各种学问、技能、工
8、具和技术应用于项目之中,以达到项目的要求。 项目范围 项目时间 项目成本 项目质量 2. 2项目管理过程与过程组 l 2.2.1 过程与过程组 过程就是一组为了完成一系列事先指定的产品、服务或成果而需执行的相互联系的行动和活动。软件项目管理过程可归纳为五个过程组。 启动过程组(initiating proce group) 规划过程组(planning proce group) 实施过程组(executing proce group) 监控过程组(monitoring and controlling proce group) 收尾过程组(closing proce group) l 2.2.2
9、 项目管理过程的交互作用 项目管理过程并不是互不相干的一次性事务 项目管理过程组之间是一种前后连接、承前启后的关系 项目管理过程组之间有时又是一种时间交织、空间并行的关系 项目管理过程组之间还是一种信息收集、存储、处理和传递的关系 某些过程组的关联具有重复迭代性 规划过程组、执行过程组和监控过程组之间形成一种闭环的关系 过程组的交互作用往往还会跨越项目阶段 项目阶段和过程之间有相互联系 l 2.2.3 项目管理过程的裁剪 不同类型的软件项目应选用不同的项目管理过程 不同阶段的软件项目应选用不同的项目管理过程 不同软件项目的管理过程会有不同的详细过程 不同软件项目的管理过程会有不同的详细过程依次
10、 不同软件项目的管理过程会有不同的条件与约束 不同软件项目的管理过程会有不同的简化程度 不同软件项目的管理过程须要不同的集成程度 项目变更会使项目管理过程随之改变 2. 3项目管理学问体系 项目综合管理 项目范围管理 l l l l l l l l l l 项目时间管理 项目成本管理 项目质量管理 项目人力资源管理 项目沟通管理 项目风险管理 项目选购管理 2. 4小节 项目管理就是将项目管理学问、技能、工具和技术应用于项目活动之中,可以将软件项目管理活动视做一系列相互联系的过程。 项目管理过程可归纳为5个过程组:启动过程组、规划过程组、实施过程组、监控过程组与收尾过程组。 项目管理包括9个学
11、问领域:项目综合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理与项目选购管理。 第3章 软件开发技术 3. 1软件开发平台 l 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服务支持。 l 3.1.2 J2EE平
12、台 组件-容器:搭建体系架构 平台标准服务 多层应用模型 3.1.3 Microsoft .NET与J2EE的异同 类似的平台基础构造 相同的三层/多层体系 不同的移植、性能和扩展 在Web支持方面的比较 第三方厂商的支持 潜在的市场 3. 2中间件技术 l 3.2.1 中间件简介 终端仿真/屏幕转换中间件 数据访问中间件 远程过程调用中间件 消息中间件 交易中间件 对象中间件 Web服务器中间件 平安中间件 l 3.2.2 消息代理中间件 l l l l l l l 1.l l 1. l l l l l l l l l l l l l l l l l l l l l l l l l l l
13、l l l l l l l 构件化的结构 可复原性、易于管理、敏捷性 具有数据转换设施。 牢靠高效的通信 多样的管理实力 丰富的应用开发环境 l 3.2.3 面对数据库的中间件 ODBC JDBC 数据库网关 3. 3构件技术 l 3.3.1 构件库 构件的存储 构件的分类与检索机制 构件库的编目 构件库的管理和维护 l 3.3.2 构件模型 3C模型 刻面(Facet)模型 青鸟模型 l 3.3.3 构件的属性与特点 构件是可独立配置的单元,构件必需自包涵。 构件强调与环境和其他构件的分别,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的实现细微环节。 构件可以在适当的环境中被复
14、合运用,因此构件须要供应清晰的接口规范,可以与环境交互。 构件没有个体特有的属性,最多仅有特定构件的一份副本。 l 3.3.4 构件与中间件 中间件,本质上是对分布式应用的抽象,中间件与系统架构事实上是从两种不同的角度看待软件的中间层次。 中间件促进了构件化软件,基于中间件开发的应用系统是构件化的,中间件供应了构件的体系结构,极大提高了构件化软件开发的效率和质量。 构件化的软件设计思想在中间件发展中起到了重要的作用 。 3. 4小节 Microsoft .NET平台和J2EE平台是目前最常用的两大软件开发平台。作为彼此竞争的应用平台,Microsoft .NET平台和J2EE平台在目标和体系结
15、构上极其相像,但在实现上又完全不同。二者总的关系是:异中有同,同中有异。 中间件是处于操作系统和应用程序之间的软件。中间件保持了平台的透亮性,抽象了典型的应用模式。应用软件开发者可以基于标准的中间件进行再开发,而不必再考虑操作系统的问题。 构件是可复用的软件成份,可被用来构造其他软件。中间件促进了构件化软件,应用系统在中间件供应的环境中可以更好地集中于业务逻辑上,并以构件的形式存在。构件思想也反过来推动了中间件的发展。 第4章 软件项目规划 4. 1项目策划 l 1.l 1.从政策导向中找寻项目机会 从市场需求中找寻项目机会 从技术发展中找寻项目机会 从特定事务中找寻项目机会 4. 2项目可行
16、性分析 4.2.1 技术可行性分析 l l l l l 1.l l l l l l l l l 项目的必要性分析 软件组织水平与实力分析 项目技术来源分析 与项目相关的专利分析 项目负责人及技术骨干的资质分析 项目总体技术方案分析 项目创新点分析 项目技术风险分析 项目技术成熟性分析 l 4.2.2 项目投资及效益分析 项目投资预算分析 项目投资来源分析 市场需求与产品销售额分析 产品成本、利润与盈亏平衡点分析 投资回收期、投资收益率分析 社会效益分析 4. 3项目论证、评估与立项 l 4.3.1 项目论证与评估的基本概念 项目论证是指对拟实施项目技术上的先进性、成熟性、适用性,经济上的合理性
17、、盈利性,实施上的可能性、风险性进行全面科学的综合分析,为项目决策供应客观依据的一种技术经济探讨活动。 项目评估指在项目可行性探讨的基础上,项目投资者或项目主管部门或其托付的第三方权威机构依据国家颁布的政策、法律、法规、标准和技术规范,对拟开发项目的市场需求、技术先进性和成熟性、预期经济效益和社会效益等进行评价、分析和论证,进而推断其是否可行的过程。 项目论证与评估的内容、程序和依据大同小异,只是侧重点稍有不同,有时不加区分或合并进行。 l 4.3.2 项目可行性报告的真实性评估 项目申请单位的资质真实性评估 项目申请单位的财务真实性评估 项目申请单位的技术真实性评估 其他事项的真实性评估 l
18、 4.3.3 项目可行性报告的客观性评估 技术创新点的客观性评估 技术先进性与成熟性的客观性评估 l l l l l l l l l l l l l 信息平安措施的客观性评估 采纳标准、规范的先进性、合理性评估 项目风险及应对方案的客观性评估 其他事项的客观性评估 l 4.3.4 评估报告 l 项目概况 l 评估目标 l 评估依据 l 评估内容 l 评估机构与评估专家 l 评估过程 l 具体评估看法 l 存在或遗漏的重大问题 l 潜在的风险 l 评估结论 l 进一步的建议 l 4.3.5 项目立项 项目立项的确定应当由项目团队之外的、适当级别的、并为项目出资的项目发起人或投资人作出,通常以项目
19、立项确定(通知)书、项目批文、项目许可证书和项目任务书等形式发布。 4. 4项目开发安排 l 1引言 l 2引用文件 l 3项目最终成果 l 4需求与约束 l 5系统开发总体安排 l 6项目开发具体安排 l 7进度表与活动网络图 l 8项目组织与资源 l 9培训 l 10项目估算 l 11风险管理 l 12支持条件 l 13注解 l 14附录 4. 5小节 l 软件项目规划的任务主要包括项目策划、可行性探讨、论证、评估、立项与项目开发安排的制订工作。 l 项目策划,也称项目机会探讨,其目的是选择投资机会、鉴别投资方向。 l 项目可行性分析的目的是确定以下问题:项目有无必要?能否完成?是否值得去
20、做? l 项目论证与评估的目的是审查项目可行性探讨的牢靠性、真实性和客观性,为项目主管部门或投资机构的立项决策供应科学依据。 l 项目开发安排是项目规划阶段的重要成果,编写软件项目开发安排时可依据GB/T 8567-2006 计算机软件文档编制规范中的软件开发安排模版。 l l l l l l l l l l l l l l l l l l l l 第5章 系统分析方法学 5. 1系统需求分析与软件需求 系统需求:系统总体功能和业务结构;硬件系统需求;软件系统需求;硬件系统和软件系统之间的接口需求。 软件需求:软件实力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;平安
21、性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求。 5. 2结构化分析 结构化分析(SA)方法是一种面对数据流的需求分析方法,基本思想是自顶向下逐层分解。 数据流图(DFD)和数据字典(DD)是结构化分析最常用的工具。 数据流图用来描述数据流从输入到输出的变换流程。 数据字典是关于数据的信息的集合,也就是对数据流图中包含的全部元素的定义的集合。 数据流图和数据字典共同构成系统的逻辑模型。 5. 3原型化方法 l 5.3.1 原型化方法与结构化方法的比
22、较 结构化方法的假设:全部的需求都能被预先定义;修改定义不完备的系统代价昂贵且实施困难;项目参与者之间能够清楚进行精确的通信;静态描述或图形模型对应用系统的反映是充分的;结构化方法的生命周期的各阶段都是固有正确的。 原型化方法的假设:并非全部的需求在系统开发以前都能精确地说明;有快速的系统建立工具;项目参与者之间通常都存在通信上的障碍;须要实际的、可供用户参加的系统模型;需求一旦确定,就可以遵从严格的方法;大量的反复是不行避开的、必要的,应当加以激励。 l 5.3.2 原型生命周期及其策略 原型生命周期划分:选择开发方法;识别基本需求;开发工作模型;模型验证;修正和改进;判定原型完成;差别细部
23、说明;严格说明细部;判定原型效果;整理原型和供应文档。 原型化的策略:建立数据模型;利用组合工程;剪裁和粘贴;用系统举例;字典驱动;文档的自动化;小的原型化队伍;交互式开发平台;陈述性规格说明;终端用户报表生成器;专业原型化人员;开发人员参与原型化。 5. 4面对对象的分析 l 5.4.1 面对对象方法学概述 对象与封装 类 继承与多态性 消息通信 面对对象方法学的优点 l 5.4.2 面对对象的分析方法 OMT方法简介 建立对象模型 建立动态模型 建立功能模型 l l l l l l l l l l l l 1.l l 1.l l l l l l l l l l l 5. 5小节 系统分析涉
24、及系统需求的获得、分析、规格说明和确认。系统需求可分为以下几个方面:系统总体功能和业务结构、硬件系统需求、软件系统需求、硬件系统和软件系统之间的接口需求。 常用的系统分析方法包括结构化分析、原型化方法和面对对象的分析。 第7章 系统分析文档 7. 1系统/子系统需求规格说明 引言 引用文件 需求:要求的状态和方式;需求概述;系统实力需求;系统外部接口需求;系统内部接口需求;系统内部数据需求;适应性需求;平安性需求;保密性和私密性需求;操作需求;可运用性、可维护性、可移植性、牢靠性和平安性需求;故障处理需求;系统环境需求;计算机资源需求;系统质量需求;设计和构造的约束;相关人员需求;相关培训需求
25、;相关后勤需求;包装需求;其他需求;需求的优先次序和关键程度 合格性规定 需求可追踪性 非技术性需求 尚未解决的问题 注解 附录 7. 2接口需求规格说明 引言 引用文件 需求 合格性规定 需求可追踪性 注解 附录 7. 3软件需求规格说明 引言 引用文件 软件需求:要求的状态和方式;需求概述;需求规格;软件实力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;平安性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求;需求的优先次序
26、和关键程度 合格性规定 需求可追踪性 尚未解决的问题 注解 附录 7. 4小节 依据GB/T 8567-2006 计算机软件文档编制规范(Specification for computer l l l l l l l l l l l l l l l l l l software documentation),系统分析文档主要包括系统/子系统需求规格说明(SSS)、接口需求规格说明(IRS)和软件需求规格说明(SRS)。 系统/子系统需求规格说明(SSS)为一个系统或子系统指定需求以及保证每个需求得到确认所运用的方法。 接口需求规格说明(IRS)描述为实现一个或多个系统、子系统、硬件配置项(H
27、WCI)、计算机软件配置项(CSCI)、用户 软件需求规格说明(SRS)描述对计算机软件的需求以及确保每个需求得到确认所运用的方法。 第8章 系统设计基础 8. 1系统设计概述 l 8.1.1 系统级设计决策 系统级设计决策,是指系统行为的设计决策(忽视其内部实现,从用户角度动身,描述系统将怎样运转以满意需求)和其他对系统部件的选择和设计产生影响的的决策。 系统级设计决策内容:有关系统接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的系统行为的设计决策;系统数据库/数据文件如何呈现给用户的设计决策;为满意平安性、保密性和私密性需求所选用的方法;硬件或硬软件系统的设计和构造选择;为了响
28、应需求而作出的其他系统级设计决策。 l 8.1.2 系统架构设计 总体设计 系统部件设计 动态交互设计 接口设计 l 8.1.3 运行设计 系统初始化说明本系统的初始化过程。 运行限制说明对系统施加不同的外界运行限制时所引起的各种不同的运行组件组合、每种运行所经验的内部组件和支持软件、每一种外界运行限制的方式方法和操作步骤、每种运行组件组合将占用各种资源的状况以及系统运行时的平安限制。 运行结束说明本系统运行的结束过程。 l 8.1.4 系统出错处理设计 出错信息包括出错信息表、故障处理技术等。 补救措施说明故障出现后可能实行的补救措施。 l 8.1.5 系统维护设计 检测点的设计说明在系统中
29、特地支配用于系统检查与维护的检测点。 检测专用组件的设计说明在系统中特地支配用于系统检查与维护的专用组件。 8. 2软件设计概述 l 8.2.1 软件级设计决策 软件级设计决策是指软件行为的设计决策(忽视其内部实现,从用户角度动身,描述软件将怎样运转以满意需求)和其他影响组成该软件的软件配置项的选择与设计的决策。 软件级设计决策内容:有关软件接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的软件行为的设计决策;有关数据库/数据文件如何呈现给用户的设计决策;为满意平安性、保密性和私密性需求所选用的方法;为响应需求而作出的其他软件级设计决策。 l 8.2.2 软件架构设计 l l l l
30、 l l l l l l l 程序结构设计 全局数据结构设计 软件配置项设计 动态交互设计 接口设计 l 8.2.3 软件具体设计 软件配置项设计决策 软件配置项设计中的约束、限制或特别规特征 软件配置项运用的编程语言考虑 软件配置项运用的过程式吩咐选取 软件配置项的局部数据与软件配置项的输入或输出数据设计 软件配置项的逻辑设计 8. 3设计原则 l 8.3.1 组件化 组件的可分解性 组件的可组装性 组件的可理解性 组件的连续性 组件的爱护性 l 8.3.2 抽象 抽象就是抽出事物的本质特性而短暂忽视其细微环节,使得不同的事物可以当作相同的事务来处理。 软件工程过程的每一步都是对软件解法的抽
31、象层次的一次精化。 软件设计中的抽象机制主要包括类、模板、过程抽象、数据抽象和限制抽象。 l 8.3.3 内聚与耦合 内聚是指一个组件内各个元素彼此结合的紧密程度 内聚种类(由低到高排列):偶然内聚;逻辑内聚;瞬时内聚;过程内聚;通信内聚;依次内聚;功能内聚 耦合是指一个软件结构内不同组件之间的互连程度 耦合种类(由高到低排列):内容耦合;公共耦合;外部耦合;限制耦合;标记耦合;数据耦合;非干脆耦合 组件的高内聚、低耦合原则称为组件独立原则 l 8.3.4 封装与信息隐藏 第一,组件是其全部属性和全部服务紧密结合而形成的一个不行分割的整体。 其次,组件是一个不透亮的黑盒子,表示组件状态的数据和
32、实现操作的代码都被封装在黑盒子里面。运用一个组件的时候,只需知道它向外界供应的接口形式,无须知道它的数据结构细微环节和实现操作的算法。 l 8.3.5 启发式规则 深度、宽度、扇出与扇入 作用域和限制域 功能的可预料性 8. 4设计视图 l 8.4.1 架构视图(静态视图) 架构描述语言(ADL) l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 类图与对象图 组件图 协作责任卡(CRC) 部署图 实体-联系图(E-R图) 接口描述语言(IDL) 结构图 Jackson结构图 l 8.
33、4.2 行为视图(动态视图) 活动图 协作图 依次图 数据流图 决策表和决策图 流程图和结构化流程图 状态图 形式化描述语言 伪码 8. 5小节 系统设计是定义一个系统或软件的架构、组件、接口和其它特征的过程。包括系统级设计决策、系统架构设计、运行设计、系统出错处理设计和系统维护设计。 软件设计主要包括软件级设计决策、软件架构设计(概要设计)与具体设计。软件架构设计的主要任务是程序结构设计、全局数据结构设计、软件配置项设计、动态交互设计和接口设计。软件具体设计是指每一个软件配置项的详细设计。 组件化、抽象、高内聚与低耦和、封装与信息隐藏是软件设计的基本原则。 软件设计视图通常可分为架构视图(静
34、态视图)和行为视图(动态视图)两类。 第9章 系统设计方法 9. 1结构化设计 l 9.1.1 结构化设计方法概述 分析系统的总体需求,并将需求逐步分解为基本、详细的功能。 确定每个功能应当记录的数据。 列出系统中应供应的各项基本功能,并分析各项基本功能之间的耦合关系,依据高内聚、低耦和的原则安排到系统中适当的模块中。 l 9.1.2 系统结构图 模块 调用 数据 限制 转接符号 l 9.1.3 系统结构图分类 变换流与事务流 变换型系统结构图 事务型系统结构图 l l l l l l l l l l l l 混合型系统结构图 9. 2面对数据结构的设计 l 9.2.1 面对数据结构的设计概述
35、 分析并建立适合系统的数据结构; 依据数据结构在相应的层次建立程序结构; 排列出程序中用到的各种基本操作,并将这些基本操作安排到程序结构中合适的模块中。 l 9.2.2 Jackson图 依次结构 选择结构 重复结构 改进的Jackson图 l 9.2.3 Jackson方法 分析并确定输入和输出数据的逻辑结构,并利用Jackson 找出输入和输出数据结构中存在对应关系的数据单元。 从描绘数据结构的Jackson图导出描绘程序结构的Jackson 列出全部操作和条件(包括分支条件和循环结束条件),并且把它们支配到程序结构图的适当位置。 用伪代码表示。 9. 3面对对象的设计 l 9.3.1 面
36、对对象的设计概述 面对对象设计的基本思想是通过建立和客观实际相对应的对象,并通过这些对象的组合来创建详细的应用。 面对对象设计具有基于抽象、信息隐藏、功能独立和模块性构造系统的实力。 对于面对对象的系统,可以定义一个四个层次的设计金字塔:子系统层;类及对象层;消息层;责任层。 l 9.3.2 面对对象设计技术 l Coad/Yourdon方法 l Booch方法 l OMT方法 l l l 9.3.3 面对对象设计过程 系统设计过程:将分析模型划分为子系统;子系统安排及与问题的并发性;任务管理;数据管理;资源管理;人机界面;子系统间通信 对象设计过程:对象描述;算法与数据结构设计;接口设计与模
37、块化 9. 4设计模式 l 9.4.1 设计模式概述 设计模式就是将面对对象软件的设计阅历记录下,可供设计者能够复用的设计方案。 设计模式极大提高了面对对象软件开发的效率,降低了软件的困难度。 在软件设计中运用设计模式,将运用开发出来的软件更简单理解、更简单维护、更简单扩展,运用设计模式同时也能够提高开发团队和个人的开发实力。 l 9.4.2 设计模式基本组成 模式名称:惟一标识一个设计模式。 问题:描述应当在何时运用该模式。 l l l l l l l l l l l l l l l l l l l l l 解决方案:描述设计的组成要素,以及它们之间的相互关系及各自的职责与相互之间协作的方式
38、。 l 效果:描述应用设计模式的效果,以及运用设计模式必需考虑的限制和约束因素。 l 9.4.3 设计模式分类 l 面对对象模式 l 代码模式 l 框架应用模式 l 创建型模式、结构型模式与行为型模式 l 类模式与对象模式 l 9.4.4 如何运用设计模式 l 针对接口编程,而不是针对实现编程 l 优先运用对象组合,而不是类继承 l 找出改变并封装 9. 5小节 l 系统设计是一系列迭代的过程,主要任务包括数据结构、体系结构、接口及过程细微环节的设计等,而设计方法是软件设计活动中实现设计模型的方法。 l 系统设计方法主要包括面对过程的结构化设计方法、面对数据结构的设计,以及面对对象的设计方法与
39、设计模式。 第10章 数据库设计 10. 1数据建模 l 10.1.1 数据模型分类 l 概念数据模型 l 结构数据模型 l 物理数据模型 l 10.1.2 实体-联系(E-R)模型 l 实体 l 属性 l 联系 l 实体型 l 实体集 l 键 l 域 l 10.1.3 数据模型 l 层次数据模型(hierarchical model) l 网状数据模型(network model) l 关系数据模型(relational model) l 面对对象模型(object oriented model) 10. 2数据规范化 l 10.2.1 数据规范化的基本概念 l 函数依靠 l 非平凡函数依靠
40、 l 完全函数依靠 l 部分函数依靠 l 传递函数依靠 l 键 l 10.2.2 范式 l l l l 第一范式(1NF) 其次范式(2NF) 第三范式(3NF) BC范式(BCNF) 10. 3数据库设计过程 l 10.3.1 数据库需求分析 l l l l l l l l l l l l l l l l l l l l l 数据边界的确定 数据环境的确定 数据内部关系 数据字典 数据性能需求 数据需求分析说明书 l 10.3.2 数据库概念设计 概念设计与概念模型 概念设计的主要方法 分解与抽象 局部概念模式 全局概念模式 l 10.3.3 数据库逻辑设计 初始模式的形成 子模式设计 应用
41、程序概要设计 模式评审 修正模式 l 10.3.4 数据库物理设计 存储记录结构设计 确定数据存放位置 存取方法设计 完整性和平安考虑 程序设计 10. 4小节 l 数据库系统普遍实行数据模型表示和处理客观事物的数据特征与信息。数据模型主要由数据结构、数据操作和完整性约束三部分组成,从抽象层次上描述和模拟了系统的静态特征、动态行为和约束条件。 l 关系数据库中的关系必需满意肯定的要求,即满意不同的范式。目前关系数据库中常用的范式包括:第一范式(1NF)、其次范式(2NF)、第三范式(3NF)和BCNF。 l 数据库设计主要包括需求分析、概念设计、逻辑设计和物理设计等几个阶段。 第11章 用户界面设计 11. 1基本概念 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 11.1.1 界面设计目标 可用性目标:可行性、有效性、易学性、易记性、平安性、通用性 用户体验目标:令人满足、令人开心、引人入胜、富有启发、激发创建 可用性目标主要从客观角度来评价系统界面,而用户体验目标则是从用户主观感受的角度来评价系统界