欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    软件工程李爱萍作业参考答案解析最终版修改.docx

    • 资源ID:2837203       资源大小:720.44KB        全文页数:75页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程李爱萍作业参考答案解析最终版修改.docx

    1、软件工程李爱萍作业参考答案解析最终版修改第一章 1.1什么是软件?软件和程序的区别是什么? 答:软件是程序、数据以及开发、使用和维护程序需要的所有文档的完整集合。软件的定义是:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必须的数据。 软件不是程序,程序是软件的一部分。程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列。它是由软件开发人员设计和编码的。程序执行时一般要输入一定的数据,也会输出运行的结果。没有相关文档,仅有程序是不能称之为软件产品的。 1.2什么是软件生存周期?划分生存周期的主要原则是什么? 答:(1)软件的生存周期是指某一软件项目被提出并

    2、着手实现开始,直到该软件报废或停止使用为止所经历的时间。 (2)主要原则:各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。 13什么是软件危机?它有哪些主要表现?为什么会产生软件危机? 答:(1)软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 (2) 主要表现:对软件开发成本和研制进度的估计常常很不精确,导致经费预算经常突破,进度超时完成;由于开发人员常常对用户需求只有模糊的了解以及开发人员和用户又未能及时交换意见,导致已完成的软件不能满足用户的需要;软件产品质量差,可

    3、靠性得不到保证;软件产品可维护性差;软件成本在计算机系统总成本中所占的比例逐年上升,软件的发展跟不上硬件的发展;软件开发生产率提高的速度远远跟不上计算机应用速度普及深入趋势,软件发展跟不上用户的要求。 (3) 产生软件危机的原因:造成软件危机的原因与软件自身的特点有关,也与软件开发人员在开发和维护时采用的生产方式、方法、技术有关。软件是计算机系统中的逻辑部件,软件产品往往规模庞大,结构复杂。给软件的开发和维护带来客观的困难;软件开发的管理困难。由于软件规模大、结构复杂、又具有无形性,导致管理困难,进度控制困难,可靠性无法保证;软件开发费用不断增加,维护费用急剧上升,直接威胁计算机应用的扩大;软

    4、件开发技术落后;生产方式落后;开发工具落后,生产效率提高缓慢。另外软件开发人员忽视需求分析的重要性,轻视软件维护也是造成软件危机的原因。 1.4什么是软件工程?怎样利用软件工程消除软件危机? 答:(1)软件工程是指导计算机软件开发和维护的一门学科 (2)首先应该对计算机软件有一个正确的认识,彻底清除“软件就是程序” 的错误观念;要使用好的开发技术和方法,并且要不断研究探索更好更有效的技术和方法;要有良好的组织、严密的管理,各类人员要相互配合,共同完成任务,充分认识软件开发不是某种个体劳动的神秘技巧;应该开发和使用好的软件工具,从而有效提高软件生产率。采用“工程化”的思想做指导来解决软件研究中面

    5、临的困难和混乱。 1.5何谓面向对象软件工程?简述它和传统软件工程的区别与联系? 答:(1)以面向对象程序设计为基础的软件工程。 (2) 传统软件工程是以结构化程序设计为基础,而面向对象软件工程是以面向对象程序设计为基础。与面向过程的软件工程的开发思想相比,面向对象开发方法不再是以功能划分为导向,而是以对象作为整个问题分析的中心,围绕对象展开系统的分析与设计工作。在开发过程方面,面向对象软件工程和传统软件工程一样也是把软件开发划分为分析、设计、编码和测试等几个阶段,但各个阶段的具体工作不同,除了在编码阶段使用的语言不同外,面向对象软件工程为待开发软件确定“类与对象”一般在需求分析阶段进行,设计

    6、阶段则主要完成对象内部的详细设计;而在传统软件工程中,将软件设计划分为“总体设计”和“详细设计”,分别完成软件的总体结构图的设计和各个模块内部算法的详细设计。即:传统软件工程开发过程包括需求分析、总体设计、详细设计、面向过程的编码和测试;面向对象软件工程开发过程包括需求分析与对象抽取、对象详细设计、面向对象的编码和测试。 1.6什么是软件生存周期模型?试比较本章介绍的四种模型的优缺点,说明每种模型的使用范围 答:(1) 软件生存周期模型即为软件开发模型,是描述软件开发过程中各种活动如何执行的模型,是软件过程、活动、任务的结构框架。 优点 缺点 适用范围 瀑布模型 能清晰直观地表达软件开发全过程

    7、,明确规定要完成的主要活动和任务,用来作为软件项目工作的基础。 只有当分析员能够做出准确的需求分析时,才能得到预期的正确结果。它是一种理想的线性开发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。 适合于需求很明确的软件项目开发的模型,对于经常变化的项目而言,瀑布模型毫无价值。 快速原型模型 通过实践让用户了解未来目标系统的概貌,以便判断哪些功能是符合需要的,哪些方面需要改进。反复改进,最终建立完全符合用户需求的新系统。克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。这种模型适合预先不能确切定义需求的软件系统的开发。 在实际中开发原型系统使用的语言效率有时会很低,所选用

    8、的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。 适合于一些需求可变、模糊不定的软件系统的开发 增量模型 有较大的灵活性。能够在较短的时间内向用户提交一些有用的工作产品。开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。整个系统是由一个个构件集成在一起的,当需求变更时只变更部分部件,而不必影响整个系统。 各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,冒所有构件集成不到一起的风险。 适合于软件要求不明确,设计方案有一定风险的软件项目。 螺旋模型 加入了瀑布模型与增量模型都忽略了的风险分析

    9、,使用原型及其他方法来尽量降低风险 该模型需要有相当丰富的风险评估经验和这方面的专门技术,这使该模型的应用受到一定限制。 将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。 第二章 2.1 在软件开发早期阶段为什么要进行可行性研究?可行性研究的任务是什么?应该从哪几个方面研究目标系统的可行性? 答:(1)避免或者减轻项目开发后期可能出现的困境。 (2) 其主要任务是,首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,必须分析几种可能解法的利弊,从而判定原定系统的目标和规模是否现实,系统完成后带来的效益是否大到值得投资开发这个系

    10、统的程度。 (3) 经济可行性、技术可行性、操作可行性、法律可行性。 2.2 成本效益分析可用哪些指标进行度量? 答:成本方面包括开发成本和运行维护成本;效益方面包括经济效益和社会效益,经济效益可以用货币的时间价值 、投资回收期、纯收入来度量。 2.3 有人认为,只懂技术的分析员不一定能圆满完成可行性研究的任务。你同意这种看法吗?为什么? 答:同意。因为可行性研究的任务包括三个方面,除了技术可行性之外,还需要进行经济可行性、操作可行性、社会和法律方面的可行性研究,而只懂技术的分析员对其他方面的研究有可能不满足用户的要求,所以只懂技术的分析员不一定能圆满完成可行性研究的任务。 2.4 在【例 2

    11、.2】中,把投资改为 6000 元,每年节约金额改为 2000 元,年利率为 6%,试计算投资回收期和纯收入。 解:如下表 年 将来值(元) (1+n*I) 现在值(元) 累计的现在值(元) 1 2 3 4 5 2000 2000 2000 2000 2000 1.06 1.12 1.18 1.24 1.30 1886.79 1785.71 1694.92 1612.90 1538.46 1886.79 3672.50 5367.42 6980.32 8518.78 投资回收期为 (6000-5367.42)/1612.90 +3=3.39(年) 纯收入为 8518.78-6000=2518.

    12、78(元) 2.5 为方便旅客,某航空公司拟开发一个飞机票预定系统。旅游公司把预定机票的旅客信息(姓名、年龄、工作单位、身份证号码、旅游时间、旅游目的地等)输入进该系统,系统为旅客安排航班,打印出取票通知和账单,旅客在飞机起飞前的 3 天之内凭取票通知和账单交款取机票,系统校对无误即打印出飞机票给旅客。 请写出开发此系统的问题定义,并通过可行性研究分析此系统的可行性。 答:问题定义:飞机票预定系统 主要实现以下功能: 查询功能:把旅游时间、旅游目的地等输入进该系统, 系统显示符合要求的航班。 预定机票:把预定机票的旅客信息(姓名、年龄、工作单位、身份证号码、旅游时间、旅游目的地等)输入进该系统

    13、,系统为旅客安排航班,打印出取票通知和账单,并更新记录。 校对并打印机票:旅客在飞机起飞前的 3 天之内凭取票通知和账单交款取机票,系统校对无误即打印出飞机票给旅客。 可行性研究应从经济可行性、技术可行性、操作和社会、法律的角度阐述其可行性,这部分省略 2.6 试为习题 2.5 写可行性研究报告的主要内容。 (本题略) 第三章 3.1 为什么要进行需求分析?需求分析要经过哪些步骤? 答:(1)可行性研究阶段粗略了解了用户的需求,甚至还提出了一些可行的方案,但是可行性研究的基本目的是最小的代价在尽可能短的时间内确定问题是否存在可行的解法,因此许多细节都被忽略了,可行性研究并不能代替需求分析,它实

    14、际上并没有准确地回答“系统必须做什么”这个关键问题。 (2)步骤: 1.需求获取:调查研究。从分析当前系统包含的数据开始,分析当前信息处理的方法与存储的不足,用户希望改进的主要问题及其迫切性等。 2. 需求提炼:分析建模。需求提炼的主要任务是建立分析模型。把来自用户的信息加以分析,通过抽象建立起目标系统的分析模型。 3需求描述:编写 SRS。 为了使需求描述具有统一的风格,可以采用已有的且可满足项目需要的模板,也可以根据项目特点和软件开发小组的特点,对标准进行适当的改动,形成自己的 SRS 模板。 4. 需求验证。由分析员和用户一起对需求分析结果进行严格的审查、验证。确保需求说明可作为软件设计

    15、和最终系统验收的依据。 3.2 需求分析阶段的基本任务是什么?怎样理解分析阶段的任务是决定“做什么”,而不是“怎样做”? 答:(1)1确定对系统的综合需求。分析员和用户双方确定对软件系统的综合要求,具体有功能需求、性能需求 、环境需求、接口要求、用户界面需求,另外还有可靠性、安全性、保密性、约束、可移植性和可维护性等方面的需求,这些需求通常可以通过双方交流、调查研究来获取,并达到共同的理解。 2分析系统的数据需求。因为绝大多数软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌。 3建立软件的逻辑模型。 4编写软件需求规格说明书。 目的是使用户和开

    16、发者能对未来软件有共同的理解,明确定义未来软件的需求、系统的构成及有关的接口。需求说明相当于用户和开发者之间的一份技术合同,是测试验收阶段对软件进行确认和验收的基准,是软件开发的基础。 5需求分析评审 (2)需求分析实际上是调查、评价以至肯定用户对软件需求的过程,其目的在于精化软件的作用范围,也是分析和确认软件系统构成的过程,以确定未来系统的主要成分及它们之间的接口细节。因此需求分析实际上是一个对用户意图不断进行揭示和判断的过程,它并不考虑系统的具体实现,而是完整地、严密地描述应当“做什么”的一种过程。 3.3 什么是结构化分析方法?该方法使用什么描述工具? 答:(1)结构化分析方法是一种从问

    17、题空间到某种表示的映射方法,软件功能由数据流图表示,是结构化方法中重要的,被普遍采用的方法,它由数据流图和数据字典构成系统的逻辑模型。 (2)数据流图、数据字典、结构化语言、判定树和判定表。 3.4 什么是数据流图?其作用是什么?其中的基本符号各表示什么含义? 答:(1)数据流图是 SA 方法中用于表示系统逻辑模型的一种工具。 (2) 它描述系统由哪几部分组成,各部分之间的联系 等, 以直观的图形清晰地描述了系统数据的流动和处理过程。 (3) 箭头,表示数据流; 圆或椭圆,表示变换数据的处理; 方框,表示数据的三原点或终点; = 双杠或单杠,表示数据存储(文件)。 除上述 4 种基本符号之外,

    18、有时也使用几种附加符号,星号(*)表示数据之间的关系(同时存在);加号(+)表示“或”关系,号表示只能从中选一个(互斥的关系)。 3.5 画数据流图的步骤是什么?应该注意什么事项? 答:(1)第一步,先找外部实体(可以是人、物或其他软件系统),找到了外部实体,则系统与外部世界的界面就得以确定,系统的源点和终点也就找到了; 第二步,找出外部实体的输入和输出数据流; 第三步,在图的边上画出系统的外部实体; 第四步,从外部实体的输出流(源点)出发,按照系统的逻辑需要,逐步画出一系列变换数据的加工,直到找到外部实体处所需的输入流(终点),形成数据流的封闭; 第五步,按照上述原则进行检查和修改。 最后按

    19、照上述步骤画出所有子图。 (2) 画数据流图时,只考虑数据流的静态关系,不考虑其动态关系(如启动、停止等与时间有关的问题),也不考虑出错处理问题。 2 画数据流图时,只考虑常规状态,不考虑异常状态,这两点一般留在设计阶段解决。 3 画数据流图不是画程序流程图,二者有本质的区别。数据流图只描述 “做什么”,不描述“怎么做”和做的顺序,而程序流程图表示对数据进行加工的控制和细节。 4 不能期望数据流图一次画成,而是要经过各项反复才能完成。 5 描绘复杂系统的数据流图通常很大,对于画在几张纸上的图很难阅读和理解。一个比较好的方法是分层的描绘这个系统。在分层细画时,必须保持信息的连续性,父图和子图要平

    20、衡,每次只细画一个加工。 3.6 什么是数据字典?其作用是什么?它有哪些条目? 答:(1)数据字典是对数据流图中所包含元素的定义集合。 (2) 数据字典的作用正是在软件分析和设计的过程中,给人提供数据描述,即对数据存储(文件)和加工(处理)等名字进行定义。 (3) 数据流、数据流分量(数据基本项)、数据存储(文件)和加工(处理)。 3.7 描述加工逻辑有几种工具?各是什么?写出其优缺点。 答:(1)描述加工逻辑一般用结构化语言、判定表和判定树。 优点 缺点 结构化语言 既有结构化程序的清晰易读的优点,又有自然语言简单易懂的优点,又避免了自然语言不精确可能产生二义性的缺点。 只有顺序、循环、条件

    21、三种控制结构。 判定表 能清晰地表示复杂的条件组合与应做动作之间的关系。 不能描述循环的处理特征。 判定树 它比判定表更观,且易于理解和使用。 (同判定表) 3.8某高校计算机教材购销系统有以下功能。 学生购买书时,要先填写购书单,系统根据各班学生用表及售书登记表审查有效性,如果有效,系统根据教材库存量表进一步判断书库是否有书,如果有书,系统把领书单返回给学生,学生凭书单到书库领书,对短缺的教材,系统用缺书单的形式通知书库,新书购进书库后,也由书库将进书通知返回给系统。 请采用 SA 方法画出该系统的分层数据流图,并建立相应的数据字典。 答: a) 数据字典 (1) 数据流条目: 购书单=学院

    22、+专业+班级+购书种类+购书数量+价格 进书通知=书名+进书数量+书类型+作者名称+出版社+价格 领书单:书名+作者名称+出版社+数量+学院+专业+班级+价格缺书单=书名+作者名称+出版社+剩余数量+再购进数量 (2) 数据存储条目:文件名:库存清单 组成:书名+书籍编号+价格+作者名称+出版社+类型+现有数量组成方式:索引文件,以书籍编号为关键文件名:售书登记表 组成:书名+书籍编号+售出数量+价格组成方式:索引文件,以书籍编号为关键 文件名:各班学生用表组成:班级+人数+领书量 组成方式:索引文件,以班级为关键 (3) 数据项 (4) 加工条目 加工名:图书管理系统 编号:无 输入:购书单

    23、、进书通知、库存清单、售书登 记表、各班学生用表 输出:领书单、缺书单 加工名:录入存储处理 编号:1 输入:进书通知 加工逻辑:IF 没有所输入的书籍记录 THEN 建立新的书籍记录,存入该书 籍的基本记录 ELSE 输入书籍记录 ENDIF 加工名:查询处理 编号:2 输入:购书单 输出:领书单、缺书单 加工逻辑:根据购书单、售书登记表、各班学生 用表及库存清单 IF 审查售书登记表及各班学生用表 有效 THEN IF 有库存 THEN 输出领书单 ELSE 输出缺书单 加工名:审查、分类 编号:1.1 输入:进书通知 输出:书籍信息 加工逻辑:根据进书通知将书审查、分类 加工名:审查有效

    24、性 编号:2.1 输入:购书单 输出:有效 加工逻辑:根据购书单、售书登记表、各班学生用 表 IF 审查售书登记表及各班学生用表 有效 THEN 输出有效 加工名:判断书库是否有书 编号:2.2 输入:有效 输出:领书单、缺书单 加工逻辑:IF 有库存 THEN 输出领书单 ELSE 输出缺书单 ENDIF 3.9 某计算机公司为本科以上学历的人重新分配工作的政策是:年龄在 25 岁以下者,学历是本科男性要求报考研究生,女性则担任行政工作;年龄在 25 岁至 45 岁之间者,学历本科,不分男女,任中层领导职务,学历是硕士,不分男女,任课题组组长;年龄在 45 岁以上者,学历本科,男性任研究人员

    25、,女性则担任资料员,学历是硕士,不分男女,任课题组组长。请用结构化语言、判定表和判定树描述上述问题的加工逻辑。 答:结构化语言: if 年龄25 then if 学历=本科 then if 性别=男 then 报考研究生 endif if 性别=女 then 担任行政工作 endif endif endif if 25=年龄=45 then if 学历=本科 then 担任中层领导职务endif if 学历=硕士 then 任课题组组长 endif endif if 45年龄 then if 学历=本科 then if 性别=男 then 任研究人员 endif if 性别=女 then 任资

    26、料员 endif endif if 学历=硕士 then 任课题组组长 endif endif 判定表: 年龄 25 25=年龄=45 45 性别 男 女 男/女 男/女 男 女 男/女 学历 本科 本科 硕士 本科 硕士 报考研究生 担任行政工作 任中层领导职务 任课题组组长 担任研究人员 担任资料员 判定树 男性:要求报考研究生 年龄25 本科 女性:担任行政工作 本科:任中层领导职务 重新分配工作25年龄=45 硕士:任课题组组长 男性:担任研究人员 45 年龄 女性:担任资料员 硕士:任课题组组长 3.10 数据库内容的需求分析工作主要从哪几方面进行? 答:(1)信息需求 信息需求指用

    27、户需要从数据库中获得的信息的内容和性质,信息需求是软件数据需求中最基本的需求,主要是确定系统需要存储和使用哪些数据,用户需要从数据库中获得信息的内容和性质。 (2) 处理需求 处理需求是用户要求软件系统完成的功能,以及对系统功能的处理时间、方式等方面的要求,如是要求批处理还是联机处理等。 (3) 使用需求 使用需求包括:使用数据库时在安全性、完整性和一致性等方面的限制;查询方式、输入/输出格式和多用户等方面的要求;响应速度、故障恢复等性能要求。 3.11 建立全局 E-R 模型时,各分 E-R 模型之间可能出现的冲突有哪些?应如何处理? 答:(1)各局部 E-R 模型之间的冲突主要有 3 类:

    28、属性冲突、命名冲突和结构冲突。 (2) 属性冲突:突理论上好解决,但实际上需要各部门讨论协商,解决起来也并非易事。 命名冲突:处理方法与属性冲突的解决方法一样,也是通过讨论、协商等手段解决。 结构冲突:使集成后的该实体取各局部 E-R 模型中属性的并集,再适当调整属性的次序;实体间的联系在各局部 E-R 模型中具有不同的类型,解决办法是根据应用的语义对实体之间联系的类型进行综合或调整。 第四章 4.1 总体设计阶段的主要目的和任务是什么? 答:总体设计阶段的基本目标就是回答“概括地说,系统应该如何实现?”这个问题,因此总体设计又称为概要设计或初步设计。 通过这个阶段的工作,开发人员将划分出组成

    29、系统的物理元素,如程序、文件、数据库等。但是这些物理元素还处于黑盒子的形式,具体的内部细节在详细设计阶段考虑。总体设计的另一项任务是设计软件的总体结构,即确定系统中的每个程序是由哪些模块组成的,每个模块的功能及模块和模块之间的接口、调用关系等,但所有这些都不要求涉及模块内部过程的细节。 4.2 为每种类型的模块耦合和模块内聚各举一个具体例子。 答:无直接耦合 模块B和C 模块D和E 模块B和D 模块 B 和 E 数据耦合 函数调用时的值传递 模块 A:完成两个数的输入。 模块 B:完成两个数的比较,求出最大并返回。 比较输入的两个数的大小。 标记耦合 模块 A 控制耦合 控制信息 模块 B 功 能1 功能2 功能3 。功能 n 公共环境耦合 模块 A:学生信息查询模块 B:选课查询模块 C:成绩查询数据结构:学号+院系+课程 内容耦合 偶然内聚 move a to b; read disk file; move c to d; 逻辑内聚 时间内聚 模块完成各种初始化工作,同时打开若干个文件,同时关闭若干个文件等。 通信内聚 模块 A:学生信息查询数据结构 模块 B:选课查询及成绩查询数据结构:学号+院系+课程模块 B 顺序内聚、功能内聚 求一元


    注意事项

    本文(软件工程李爱萍作业参考答案解析最终版修改.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开