1、作业4. 什么是软件危机?有什么表现?如何应对?5. 什么叫软件工程?其目标和原则是什么?6. 软件工程的三要素是什么?第一章 软件危机,是指在计算机软件的开发和维护过程中所遇到的一系列严重问题 。(1)对软件开发成本和进度的估计常常不准确 。(2)用户对 “ 已完成 ” 系统不满意的现象经常发生 。(3)软件产品的质量往往不能得到保证 。(4)软件的可维护程度非常低 。(5)软件通常没有适当的文档资料 。(6)软件成本在计算机系统总成本中所占比例逐年上升 。 按工程化的原则和方法组织软件开发工作 是有效 的,是摆脱软件危机的一个主要出路。什么是软件危机?有什么表现?如何应对? IEEE 计算
2、机学会定义软件工程是将系统化、规范化、可度量的方法应用于 软件 的开发、运行和维护过程,即将工程化应用于软件中的方法的研究 。 目标: 付出较低的开发成本; 达到所需的软件功能; 取得较好的软件性能; 开发的软件易于移植; 需要较低的维护费用; 能按时完成开发工作,及时交付使用。什么叫软件工程?其目标和原则是什么? 原则(1)抽象(2)信息隐蔽(3)模块化(4)局部化(5)确定性(6)一致性(7)完备性(8)可验证性 过程、方法和工具是软件工程的三个 要素。软件工程的三要素是什么? 软件工程 过程是为获得软件产品,在 软件工具 支持下由软件开发人员完成 的一系列 软件工程的活动。过程层将 方法
3、 和工具结合起来,定义了一组 关键过程 区域的框架,定义了方法使用 的顺序 、要求交付的文档资料、为 保证质量 和协调变化所需要的管理以及 软件开发 各个阶段完成的里程碑。最终目的是保证软件工程技术被有效地应用,使得软件 能够被及时、高质量和合理地开发出来 。 方法 层为软件开发的各个阶段提供所需的各种方法 。 工具层为软件工程方法提供了一种自动或半自动的软件支撑环境。 P28 4,5,6第二章 4. 什么是原型?试述原型模型在软件生命周期中的应用。 5. 为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性? 6. RUP 模型的思想是什么? RUP 模型融合了哪些传统生命周期模
4、型的特点? 4. 什么是原型?试述原型模型在软件生命周期中的应用 。 原型一般是指对某种产品进行模拟的初始版本或者原始模型,在工程领域中具有广泛 应用。 原型系统能够逐步明确用户需求,可以适应需求的变化性,而且由于用户参与到 软件开发 过程,能够及早发现问题、降低软件开发的风险,加快软件产品的形成,降低软件开发 的成本 。 5. 为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性 ? 喷泉模型认为软件开发过程的各个阶段是相互重叠、多次反复的,就像喷泉一样,水 喷上去 又可以落下来,既可以落在中间,又 可以 落到底部。各个开发阶段没有特定的 次序要求 ,完全可以并行进行,可以在某个
5、 开发阶段 中随时补充其他任何开发阶段中 遗漏的 需求。其优点是可以提高软件项目开发效率 ,节省开发时间。 6. RUP 模型的思想是什么? RUP 模型融合了哪些传统生命周期模型的特点 ? RUP 的迭代增量开发 思想 RUP 的每一个阶段可以进一步划分为一个或多个迭代过程。在每次迭代中只考虑系统 的一部分 需求,针对这部分需求进行分析、设计、实现、测试和部署等工作,每次迭代都是 在系统 已完成部分的基础上进行的,每次给系统增加一些新的功能,如此循环下去,直至 完成最终产品。每一次迭代内容的制订是风险驱动的,即根据业务需求重要性、技术风险等级 高低 来决定迭代内容的 安排 。 ( 1)面向对
6、象:从技术角度, RUP开发是基于面向对象技术,即它使用和支持面向对象技术的概念和方法。 RUP要求建立的设计模型、实现模型都是对象模型。 ( 2) USE CASE驱动 ( 3)以架构为中心; ( 4)螺旋上升式的开发过程; ( 5)以质量控制和风险管理为目标; ( 6)与 UML配置; ( 7)适用性强; P45页 1、 2、 7、 8第三章 可行性研究的任务是以最小的代价在尽可能短的时间内确定问题是否能够解决。简单 地说 ,可行性研究的最终结果是决定项目 “ 做还是不做 ” 而不是 “如何做 ” 。1. 可行性研究的任务是什么 ?2. 可行性研究有哪些步骤 ? 7. 为方便旅客,某航空公
7、司拟开发一个机票预订系统。旅行社把预订机票的旅客信息 (姓名、 性别 、工作单位、身份证号码、旅行时间、旅行目的地等 )输入该系统,系统为旅客安排航班,印出取 票 通知和账单,旅客在飞机起飞的前一天凭取票通知单和账单交款取票,系统校对无误即打印出机票 给旅客 。 写出问题定义并分析此系统的可行性,画出系统流程图 。用 户单 位 Xxx航空公司负责 人 xxx开 发单 位 xxxx开 发单 位 负责 人 xxxx项 目名称 机票 预订 系 统问题 描述 旅行社把 预订 机票的旅客信息 输 入系 统 ,系 统为 旅客安排航班,旅客自己取票。项 目目 标 开 发 一个效率 较 高的机票 预订 系 统
8、 , 项 目 规 模 项 目的开 发预 投入 约 xxx元可行性研究 建 议进 行 3个月, 费 用不超 过 xxx元xxx年 xx月 xx日 签 字: xxxx 8. 某计算机系统投入使用后, 5 年内每年可节省人民币 2 000 元。假设系统的投资额为 5 000 元 ,年利率 为 12。试计算投资回收期和纯收入。1、投资回收期最初投资额为 5000元,经过 3年后可以节省 4814.28元,比最初投资还少 1185.72元,第 4年一年再次节省 1273.89元,则1185 721273 89=0.153 + 0.15=3.15因此这项工程的投资回收期是 3.15年。2、纯收入7224
9、53 - 5000=2224 53元 0,值得投资。第四章 P64页 1、 2、 3、 6 需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析 人员 理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统地 描述 待开发系统,及其行为特征和相关约束,形成需求文档;并对用户不断变化的需求演进 给予 支持。1. 什么是需求工程?需求工程包括哪些活动 ? 3 个层次,业务需求、用户需求、功能需求和非功能需求。2. 需求分为哪些层次 ? 3. 指出下列需求描述的不当之处,并进行改写,使之符合好需求的特性。 存在问题:需求不可测产品的哪个模块;具体哪些状态信息
10、;一定必须 60秒么,允许误差么? 修改建议后台任务管理器应该以误差上下不超过 10秒的 60秒间隔,在用户界面的指定位置显示状态信息。A。如果后台进程处理正常,那么应该显示任务已完成的百分数比。B。任务完成时,应显示相关的信息C。后台任务出错应该显示错误信息(1) 产品应在不少于每 60 秒的正常周期内提供状态信息 。 单词 “ 快速 ” 使其模糊, 没有 加进错误报告的定义也是其部完整。我不知道,你怎么验证这个需求。找一个自称为 HTML的入门者,看看能不能根据错误报告快速解决错误? HTML分析器可以产生一个错误报告,错误报告包含有在被分析文件中出错的 HTML文本和行号以及错误的描述。
11、如果没有错误,就不会产生错误 报告。(2) HTML 分析器可以产生 HTML 标记错误报告,帮助 HTML 入门者快速解决问题 。 计算机在瞬间不能做任何事,所以这个需求不切实可行。它的不完整性表现在没有声明触发状态切换的条件。软件要在某些条件下更改自己?或者用户为了模仿更改要做一些动作?而且,在文档中改变显示的范围是多大:选中的文本,整个的文档,或其他的?这也是个模糊的问题。不可打印字符合隐藏字符一样吗?或者是一些属性标志或一些控制字符?问题的后果,就是需求的不可证实。 用户能够在一个由特定触发条件激活处于编辑的文档中在显示和隐藏所有 HTML标记间 切换。(3) 产品应瞬间在文本中的显示和隐藏不可打印字符间切换 。 结构化:系统的 思想、问题分解与 抽象,至顶向下。 面向对象 :从 现实世界中客观存在的 事物 出发,尽可能地运用人类的自然思维方式 来分析构造 系统。6. 有哪两种主要的需求分析模型?它们的主要思想是什么 ?