软件工程项目导论复习仅供参考

上传人:mg****2 文档编号:121900836 上传时间:2020-02-27 格式:DOC 页数:20 大小:59KB
返回 下载 相关 举报
软件工程项目导论复习仅供参考_第1页
第1页 / 共20页
软件工程项目导论复习仅供参考_第2页
第2页 / 共20页
软件工程项目导论复习仅供参考_第3页
第3页 / 共20页
软件工程项目导论复习仅供参考_第4页
第4页 / 共20页
软件工程项目导论复习仅供参考_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《软件工程项目导论复习仅供参考》由会员分享,可在线阅读,更多相关《软件工程项目导论复习仅供参考(20页珍藏版)》请在金锄头文库上搜索。

1、 .软件工程概论1、软件危机定义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2、软件危机的两个主要问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。3、软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。(2) 用户对“已完成的”软件系统不满意的现象经常发生。(3) 软件产品的质量往往靠不住。(4) 软件常常是不可维护的。(5) 软件通常没有适当的文档资料。(6) 软件成本在计算机系统总成本中所占的比例逐年上升。(7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。4、根据软件危机的典型表现,分析软件危机

2、案例:传统工业中知名的生产方式可算是“手工作坊式”生产方式。过去的一段时间里,甚至到现在,中国软件业中还有一部分公司的开发方式与之类似。公正地说,以此方式还是成就了好多成功的应用开发项目,甚至可以说此法支撑起了软件开发的初期事业。但是,在我们的“作坊”里还有太多的项目失败,例如开发周期的不可控制、项目结果为用户所不认可、项目最终的严重亏损,这种失败的惨痛出乎我们的意料,以至于我们无所适从。再加上技术人员、资金严重匮乏的困扰,软件开发管理举步维艰。你认为“软件就是程序”这一个观点正确吗?如果不正确,请批驳之。1. 请从以下几个方面结合自己的经验实例加以论述。软件就是程序的观点是不正确的,因为软件

3、等于程序加文档加数据。(1) 文档是软件的一个非常重要的组成部分,在软件的开发过程中起着非常重要的作用。(2) 在软件开发的每一个阶段都应有相应的文档。它是开发人员与用户以及开发人员与项目管理人员之间交流的媒介(3) 文档是软件在不同阶段的表现形式。(4) 程序与文档必须一致,文档才有价值。(5) 文档质量直接决定软件质量的高低。(6) 文档也是软件测试和维护的依据。在没有文档或文档不全的情况下对大型软件进行测试与维护是不可思议的事情。(7) 文档是软件可重用的依据。5、软件工程定义:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间

4、考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地、高效的开发出高质量的软件并有效地维护它,这就是软件工程。6、软件工程的基本原理,案例分析(严格管理,阶段评审、审查和brooks原则)某公司开发一个企业信息化项目,随着项目的进展,该项目经理发现项目进度没有按照计划在进展,于是开始计划招聘相关人员,但是由于特殊原因,没有招到理想的人员,没有办法只能降低要求招聘,新员工到来后,项目经理发现项目进展反而更慢,该经理百思不得其解。请用软件工程基本原理分析问题。 软件开发不同于传统的机械制造,人多不见得力量大。如果给落后于计划的项目增加新人,可能会更加延误项目。因为新人会产生很多

5、新的错误,使项目混乱,并且原有的开发人员向新人解释工作和交流思想都要花费时间,使实际的开发时间更少,所以制定恰如其分的项目计划是很重要的。7、软件工程方法学,三要素:方法、工具和过程8、软件生命周期(概念、三时期,八阶段)软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成。软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。1、问题定义 2、可行性研究 3、需求分析 4、总体设计 5、详细设计6、编码和单元测试 7、综合测试 8、软件维护9、有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。(对) 10、软件过程

6、,案例分析:中华信息系统开发公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名管理员刚加入该公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度超过300 字。快速原型: 所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌瀑布模型 特点: 阶段的顺序性和依赖性(规范化) 推迟实现的观点(系统化) 质量保证(

7、阶段评审) 存在问题 不适合需求模糊的系统(需求的迷糊性和不确定性)适用于操作系统、编译系统、数据库管理系统等系统软件的开发 11、试论软件工程化思想在软件开发过程中的重要性。论述要点:在软件工程思想出现之前,人们通常把软件等同于程序,认为软件开发就是程序设计。致使计算机软件的开发和维护出现一系列的问题,软件开发常常失败,从而导致软件危机的出现。例如:(1)对软件开发成本和进度的估计常常不准确;(2)用户对“已完成”的软件常常不满意;(3)软件产品的质量往往靠不住;(4)软件的可维护性也很差;(5)软件通常没有文档资料;(6)软件成本在计算机系统的总成本中的比例逐年上升。解决软件危机问题的过程

8、中,便出现了软件工程化思想,人们逐渐地把软件工程化思想应用于软件开发过程中,使得软件开发的成本相对下降,并能得到有效控制,软件的开发进度可以得到预测,所开发的软件的质量稳步提高。人们逐步认识到,软件不仅仅是程序,而是程序、文档和数据的一个集合体,文档在软件开发的过程中起着相当重要的作用。人们按照软件工程化的思想把软件开发分为不同的阶段,每一个阶段都完成确定的任务,对每个阶段所完成的工作都可以进行评审,使得软件开发的可管理性可大大增强。对任何一个产品来说,质量都是第一位的,软件工程化思想的目的就是开发出高质量的软件系统。而事实证明,只有在软件开发过程中运用软件工程化思想才能开发出高质量的软件系统

9、;否则只能导致软件开发的失败。可行性分析 1、可行性研究的目的:在明确了所要研究问题定义之后,分析员应该在明确目标系统所有限制和约束的前提下,去确定该问题是否值得去解决。2、可行性研究实质: 技术可行性 经济可行性 社会可行性3、如何做可行性研究(结合案例分析)4、系统流程图的定义和作用可行性研究对现有系统做概括的物理模型描述,如用图形工具表示则更加直观简洁。系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不是对信息进行加工处理的控制过程。在可行性研究过程中,利用系统流程

10、图来描述所建议系统的物理模型。 5、数据流程图的定义和作用:数据流程图有两个特征:抽象性和概括性。 抽象性指的是数据流程图把具体的组织机构、工作场所、物质流都去掉,只剩下信息和数据存储、流动、使用以及加工情况。 概括性则是指数据流程图把系统对各种业务的处理过程联系起来考虑,形成一个总体。6、数据流程图的组成元素数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。7、

11、数据流程图的组成:外部实体(外部实体是指系统之外的人或单位,它们和本系统有信息传递关系)数据流,处理、数据存储。如何绘制数据流程图(1)识别系统的输入和输出,画出顶层图(2)画系统内部的数据流、加工与文件,画出一级细化图(3)加工的进一步分解,画出二级细化图(4)其它注意事项8、数据流程图的注意点(1)、每个处理都必须有流入的数据流和流出的数据流,如果没有,是错误的。(数据守恒) (2)、每个数据存储应该有流入的数据流和流出的数据流,如果缺了一种,是Warning的;缺两种就错了。 (3)、数据流只能在处理与处理、数据存储或者外部实体之间流动。、数据存储到数据存储、外部实提到外部实体、外部实提

12、到数据存储之间的数据流都是错误的。 (4)、 一个处理可以细分成多个子处理,分成若干个层次(均匀分解) (5)、良好命名9、数据字典(1) 数据字典是在数据流程图的基础上,对数据流程图中的各个元素进行详细的定义与描述,起到对数据流程图进行补充说明的作用。 (2) 数据字典的内容包括:数据项、数据结构、数据流、数据存贮、处理逻辑和外部实体。 10、可行性分析的结果需求分析1、为什么要做需求分析可行性分析研究阶段已经粗略的描述了用户的需求,甚至还提出了一些可行的方案,但是,许多细节被忽略了,在最终目标系统中是不能忽略、遗漏任何一个微小细节的,所以,可行性研究不能代替需求分析。 2、需求分析的任务需

13、求分析的主要任务不是确定系统如何完成它的具体工作,而是确定系统必须完成哪些工作,在用户的参与下提出目标系统的完整、准确、清晰、具体的实际要求,软件应完成的具体功能和性能,确定软件设计受到的限制及软件同其它系统的接口细节,描述软件用到的数据形式,逐步细化到详细定义,并为软件验收和质量评价提供依据。3、如何做需求分析(1)确定被开发系统的综合要求:系统分析员与用户共同讨论,澄清模糊要求,删除做不到的要求,改正错误的要求,确定具体的功能要求和性能要求。如:精确度要求,运行要求,软硬件限定条件要求,出错率限定要求,文件使用权限要求与读写保护要求,资源使用要求,运行维护成本消耗要求等;(2)分析系统信息

14、,抽象出系统的数据要求:通过系统的调查分析,由系统的信息流归纳、汇集,抽象出系统的数据模型(ER图),包括数据的组成元素、数据间的逻辑关系、数据的输入、输出、存储的形式及数据结构关系等;(3)由描述的系统问题结构导出系统的目标逻辑模型:利用软件需求工具和数据流分析方法导出系统的目标逻辑模型(数据流程图)。如:利用结构化分析工具、数据流程图进行描述和表达;功能模型和行为模型(4)根据系统实际需求审定和修正软件项目的开发计划:一般可由用户、开发方、专家组成的小组对项目预算、开发成本估计、计划安排、进度安排、人员和资源安排进行审定和修正,看其是否一致,是否符合软件的实际认定范围,确定出切实可行的开发

15、计划;(5)审定系统需求分析的正确性:利用原型、需求分析验证工具、或人工的方法进行审定;(6)提交软件需求规格说明书,作为系统的开发和验收的依据。 4、需求分析的难点(1)问题空间理解(2)人与人之间的通信(3)需求的不断变化5、ER图:可以把实体-联系图简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。 ER图中包含了实体(即数据对象)、关系和属性等3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线把实体(或关系)与其属性连接起来。6、状态转换图:指明了作为外部事件结果的系统行为。为此,状态转换图描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。状态转换图是行为建模的基础。7、软件需求的验证: 需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软件系统中15%的错误起源于错误的需求。为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。一般说来,应该从下述4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号