软件工程实用教程吕云翔-课后答案.doc

上传人:h**** 文档编号:167103 上传时间:2018-07-13 格式:DOC 页数:26 大小:268KB
下载 相关 举报
软件工程实用教程吕云翔-课后答案.doc_第1页
第1页 / 共26页
软件工程实用教程吕云翔-课后答案.doc_第2页
第2页 / 共26页
软件工程实用教程吕云翔-课后答案.doc_第3页
第3页 / 共26页
软件工程实用教程吕云翔-课后答案.doc_第4页
第4页 / 共26页
软件工程实用教程吕云翔-课后答案.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、1练习题 1) 软件的特点有哪些? 1. 软件是一种逻辑实体,具有抽象性。硬件是有形的设备,而软件不像硬件那样具有明显的可见性。人们可以把软件记录在介质上,但是却无法直观地观察到它的形态,而必须通过在计算机上实际地运行才能了解它的功能、性能及其他特性。 2. 软件的生产与硬件的制造不同。它更多地渗透了人类的智能活动,是人类智力劳动的产物。软件是被开发或设计的,而不是传统意义上被制造的。软件成本集中于开发上,这意味着软件项目不能像制造项目那样管理。 3. 软件在运行使用过程中,不会磨损。在软件的运行和使用期间,它不会产生像硬件那样 的磨损和老化现象,然而却存在着缺陷维护和技术更新的问题。软件不会

2、磨损,但是它会退化,而软件的退化是由于修改。因此,软件维护比硬件维护要复杂得多。 4. 软件的开发至今尚未完全摆脱手工艺的开发方式。在硬件世界,构件复用是工程过程的自然的一部分,而在软件世界,它是刚刚开始起步的事物。虽然软件产业正在向基于构件的组装前进,但大多数软件仍是定制的。 5. 软件的开发和运行必须依附于特定的计算机系统环境。它不像有些设备一样,能够独立地工作,而是受到了物理硬件、网络配置、支撑软件等因素的制约。由此引发了软件的可移植性问题。 2) 软件 危机是如何产生的?有哪些表现? 原因: 在 20 世纪 60 年代中期,随着软件规模的扩大,复杂性的增加,功能的增强,使得高质量的软件

3、开发变得越来越困难。 表现: 1. 开发出来的软件产品不能满足用户的需求,即产品的功能或特性与需求不符。这主要是由于开发人员与用户之间不能充分有效的交流造成的,使得开发人员对用户需求的理解存在着差异; 2. 相比越来越廉价的硬件,软件代价过高; 3. 软件质量难以得到保证,且难以发挥硬件潜能。开发团队缺少完善的软件质量评审体系以及科学的软件测试规程,使得最终的软件产品存在着诸多缺陷; 4. 难以准确估计软 件开发、维护的费用以及开发周期。往往软件产品不能在预算范围之内,按照计划完成开发。很多情况下,软件产品的开发周期或经费会大大超出预算; 5. 难于控制开发风险,开发速度赶不上市场变化; 6.

4、 软件产品修改维护困难,集成遗留系统更困难; 7. 软件文档不完备,并且存在着文档内容与软件产品不符的情况。软件文档是计算机软件的重要组成部分,它为在软件开发人员之间以及开发人员与用户之间信息的共享提供了重要的平台。软件文档的不完整和不一致的问题会给软件的开发和维护等工作带来很多麻烦。 3) 简述软件工程的基本原则。 1. 用分阶段的生存周期计划 进行严格的管理; 将软件的 生存 周期划分为多个阶段,对各个阶段实行严格的项目管理。软件开发是一个漫长的过程,人们可以根据工作的特点或目标,把整个软件的开发周期划分为多个阶段,并为每个阶段制定分阶段的计划及验收标准,这样有益于对整个软件开发过程进行管

5、理。在传统的软件工程中,软件开发的生存周期可以划分为可行性研究、需求分析、软件设计、软件实现、软件测试、产品验收和交付等阶段。 2. 坚持进行阶段评审; 严格的贯彻与实施阶段评审制度可以帮助软件开发人员及时地发现错误并将其改正。在软件开发的过程中,错误发现的越晚,修复错误 所要付出的代价就会越大。实施阶段评审,只有在本阶段的工作通过评审后,才能进入下一阶段的工作。 3. 实行严格的产品控制; 在软件开发的过程中,用户需求很可能在不断的发生着变化。有些时候,即使用户需求没有改变,软件开发人员受到经验的限制以及与客户交流不充分的影响,也很难做到一次性获取到全部的正确的需求。可见,需求分析的工作应该

6、贯穿到整个软件开发的生存周期内。在软件开发的整个过程中,需求的改变是不可避免的。当需求更新时,为了保证软件各个配置项的一致性,实施严格的版本控制是非常必要的。 4. 采用现代程序设计技术; 现代的程 序设计技术,比如面向对象,可以使开发出来的软件产品更易维护和修改,同时还能缩短开发的时间,并且更符合人们的思维逻辑。 5. 软件工程结果应能清楚地审查; 虽然软件产品的可见性比较差,但是它的功能和质量应该能够被准确地审查和度量,这样才能有利于有效的项目管理。一般软件产品包括可以执行的源代码、一系列相应的文档和资源数据等。 6. 开发小组的人员应该少而精; 开发小组成员的人数少有利于组内成员充分的交

7、流,这是高效团队管理的重要因素。而高素质的开发小组成员是影响软件产品的质量和开发效率的重要因素。 7. 承认不断改进软件工程实践的 必要性。 随着计算机科学技术的发展,软件从业人员应该不断地总结经验并且主动学习新的软件技术,只有这样才能不落后于时代。 4) 什么是软件过程?软件过程标准包括哪些内容? 软件过程又称为软件生存周期过程,是软件生存周期内为达到一定目标而必须实施的一系列相关过程的集合。 标准: 制定了 ISO12207 软件生存周期过程标准,它把用于开发一个软件系统的过程分为三类:主过程、支持过程和辅助过程(组织过程) 。 主过程是构成软件生存周期主要部分的那些过程,正是这些过程启动

8、或进行软件产品的开发、操作或维护。这些过程共有五个 ,它 们是: (1) 获取过程:定义需方(即获取一个系统、软件产品或软件服务的组织)的活动; (2) 供应过程:定义供方(即向需方提供系统、软件产品或软件服务的组织)的活动; (3) 开发过程:定义开发者(即定义和开发软件产品的组织)的活动; (4) 维护过程:定义维护者(即对软件产品进行维护服务的组织)的活动,这个过程包括系统移植和退役; (5) 运行过程:定义运行者(即在计算机系统运行环境中向其用户提供运行服务的组织)的活动。 支持过程是对另一个过程提供支持的过程。被支持的过程根据需要采用支持性过程,并与该过程结合,帮助软件项目获得成功

9、,并提高质 量。支持过程共有如下八个: (1) 文档过程:定义对某生存周期过程所产生的信息进行记录的活动; (2) 配置管理过程:定义配置管理活动; (3) 质量保证过程:定义客观地保证软件产品和过程符合规定要求、遵守已定计划的活动; (4) 验证过程:定义需方、供方或独立的第三方对软件产品进行验证的活动,这些验证活动的深度由软件项目的性质决定; (5) 确认过程:定义需方、供方或独立的第三方对软件产品进行确认的活动; (6) 联合评审过程:定义对某项活动的状态和产品进行评价的活动,这一过程可由任何双方共同采用,其中一方(评审方)评审另一方(被评方); (7) 审计过程:定 义对是否符合要求、

10、计划和合同进行确定的过程,这个过程可由任何双方采用,其中一方(审计方)审计另一方(被审方)的软件产品或活动; (8) 问题解决过程:定义对开发、操作、维护或其它过程中发现的问题(包括不一致性)进行分析和排除的过程。 辅助过程是一个组织用来建立、实施一种基础结构、并不断改进该基础结构的过程。基础结构由一些相关的生存周期过程和人员组成。这些辅助过程有如下四个: (1) 基础设施过程:定义建立生存周期过程的基础结构所需的基本活动; (2) 管理过程:定义在生存周期过程中管理(包括项目管理)的基本活动; (3) 培训过程:定义 为提供经过适当培训的人员所需的一些活动; (4) 过程改进过程:定义一个组

11、织(即需方、供方、开发者、操作者、维护者或另一过程的管理者)为了建立、测量、控制和改进其生存周期过程需完成的基本活动。 5) 简述常见的软件生存周期模型各自的特征和优缺点。 1.瀑布模型是一种线性的开发模型,具有不可回溯性。开发人员必须等前一阶段的任务完成后,才能开始进行后一阶段的工作,并且前一阶段的输出往往就是后一阶段的输入。由于它的不可回溯性,如果在软件生存周期的后期发现并要改正前期的错误,那么需要付出很高的代价。传统的瀑布模型是文档驱动的。 瀑布模型的优点是过程模型简单,执行容易;缺点是无法适应变更。瀑布模型适应于具有以下特征的软件开发项目。 (1) 在软件开发的过程中,需求不发生或发生

12、很少变化,并且开发人员可以一次性获取到全部需求。否则,由于瀑布模型较差的可回溯性,在后续阶段中需求经常性的变更需要付出高昂的代价。 (2) 软件开发人员具有丰富的经验,对软件应用领域很熟悉。 (3) 软件项目的风险较低。瀑布模型不具有完善的风险控制机制。 2.原型模型主要用于挖掘需求,或是进行某种技术或开发方法的可行性研究,是一种开发人员为了快速而准确地获取需求经常采用的方法。在初步 获取需求后,开发人员会快速地开发一个原型系统。通过对原型系统进行模拟操作,开发人员可以更直观、更全面和更准确地了解用户对待开发系统的各项要求,同时还能挖掘到隐藏的需求。 原型模型的优点是简单和快速,缺点是需要花费

13、一些额外的成本来构造原型,并且不利于创新。 3.增量模型作为瀑布模型的一个变体,具有瀑布模型的所有优点,此外,它还有以下优点:第一个可交付版本所需要的成本和时间很少;开发由增量表示的小系统所承担的风险不大;由于很快发布了第一个版本,因此可以减少用户需求的变更;允许增量投资,即在项目开始时,可以仅对 一个或两个增量投资。 增量模型的不足为:如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布;管理发生的成本、进度和配置的复杂性,可能会超出组织的能力。 增量模型适用于以下特点的软件项目。 (1

14、) 软件产品可以分批次地进行交付。 (2) 待开发的软件系统能够被模块化。 (3) 软件开发人员对应用领域不熟悉,难以一次性地进行系统开发。 (4) 项目管理人员对全局把握的水平较高。 4.演化模型基于这样的假定:需求是最基本的,是唯一的风险 。 演化模型具有以下优点:在需求不能予以规范时,可以使用这一演化模型;用户可以通过运行系统的实践,对需求进行改进;与瀑布模型相比,需要更多用户 /获取方的参与。演化模型的不足包括: 演化模型的使用仍然处于初步探索阶段,因此具有较大的风险,需要有利的管理;即使很好地理解了需求或设计,该模型的使用也很容易成为不编写需求或设计文档的借口;用户 /获取方不理解该

15、方法的自然属性,因此当结果不够理想时,可能会产生抱怨。 5. 螺旋模型通常用来指导大型软件项目的开发。它把开发过程分为制定计划、风险分析、实施开发和用户评估四 类活动。 螺旋模型综合了传统的生存期模型的优点,同时扩展了增量模型管理任务的范围:风险分析,用来弥补其不足。螺旋模型的另外一个特征是,只有一个迭代过程真正开发可交付的软件。螺旋模型也存在其缺点:一个周期执行时间太长;要有方法和自动化工具支持,否则无法实施。 螺旋模型适应于风险较大的大型软件项目的开发。 6. 统一过程模型具有三大特点:用例驱动,以架构为中心,迭代和增量开发。统一过程模型核心是解决可操作性问题,帮助开发人员尽可能少地依赖那

16、些 “不可描述的经验 ”。 可以多次执行各个工作流程,从而有利于更好地理 解需求、设计出合理的系统构架,并最终交付一系列渐趋完善的成果。适用的范围极为广泛 。 对开发人员的素质要求较高。 统一过程模型在实际实施过程中也存在很多的困难,包括:多层次持续的规划与评估;判断构架中关键风险的经验;高效率的验证和评价手段;多工种之间的频繁沟通;多版本工作产品的管理等。 7.敏捷方法是一种轻量级的软件工程方法,更强调软件开发过程中各种变化的必然性,通过团队成员之间充分的交流与沟通以及合理的机制来有效地响应变化。 敏捷模型避免了传统的重量级软件开发过程复杂、文档繁琐和对变化的适应性低等各种弊端, 它强调软件

17、开发过程中团队成员之间的交流、过程的简洁性、用户反馈、对所作决定的信心以及人性化的特征。 缺点: 组织模型和建模方法比较薄弱。 7) 常用的软件工程的辅助工具有哪些?各有什么作用? 1分析设计工具 ( 1) Microsoft Visio Microsoft Visio 通过创建与数据相关的 Visio 图表来显示数据,这些图表易于刷新,并能够显著提高生产率,使用各种图表可了解、操作和共享企业内组织系统、资源和流程的有关信息。 Visio 提供了各种模板:业务流程的流程图、网络图、工作流图、数据库模型图和软件图,这 些模板可用于可视化和简化业务流程、跟踪项目和资源、绘制组织结构图、映射网络、绘

18、制建筑地图以及优化系统。 ( 2) Rational Rose Rational Rose 是美国的 Rational 公司的面向对象建模工具,利用这个工具,可以建立用UML 描述的软件系统的模型,而且可以自动生成和维护 C+、 Java、 VB 和 Oracle 等语言和系统的代码。 Rational Rose 包括了统一建模语言( UML), OOSE,以及 OMT,是一个完全的,具有能满足所有建模环境需求能力和灵活性的一套解决方案。允许开发人员,项目经理, 系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练

19、。 ( 3) Together Together 是由 Borland 公司发布的集成了 Java IDE 的产品线,源于 JBuilder 中的 UML 建模工具。这条产品线提供了不同应用层次的功能,比如 Together Designer, Together Architect,Together Developer。从 2007 年开始,他们将这些功能合并为一个产品进行发布。技术上讲,Together 是 一组 Eclipse 插件。 Together Deploper 使用 UML 1.4,支持多种语言,物理数据建模,设计模式,源代码设计模式识别,模板代码设计和重用,文件生成等。 ( 4

20、) PowerDesigner PowerDesigner 是 Sybase 公司的 CASE 工具集,提供了一个复杂的交互环境,支持开发生存周期的所有阶段,从处理流程建模到对象和组件的生成。利用 PowerDesigner 可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计 模型进行控制。 PowerDesigner 系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员 DBA 和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可

21、以根据其项目的规模和范围来使用他们所需要的工具。 ( 5) CASE Studio CASE studio 是一个专业的数据库设计工具。可以透过 ER 图表、资料流向图来设计各式各样的数据库系统(像是 ms sql, oracle, sybase 等),另外程式提供了各式各样的管理单元帮助 程序员进行设计。 2程序开发工具 ( 1) Microsoft Visual Studio Microsoft Visual Studio 是微软公司推出的 Windows 平台上的集成开发环境。提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建应用程序。 Visual Studi

22、o 包括各种增强功能,例如可视化设计器、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能,为开发人员提供了所有相关的工具和框架支持。 ( 2) Eclipse Eclipse 是一个开放源代码 的、基于 Java 的可扩展开发平台。最初是由 IBM 公司开发的替代商业软件 Visual Age for Java 的下一代 IDE 开发环境, 2001年 11 月贡献给开源社区,现在它由非营利软件供应商联盟 Eclipse 基金会管理。 Eclipse 的本身只是一个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵

23、活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE。 ( 3) NetBeans NetBeans 由 Sun 公司在 2000 年创立,当前可以在 Solaris、 Windows、 Linux 和 Macintosh OS X 平台上进行开发,并在 Sun 公用许可范围内使用。 NetBeans 是一个全功能的开放源码Java IDE,可以帮助开发人员编写、编译、调试和部署 Java 应用,并将版本控制和 XML 编辑融入其众多功能之中。 NetBeans 可支持 Java 2 平台标准版 (J2SE)应用的创建、采用 JSP 和Servlet 的 2 层 Web 应用的创建

24、,以及用于 2层 Web 应用的 API 及软件的核心组的创建。此外, NetBeans 还预装了两个 Web 服务器,即 Tomcat和 GlassFish,从而免除了繁琐的配置和安装过程。 ( 4) Delphi Delphi 是 Borland 公司研制的可视化开发工具,可在 Windows3.x、 Windows95、WindowsNT、 WindowsXP、 Windows Vista 等环境下使用。 Delphi 拥有一个可视化的集成开发环境,采用面向对象的编程语言 ObjectPascal 和基于部件的开发结构框架。它提供了 500多个可供使用的构件,利用这些部件,开发人员可以快

25、速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用 Delphi 本身编写自己的部件。 ( 5) Dev C+ Dev C+是一个 C&C+开发工具,它是一款自由软件,遵守 GPL 协议。它集合了 GCC、MinGW32 等众多自由软件,并且可以取得最新版本的各种工具支持。它使用 MingW32/GCC编译器,遵循 C/C+标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能。 3测试工具 ( 1) Load Runner LoadRunner 是一种预测系统行为和性能的

26、工业标准级负载测试工具。通过以模拟上千万用户实施并发 负载及实时性能监测的方式来确认和查找问题。它能预测系统行为并优化系统性能。 LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为实行实时性能监测。 ( 2) Win Rnnner Mercury Interactive 公司的 WinRunner 是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner 能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业 级应用无故障发布

27、及长期稳定运行。 ( 3) Segue Segue Silk 产品系列是高度集成的自动化黑盒功能、性能测试平台。分布式测试环境,集中控制门户(浏览器方式)能够控制测试代理,提供自动测试流程的流程化定义功能,具备“端到端 “的组件测试能力,测试用例的管理、自动测试,连同测试脚本的跨平台能力,基于AOL 7 标准,全面支持 WEB 应用的测试能力,能够通过提供大量的数据,提供工作流类应用的模拟运行功能,全面支持 UNICODE 编码标准,支持各种 WEB 技术构件。 4配置管理工具 ( 1) Microsoft Visual Sourcesafe Microsoft Visual SourceSa

28、fe 是微软公司出品的版本控制系统,简称 VSS。软件支持Windows 系统所支持的所有文件格式,通常与微软公司的 Visual Studio 产品同时发布,并且高度集成。包括服务器和通过网络可以连接服务器的客户端。 VSS 提供了基本的认证安全和版本控制机制,提供历史版本对比,适合于个人程序开发的版本管理。 ( 2) ClearCase ClearCase 是 Rational 公司开发的配置管理工具,可以与 Windows资源管理器集成使用,并且 还可以与很多开发工具集成在一起使用。 ClearCase 主要应用于复杂的产品发放、分布式团队合作、并行的开发和维护任务,包括支持当今流行软件

29、开发环境 Client/Server 网络结构。它包含了一套完整的软件配置管理工具而且结构透明、界面可亲。 5项目管理工具 ( 1) Microsoft Project Microsoft Project 是专案管理软件程序,由微软开发销售。软件设计目的在于协助专案经理发展计划、为任务分配资源、跟踪进度、管理预算和分析工作量。可产生关键路径日程表,日程表可以以资源标准的,而且关 键链以甘特图形象化。另外, Project 可以辨认不同类别的用户。这些不同类的用户对专案、概观、和其它资料有不同的访问级别。 ( 2) CA-SuperProject Computer Associates Inte

30、rnational 公司的 CA-SuperProject 是一个常用的软件,特别是在那些管理公司网络的项目管理人员、在 Unix 或 Windows 环境下的工作人员以及需要高性能程序的人中更受欢迎。这个软件包能支持多达 160, 000 多个任务的大型项目。能创建及合并多个项目文件,为网络工作者提供多层密码入口,进 行计划审评法( PERT)的概率分析。而且,这一程序包含一个资源平衡算法,在必要时,可以保证重要工作的优先性。 ( 3) Time Line Symantec 公司的 Time Line 软件是有经验的项目经理的首选。它的报表功能以及与 SQL数据库的连接功能都很突出。日程表、

31、电子邮件的功能,排序和筛选能力以及多项目处理都是精心设计的。另外,它还有一个叫做 Co-Pilot 的功能,这是一个很有用的推出式帮助设施,用户界面很好,极易操作。许多评论人员认为 Time Line 最适于大型项目以及多任务项目,但不如其他软件包便于初学 者使用。 2练习题 1) 什么是项目立项,包括哪几个步骤? 任何一个完整的软件工程项目都是从项目立项开始的。项目立项包括项目发起、项目论证、项目审核和项目立项四个过程。 2) 可行性研究包括哪些方面?每个方面关注的问题领域是什么? 可行性研究需要从多个方面进行评估,主要包括:战略可行性、操作可行性、计划可行性、技术可行性、社会可行性、市场可

32、行性、经济可行性和风险可行性等。 战略可行性研究主要从整体的角度考虑项目是否可行,例如提出的系统对组织目标具有怎样的贡献;新系统对目前的部门和组织结构有何影响;系统将以何种方式 影响人力水平和现存雇员的技术;它对组织整个人员开发策略有何影响等等。 操作可行性研究主要考虑系统是否能够真正解决问题;是否系统一旦安装后,有足够的人力资源来运行系统;用户对新系统具有抵触情绪是否可能使操作不可行;人员的可行性等问题。 计划可行性研究主要估计项目完成所需的时间并评估项目的时间是否足够。 技术可行性研究主要考虑项目使用技术的成熟程度;与竞争者的技术相比,所采用技术的优势及缺陷;技术转换成本;技术发展趋势及所

33、采用技术的发展前景;技术选择的制约条件等。 社会可行性研究主要考虑项目是否满足所有项目涉及 者的利益;是否满足法律或合同的要求等。 市场可行性研究主要包括研究市场发展历史与发展趋势,说明本产品处于市场的什么发展阶段;本产品和同类产品的价格分析;统计当前市场的总额、竞争对手所占的份额,分析本产品能占多少份额;产品消费群体特征、消费方式以及影响市场的因素分析;分析竞争对手的市场状况;分析竞争对手在研发、销售、资金、品牌等方面的实力;分析自己的实力等。 经济可行性研究主要是把系统开发和运行所需要的成本与得到的效益进行比较,进行成本效益分析。 风险可行性研究主要是考虑项目在实施过程中可能遇到的各种风险

34、因素 ,以及每种风险因素可能出现的概率和出险后造成的影响程度。 3) 进行可行性研究的一般步骤是什么? 1) 明确系统的目标 2) 分析研究现行系统 3) 设计新系统的高层逻辑模型 4) 获得并比较可行的方案 5) 撰写可行性研究报告 4) 需求分析和可行性研究的侧重点有什么不同? 可行性研究的目的是评估系统是否值得去开发,问题是否能够解决,而不是对需求进行定义。如果说可行性分析是要决定 “做还是不做 ”,那么需求分析就是要回答 “系统必须做什么 ”这个问题。 5) 获取需求的常用方法有哪些? 问卷调查、访谈、实地操作、建立原型 6) 如何进行结构化需求分析,其建模 方法都有哪些? 结构化分析

35、的具体步骤为: 1) 建立当前系统的 “具体模型 ”:系统的 “具体模型 ”就是现实环境的忠实写照,这样的表达与当前系统完全对应,因此用户容易理解。 2) 抽象出当前系统的逻辑模型:分析系统的 “具体模型 ”,抽象出其本质的因素,排除次要因素,获得当前系统的 “逻辑模型 ”。 3) 建立目标系统的逻辑模型:分析目标系统与当前系统逻辑上的差别,从而进一步明确目标系统 “做什么 ”,建立目标系统的 “逻辑模型 ”。 4) 为了对目标系统进行完整的描述,还需要考虑人机界面和其他一些问题。 在结构化分析中经常用到的建模方法主要有: 1) 数 据流图( DFD) 2) 实体联系图( E-R) 3) 控制

36、流图( CFD) 4) 状态迁移图( STD) 7) 根据 “学生档案管理系统 ”的数据流图,完成它的数据字典。 数据流名称:资料 别名:学生资料 组成:学号 +姓名 +性别 +年龄 +学院 +年级 +专业 8) 有如下一个学生选课系统:教师提出开课计划,系统批准后给教师下发开课通知。学生可向系统提出选课申请,系统批准后给学生下发选课申请结果通知。课程结束后,系统还可以帮助教师录入学生成绩,同时把成绩单发送给学生。 请用 Visio 画出该系统顶层的数据流图。 教 师系 统 批 准开 课 计 划开 课 通 知批 准 的 开 课 通 知录 入成 绩 发 送学 生成 绩 单系 统 批 准选 课 计

37、 划批 准 的 选 课 计 划申 请 结 果查 询 开 课 信 息档 案 信 息开 课 信 息3练习题 1) 软件设计的意义和目标是什么? 软件设计在软件开发过程中处于核心地位,它是保证质量的关键步骤。设计为我们提供了可以用于质量评估的软件表示,设计是我们能够将用户需求准确的转化为软件产品或系统的唯一方法。软件设计是所有软件工程活动和随后的软件支持活动的基础。 2) 在软件设计的过程中要遵循哪些规则? 模块化 抽象化 逐步求精 信息隐藏 3) 软件设计如何分类,分别有哪些活动? 从 活动任务 来看,软件设计是对软件需求进行:数据设计、体系结构设计、接口设计、构件设计和部署设计。 从工程管理角度

38、 来看,软件设计分为概要设计和详细设计。前期进行概要设计,得到软件系统的基本框架。后期进行详细设计,明确系统内部的实现细节。 4) 什么是软件体系结构,什么是软件体系结构风格? 体系结构是研究系统各部分组成及相互关系的技术学科。 软件体系结构不仅指定了系统的组织结构和拓扑结构,也显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 所谓软件体系结构风格,是描述某一特定应用领域中系统组织方式的惯用模式。 1) 软件体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统 有效地组织成一个完整的系统。 2) 软件体系结构风格定义了用于描述系统的术

39、语表和一组指导构件系统的规则。 5) 常见的软件体系结构风格有哪些,如何分类? 1 数据流风格:数据到达即被激活处理工作,无数据时不工作。 2 调用 /返回风格:各个组件通过调用其它组件和获得返回参数来进行交互,配合完成功能。 3 独立构件风格:这种风格的主要特点是:事件的触发者并不知道哪些构件会被这些事件影响,相互保持独立这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用;各个构件之间彼此无连接关系,各自独立存在,通过对事件的发布和注册实现 关联包括进程通讯、事件系统。 4 虚拟机风格:它创建了一种虚拟的环境,将用户与底层平台隔离开来,或者将高层抽象和底层实现隔离开来。 5 仓库风格:仓库是存储和维护数据的中心场所。在仓库风格中存在两类构件,表示当前数据的状态的中心数据结构和 一组对中心数据进行操作的独立构件。包括数据库系统、超文本系统、黑板系统。

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

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。