软件系统分析与设计(共18页).doc

上传人:飞****2 文档编号:17343896 上传时间:2022-05-23 格式:DOC 页数:18 大小:158KB
返回 下载 相关 举报
软件系统分析与设计(共18页).doc_第1页
第1页 / 共18页
软件系统分析与设计(共18页).doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《软件系统分析与设计(共18页).doc》由会员分享,可在线阅读,更多相关《软件系统分析与设计(共18页).doc(18页珍藏版)》请在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 Process)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 演化模型(evolutio

3、nary 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 可移植性:适应性、易安装性、一致性、可替换性l 1.3.2 软件质量管理l 质量需求分析

4、 l 质量计划 l 质量保证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 第四步,执行改进计划

6、 l 第五步,总结本轮改进经验,开始下一轮改进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 项目变更会使项目管理过程随之

10、变化2.3 项目管理知识体系l 项目综合管理l 项目范围管理l 项目时间管理l 项目成本管理l 项目质量管理l 项目人力资源管理l 项目沟通管理l 项目风险管理l 项目采购管理 2.4 小节l 项目管理就是将项目管理知识、技能、工具和技术应用于项目活动之中,可以将软件项目管理活动视做一系列相互联系的过程。l 项目管理过程可归纳为5个过程组:启动过程组、规划过程组、实施过程组、监控过程组与收尾过程组。l 项目管理包括9个知识领域:项目综合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理与项目采购管理。第3章 软件开发技术3.1 软件开发平

11、台l 3.1.1 Microsoft .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. 不同的移植

12、、性能和扩展l 在Web支持方面的比较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 构件库的管理

13、和维护l 3.3.2 构件模型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 构件是可复用的软件成份,可被用来构造其他软件。中间件促

15、进了构件化软件,应用系统在中间件提供的环境中可以更好地集中于业务逻辑上,并以构件的形式存在。构件思想也反过来推动了中间件的发展。 第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 项

16、目投资来源分析l 市场需求与产品销售额分析l 产品成本、利润与盈亏平衡点分析l 投资回收期、投资收益率分析l 社会效益分析4.3 项目论证、评估与立项l 4.3.1 项目论证与评估的基本概念l 项目论证是指对拟实施项目技术上的先进性、成熟性、适用性,经济上的合理性、盈利性,实施上的可能性、风险性进行全面科学的综合分析,为项目决策提供客观依据的一种技术经济研究活动。l 项目评估指在项目可行性研究的基础上,项目投资者或项目主管部门或其委托的第三方权威机构根据国家颁布的政策、法律、法规、标准和技术规范,对拟开发项目的市场需求、技术先进性和成熟性、预期经济效益和社会效益等进行评价、分析和论证,进而判断

17、其是否可行的过程。l 项目论证与评估的内容、程序和依据大同小异,只是侧重点稍有不同,有时不加区分或合并进行。l 4.3.2 项目可行性报告的真实性评估l 项目申请单位的资质真实性评估l 项目申请单位的财务真实性评估l 项目申请单位的技术真实性评估l 其他事项的真实性评估l 4.3.3 项目可行性报告的客观性评估l 技术创新点的客观性评估l 技术先进性与成熟性的客观性评估l 信息安全措施的客观性评估l 采用标准、规范的先进性、合理性评估l 项目风险及应对方案的客观性评估l 其他事项的客观性评估l 4.3.4 评估报告l 项目概况l 评估目标l 评估依据l 评估内容l 评估机构与评估专家l 评估过

18、程l 详细评估意见l 存在或遗漏的重大问题l 潜在的风险l 评估结论l 进一步的建议l 4.3.5 项目立项项目立项的决定应当由项目团队之外的、适当级别的、并为项目出资的项目发起人或投资人作出,通常以项目立项决定(通知)书、项目批文、项目许可证书和项目任务书等形式发布。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 软件项目规划的任务主要包括项目策划、可行性研究、论证、评估、立项与

19、项目开发计划的制订工作。l 项目策划,也称项目机会研究,其目的是选择投资机会、鉴别投资方向。l 项目可行性分析的目的是确定以下问题:项目有无必要?能否完成?是否值得去做?l 项目论证与评估的目的是审查项目可行性研究的可靠性、真实性和客观性,为项目主管部门或投资机构的立项决策提供科学依据。l 项目开发计划是项目规划阶段的重要成果,编写软件项目开发计划时可依据GB/T 8567-2006 计算机软件文档编制规范中的软件开发计划模版。第5章 系统分析方法学5.1 系统需求分析与软件需求l 系统需求:系统总体功能和业务结构;硬件系统需求;软件系统需求;硬件系统和软件系统之间的接口需求。l 软件需求:软

20、件能力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;安全性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求。5.2 结构化分析l 结构化分析(SA)方法是一种面向数据流的需求分析方法,基本思想是自顶向下逐层分解。 l 数据流图(DFD)和数据字典(DD)是结构化分析最常用的工具。l 数据流图用来描述数据流从输入到输出的变换流程。l 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。l 数据流图和数据

21、字典共同构成系统的逻辑模型。5.3 原型化方法l 5.3.1 原型化方法与结构化方法的比较l 结构化方法的假设:所有的需求都能被预先定义;修改定义不完备的系统代价昂贵且实施困难;项目参加者之间能够清晰进行准确的通信;静态描述或图形模型对应用系统的反映是充分的;结构化方法的生命周期的各阶段都是固有正确的。l 原型化方法的假设:并非所有的需求在系统开发以前都能准确地说明;有快速的系统建造工具;项目参加者之间通常都存在通信上的障碍;需要实际的、可供用户参与的系统模型;需求一旦确定,就可以遵从严格的方法;大量的反复是不可避免的、必要的,应该加以鼓励。l 5.3.2 原型生命周期及其策略l 原型生命周期

22、划分:选择开发方法;识别基本需求;开发工作模型;模型验证;修正和改进;判定原型完成;差别细部说明;严格说明细部;判定原型效果;整理原型和提供文档。l 原型化的策略:建立数据模型;利用组合工程;剪裁和粘贴;用系统举例;字典驱动;文档的自动化;小的原型化队伍;交互式开发平台;陈述性规格说明;终端用户报表生成器;专业原型化人员;开发人员参加原型化。5.4 面向对象的分析l 5.4.1 面向对象方法学概述l 对象与封装l 类l 继承与多态性l 消息通信l 面向对象方法学的优点l 5.4.2 面向对象的分析方法l OMT方法简介l 建立对象模型l 建立动态模型l 建立功能模型5.5 小节l 系统分析涉及

23、系统需求的获取、分析、规格说明和确认。系统需求可分为以下几个方面:系统总体功能和业务结构、硬件系统需求、软件系统需求、硬件系统和软件系统之间的接口需求。l 常用的系统分析方法包括结构化分析、原型化方法和面向对象的分析。第7章 系统分析文档7.1 系统/子系统需求规格说明l 引言l 引用文件l 需求:要求的状态和方式;需求概述;系统能力需求;系统外部接口需求;系统内部接口需求;系统内部数据需求;适应性需求;安全性需求;保密性和私密性需求;操作需求;可使用性、可维护性、可移植性、可靠性和安全性需求;故障处理需求;系统环境需求;计算机资源需求;系统质量需求;设计和构造的约束;相关人员需求;相关培训需

24、求;相关后勤需求;包装需求;其他需求;需求的优先次序和关键程度l 合格性规定l 需求可追踪性l 非技术性需求l 尚未解决的问题l 注解l 附录7.2 接口需求规格说明l 引言1. 引用文件l 需求l 合格性规定1. 需求可追踪性l 注解l 附录7.3 软件需求规格说明l 引言l 引用文件l 软件需求:要求的状态和方式;需求概述;需求规格;软件能力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;安全性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;

25、包装需求;其他需求;需求的优先次序和关键程度l 合格性规定l 需求可追踪性l 尚未解决的问题l 注解l 附录7.4 小节l 根据GB/T 8567-2006 计算机软件文档编制规范(Specification for computer software documentation),系统分析文档主要包括系统/子系统需求规格说明(SSS)、接口需求规格说明(IRS)和软件需求规格说明(SRS)。l 系统/子系统需求规格说明(SSS)为一个系统或子系统指定需求以及保证每个需求得到确认所使用的方法。l 接口需求规格说明(IRS)描述为实现一个或多个系统、子系统、硬件配置项(HWCI)、计算机软件配置

26、项(CSCI)、用户l 软件需求规格说明(SRS)描述对计算机软件的需求以及确保每个需求得到确认所使用的方法。第8章 系统设计基础8.1 系统设计概述l 8.1.1 系统级设计决策l 系统级设计决策,是指系统行为的设计决策(忽略其内部实现,从用户角度出发,描述系统将怎样运转以满足需求)和其他对系统部件的选择和设计产生影响的的决策。l 系统级设计决策内容:有关系统接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的系统行为的设计决策;系统数据库/数据文件如何呈现给用户的设计决策;为满足安全性、保密性和私密性需求所选用的方法;硬件或硬软件系统的设计和构造选择;为了响应需求而作出的其他系统级

27、设计决策。l 8.1.2 系统架构设计l 总体设计l 系统部件设计l 动态交互设计l 接口设计l 8.1.3 运行设计l 系统初始化说明本系统的初始化过程。l 运行控制说明对系统施加不同的外界运行控制时所引起的各种不同的运行组件组合、每种运行所经历的内部组件和支持软件、每一种外界运行控制的方式方法和操作步骤、每种运行组件组合将占用各种资源的情况以及系统运行时的安全控制。l 运行结束说明本系统运行的结束过程。l 8.1.4 系统出错处理设计l 出错信息包括出错信息表、故障处理技术等。l 补救措施说明故障出现后可能采取的补救措施。l 8.1.5 系统维护设计l 检测点的设计说明在系统中专门安排用于

28、系统检查与维护的检测点。l 检测专用组件的设计说明在系统中专门安排用于系统检查与维护的专用组件。8.2 软件设计概述l 8.2.1 软件级设计决策l 软件级设计决策是指软件行为的设计决策(忽略其内部实现,从用户角度出发,描述软件将怎样运转以满足需求)和其他影响组成该软件的软件配置项的选择与设计的决策。l 软件级设计决策内容:有关软件接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的软件行为的设计决策;有关数据库/数据文件如何呈现给用户的设计决策;为满足安全性、保密性和私密性需求所选用的方法;为响应需求而作出的其他软件级设计决策。l 8.2.2 软件架构设计l 程序结构设计l 全局数据

29、结构设计l 软件配置项设计l 动态交互设计l 接口设计l 8.2.3 软件详细设计l 软件配置项设计决策l 软件配置项设计中的约束、限制或非常规特征l 软件配置项使用的编程语言考虑l 软件配置项使用的过程式命令选取l 软件配置项的局部数据与软件配置项的输入或输出数据设计l 软件配置项的逻辑设计8.3 设计原则l 8.3.1 组件化l 组件的可分解性l 组件的可组装性l 组件的可理解性l 组件的连续性l 组件的保护性l 8.3.2 抽象l 抽象就是抽出事物的本质特性而暂时忽略其细节,使得不同的事物可以当作相同的事务来处理。l 软件工程过程的每一步都是对软件解法的抽象层次的一次精化。l 软件设计中

30、的抽象机制主要包括类、模板、过程抽象、数据抽象和控制抽象。l 8.3.3 内聚与耦合l 内聚是指一个组件内各个元素彼此结合的紧密程度l 内聚种类(由低到高排列):偶然内聚;逻辑内聚;瞬时内聚;过程内聚;通信内聚;顺序内聚;功能内聚l 耦合是指一个软件结构内不同组件之间的互连程度l 耦合种类(由高到低排列):内容耦合;公共耦合;外部耦合;控制耦合;标记耦合;数据耦合;非直接耦合l 组件的高内聚、低耦合原则称为组件独立原则l 8.3.4 封装与信息隐蔽l 第一,组件是其全部属性和全部服务紧密结合而形成的一个不可分割的整体。l 第二,组件是一个不透明的黑盒子,表示组件状态的数据和实现操作的代码都被封

31、装在黑盒子里面。使用一个组件的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法。l 8.3.5 启发式规则l 深度、宽度、扇出与扇入l 作用域和控制域l 功能的可预测性8.4 设计视图l 8.4.1 架构视图(静态视图)l 架构描述语言(ADL)l 类图与对象图l 组件图l 协作责任卡(CRC)l 部署图l 实体-联系图(E-R图)l 接口描述语言(IDL)l 结构图l Jackson结构图l 8.4.2 行为视图(动态视图)l 活动图l 协作图l 顺序图l 数据流图l 决策表和决策图l 流程图和结构化流程图l 状态图l 形式化描述语言l 伪码8.5 小节l 系统

32、设计是定义一个系统或软件的架构、组件、接口和其它特征的过程。包括系统级设计决策、系统架构设计、运行设计、系统出错处理设计和系统维护设计。l 软件设计主要包括软件级设计决策、软件架构设计(概要设计)与详细设计。软件架构设计的主要任务是程序结构设计、全局数据结构设计、软件配置项设计、动态交互设计和接口设计。软件详细设计是指每一个软件配置项的具体设计。l 组件化、抽象、高内聚与低耦和、封装与信息隐蔽是软件设计的基本原则。l 软件设计视图通常可分为架构视图(静态视图)和行为视图(动态视图)两类。第9章 系统设计方法9.1 结构化设计l 9.1.1 结构化设计方法概述l 分析系统的总体需求,并将需求逐步

33、分解为基本、具体的功能。l 确定每个功能应当记录的数据。l 列出系统中应提供的各项基本功能,并分析各项基本功能之间的耦合关系,根据高内聚、低耦和的原则分配到系统中适当的模块中。l 9.1.2 系统结构图l 模块l 调用l 数据l 控制l 转接符号l 9.1.3 系统结构图分类l 变换流与事务流l 变换型系统结构图l 事务型系统结构图l 混合型系统结构图9.2 面向数据结构的设计l 9.2.1 面向数据结构的设计概述l 分析并建立适合系统的数据结构;l 根据数据结构在相应的层次建立程序结构;l 罗列出程序中用到的各种基本操作,并将这些基本操作分配到程序结构中合适的模块中。l 9.2.2 Jack

34、son图l 顺序结构l 选择结构l 重复结构l 改进的Jackson图l 9.2.3 Jackson方法l 分析并确定输入和输出数据的逻辑结构,并利用Jackson图将这些数据结构描绘出l 找出输入和输出数据结构中存在对应关系的数据单元。l 从描绘数据结构的Jackson图导出描绘程序结构的Jackson图。l 列出所有操作和条件(包括分支条件和循环结束条件),并且把它们安排到程序结构图的适当位置。l 用伪代码表示。9.3 面向对象的设计l 9.3.1 面向对象的设计概述l 面向对象设计的基本思想是通过建立和客观实际相对应的对象,并通过这些对象的组合来创建具体的应用。l 面向对象设计具有基于抽

35、象、信息隐藏、功能独立和模块性构造系统的能力。l 对于面向对象的系统,可以定义一个四个层次的设计金字塔:子系统层;类及对象层;消息层;责任层。l 9.3.2 面向对象设计技术l Coad/Yourdon方法l Booch方法l OMT方法l 9.3.3 面向对象设计过程l 系统设计过程:将分析模型划分为子系统;子系统分配及与问题的并发性;任务管理;数据管理;资源管理;人机界面;子系统间通信l 对象设计过程:对象描述;算法与数据结构设计;接口设计与模块化9.4 设计模式l 9.4.1 设计模式概述l 设计模式就是将面向对象软件的设计经验记录下,可供设计者能够复用的设计方案。l 设计模式极大提高了

36、面向对象软件开发的效率,降低了软件的复杂度。l 在软件设计中使用设计模式,将使用开发出来的软件更容易理解、更容易维护、更容易扩展,使用设计模式同时也能够提高开发团队和个人的开发能力。l 9.4.2 设计模式基本组成l 模式名称:惟一标识一个设计模式。l 问题:描述应该在何时使用该模式。l 解决方案:描述设计的组成要素,以及它们之间的相互关系及各自的职责与相互之间协作的方式。l 效果:描述应用设计模式的效果,以及使用设计模式必须考虑的限制和约束因素。l 9.4.3 设计模式分类l 面向对象模式l 代码模式l 框架应用模式l 创建型模式、结构型模式与行为型模式l 类模式与对象模式l 9.4.4 如

37、何使用设计模式l 针对接口编程,而不是针对实现编程l 优先使用对象组合,而不是类继承l 找出变化并封装9.5 小节l 系统设计是一系列迭代的过程,主要任务包括数据结构、体系结构、接口及过程细节的设计等,而设计方法是软件设计活动中实现设计模型的方法。l 系统设计方法主要包括面向过程的结构化设计方法、面向数据结构的设计,以及面向对象的设计方法与设计模式。 第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 层

38、次数据模型(hierarchical model)l 网状数据模型(network model)l 关系数据模型(relational model)l 面向对象模型(object oriented model)10.2 数据规范化l 10.2.1 数据规范化的基本概念l 函数依赖l 非平凡函数依赖l 完全函数依赖l 部分函数依赖l 传递函数依赖l 键l 10.2.2 范式l 第一范式(1NF)l 第二范式(2NF)l 第三范式(3NF)l BC范式(BCNF)10.3 数据库设计过程l 10.3.1 数据库需求分析l 数据边界的确定l 数据环境的确定l 数据内部关系l 数据字典l 数据性能需求

39、 l 数据需求分析说明书l 10.3.2 数据库概念设计l 概念设计与概念模型l 概念设计的主要方法 l 分解与抽象l 局部概念模式l 全局概念模式l 10.3.3 数据库逻辑设计l 初始模式的形成l 子模式设计l 应用程序概要设计l 模式评审l 修正模式l 10.3.4 数据库物理设计l 存储记录结构设计l 确定数据存放位置l 存取方法设计l 完整性和安全考虑l 程序设计10.4 小节l 数据库系统普遍采取数据模型表示和处理客观事物的数据特征与信息。数据模型主要由数据结构、数据操作和完整性约束三部分组成,从抽象层次上描述和模拟了系统的静态特征、动态行为和约束条件。l 关系数据库中的关系必须满

40、足一定的要求,即满足不同的范式。目前关系数据库中常用的范式包括:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。l 数据库设计主要包括需求分析、概念设计、逻辑设计和物理设计等几个阶段。第11章 用户界面设计11.1 基本概念l 11.1.1 界面设计目标l 可用性目标:可行性、有效性、易学性、易记性、安全性、通用性l 用户体验目标:令人满意、令人愉快、引人入胜、富有启发、激发创造l 可用性目标主要从客观角度来评价系统界面,而用户体验目标则是从用户主观感受的角度来评价系统界面。 l 11.1.2 界面设计原则l 可视性:将系统功能呈现得一目了然。 l 反馈性:返回与活动相关

41、的信息,以便用户能够继续这个活动。l 限制性:将用户的行为限制在一定的范围内。l 对应性:明确系统某个控制与其控制效果之间的对应关系。l 一致性:用相似的元素表现相似的操作或相似的任务。l 启示性:界面元素应给予用户某种提示。l 11.1.3 界面设计过程l 标识出用户的真实需要并建立需求模型l 设计出候选方案l 构建或实现设计的原型版本l 对界面设计进行评估11.2 界面设计技术l 11.2.1 界面设计分析技术l GOMS模型及GOMS击键层模型l Hick律l Fitts律l 11.2.2 界面设计方法l 原型设计方法l 以用户为中心的设计方法l 用户界面设计的支持工具11.3 界面设计

42、评估l 11.3.1 构造性评估与总结性评估l 构造性评估:在设计过程中对所设计的系统或产品界面进行评估以确保其满足用户需求。l 总结性评估:对已经完成的产品或系统界面进行评估。 l 11.3.2 评估范型l 快速评估l 可用性测试l 实地研究l 预测性评估 l 11.3.3 评估方法与技术l 观察用户l 征求用户意见l 征求专家意见l 用户测试l 用户执行情况的分析模型l 11.3.4 评估框架l 明确(Determine)l 发掘(Explore)l 选择(Choose)l 标识(Identify)l 决定(Decide)l 评估(Evalute)11.5 小节l 用户界面体现了用户利用系

43、统完成任务的方式以及系统对用户行为的响应方式,一个没有良好的用户界面设计的系统很可能会成为一个没有用户的系统。l 可用性目标与用户体验目标。l 界面设计的量化模型:GOMS模型及其子模型-击键层模型,Hick律和Fitts律。l 构造性评估与总结性评估。第12章 系统设计文档12.1 系统/子系统(结构)设计说明l 引言l 引用文件l 系统级设计决策l 系统体系结构设计:总体设计;系统部件设计;动态交互设计;接口设计l 运行设计l 系统出错处理设计l 系统维护设计l 尚未解决的问题l 需求的可追踪性l 注解l 附录12.2 接口设计说明l 引言l 引用文件l 接口设计l 需求的可追踪性l 注解

44、l 附录12.3 软件(结构)设计说明l 引言l 引用文件l 软件级设计决策l 软件体系结构设计:程序结构设计;全局数据结构设计;软件配置项设计;动态交互设计;接口设计l 软件详细设计l 需求的可追踪性l 注解l 附录12.4 数据库设计说明l 引言l 引用文件l 数据库级设计决策l 数据库详细设计l 用于数据库操纵或访问的软件配置项的详细设计l 需求的可追踪性l 注解l 附录12.5 小节l 根据GB/T 8567-2006 计算机软件文档编制规范,系统设计文档主要包括系统/子系统设计(结构设计)说明(SSDD)、接口设计说明(IDD)、软件(结构)设计说明(SDD)和数据库设计说明(DBDD)。l 系统/子系统设计(结构设计)说明(SSDD)描述了系统(或子系统)的系统级(或子系统级)设计决策与体系结构设计。l 接口设计说明(IDD)描述了一个或多个系统、子系统、硬件配置项(HWCI)、计算机软件配置项(CSCI)、用户或其他系统部件的接口特性。l 软件(结构)设计说明(SDD)描述了计算机软件系统的软件级设计决策、软件体系结构设计(概要设计)与详细设计。l 数据库(顶层)设计说明(DBDD)描述了数据库的设计。l 系统设计文档可以使用自然语言,可以使用形式化语言,也可以根据具体的系统设计方法使用各种图形工具,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁