2,以软件工程的方法进行系统开发,通过具体调研制定了相关的需求分析和可行性分析,_第1页
2,以软件工程的方法进行系统开发,通过具体调研制定了相关的需求分析和可行性分析,_第2页
2,以软件工程的方法进行系统开发,通过具体调研制定了相关的需求分析和可行性分析,_第3页
2,以软件工程的方法进行系统开发,通过具体调研制定了相关的需求分析和可行性分析,_第4页
2,以软件工程的方法进行系统开发,通过具体调研制定了相关的需求分析和可行性分析,_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 222,以软件工程的方法进行系统开发,通过具体调研制定了相关的需求分析和可行性分析,软件工程作业第一章1什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。软件是规模庞2 / 22大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。2简述产生软件危机的原因和解决的思路。答: 软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。解决软件危机,既要有技术措施,又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。3什么是软件工程?它有哪些本质特性?答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另3 / 22一种文化背景的人创造产品。4软件工程是如何用来消除软件危机的?软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。5假设你是某软件开发企业的 CEO,当你把教材的图给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服?首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低6简述软件的定义。软件 程序 + 数据 + 文档7软件工程的目的是什么?为高质量的软件开发提供一个科学的体系框架。8什么是软件工程方法学?软件工程是一种什么4 / 22样的技术?包括哪三大要素?分为哪三个分支?软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。软件工程作为一种层次化的技术,有方法、工具和过程三大要素,并由于其涉及学科内容的极为广泛,而分为三个分支:软件开发技术、软件项目管理技术、软件质量管理技术。9简述软件工程的基本原理。软件工程有 7 条基本原理:1严格按照软件生命周期计划进行管理 2坚持进行阶段评审 3实行严格的产品控制 4采用先进的程序设计技术5结果应能清楚的审查 6开发小组成员应少而精7承认不断改进软件工程实践的必要性10软件工程的基本开发原则有哪些?软件工程的基本开发原则有:1模块化 2抽象和信息隐蔽 3模块的高内聚和低耦合 4确定性 5一致性 6完备性11构成软件工程的基本元素有哪些?5 / 22除了前面给出的软件工程三大要素,还应该包括控制和质量保证。这里的控制,即规模控制、成本控制、复杂性控制等。12什么是软件过程?它与软件工程方法学有何关系?软件过程是指为了获得高质量软件产品,在软件工具支持下,由软件人员完成的一系列软件工程活动。软件过程规定了开发软件所需完成的各项任务步骤。过程步骤的设定与软件生命周期、生命周期模型、软件开发工具,以及参与开发的人员等诸方面因素有关。13什么是软件生命周期?什么是软件生命周期模型?答: 软件如同自然界任何事物一样,都有其孕育、诞生、成长、成熟、衰亡的生存过程。软件的这一过程,称为软件生命周期。软件生命周期模型也称软件开发过程模型,是为了解决产业环境中的实际问题,而提出的开发策略。是反映整个软件生命期中,系统开发、运行、维护等实施活动的一种结构框架。14简述软件生命周期方法学的途径,以及划分阶段步骤的目的和实质。 软件生命周期方法学是软件工程的6 / 22传统途径,划分阶段步骤的目的和实质是:控制开发工作的复杂性,通过有限步骤,把抽象逻辑概念,转化为具体物力实现。15试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明它们各自的适用范围。1瀑布模型。瀑布模型广为人知和历史悠久,其优势是规范及文档驱动的方法。但问题是,往往不能够真正满足用户的需求。适用于传统软件工程领域的结构化开发。 2原型模型。 是为了克服瀑布模型的缺点而提出来的。通过快速构建一个在机器上可运行的原型系统,让用户试用原型,并收集反馈意见的办法,来获取用户真实的需求。3螺旋模型。 螺旋模型适用于大型软件项目,比起之前的其它模型而言,有其一定的优越性,但这些优越性并不是绝对的。主要体现在对开发人员的风险评估经验和专门知识的要求较高。如果项目风险较大,而开发第一章1 简述软件的发展过程。共经历了四个阶段;第一阶段:计算机系统开发的初期。第二阶段:软件产品和“软件作坊”的概念开始出7 / 22现。软件开发人员不再像早期阶段那样只因个人工作需要而开发,而是为了用户更好地使用计算机。第三阶段:分布式系统嵌入“智能” ;硬件价格下降,软件价格急剧上升,导致了软件危机的加剧。第四阶段:强大的桌面系统和计算机网络迅速发展。2 简述软件的定义和特点。定义:软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。 特点:是一种逻辑实体,具有抽象性;软件的生产不存在明显的制造过程;在软件的运行和使用的过程中,不会存在像硬件那样的机械磨损及老化问题;由于对计算机系统的依赖性,对软件的通用性造成了一定的影响;软件的开发方式还没有完全脱离手工开发方式,还不能完全采用组装的方式进行软件开发;作为提高工作效率的逻辑产品,本身具有复杂性;成本相当昂贵;相当多的软件工作设计社会因素。3 软件有哪些种类1. 按功能特征进行划分系统软件。支撑软件。应用软件8 / 222. 按规模大小进行划分微型、小型、中型 、大型 、甚大型 、 、极大型4 什么是软件危机?答:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 5 什么是软件工程? 有哪些本质特性?怎样用软件工程消除软件危机? 答:是指导计算机软件开发和维护的一门工程学科。特性略。技术措施和管理措施消除软件危机。6 软件工程的三要素;方法、工具和过程。 7. 结合自己的亲身经历,谈谈软件工具在软件开发过程中的作用。 使软件开发更加模式化,工程化,从而提高软件开发的效率和封装性。8. CASE 的研究和 CASE 产品的开发是近年来软件工程领域的特点之一。请列举数种你所熟悉的 CASE 工具或环境,综述它们的概念和优缺点,并分析其实现方法。rose、 “数据字典”第二章1. 什么是软件生命周期?它有哪些活动?软件生命周期是指软件产品从考虑其概念开始到交付使用,直至最终退役为止的整个过程。软件生存周期可以划分为软件定义、软件开发和运9 / 22行维护 3 个时期2. 每一种过程模型的优点和缺点分别是什么?瀑布模型:优点:它在软件发展的早期,为开发人员提供了一种开发的基本框架,有利于大型软件开发过程中人员的组织、管理,有利于软件的开发方法和工具的研究和使用,从而提高了大型软件项目开发的质量和效率。缺点:在软件开发的初始阶段指明全部需求是非常困难的,有时甚至是不现实的需求一旦确定,用户和软件项目负责人要等一段时间才能得到一份软件的最初版本。瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会大大增加软件开发的工作量;而且当管理人员以文档的完成情况来评估项目完成进度时,往往会产生错误的结论,因为后期测试阶段发现的问题会导致返工,前期完成的文档只不过是一个未经返工修改的初稿而已。原型模型:优点:原型系统能够逐步明确用户需求,可以适应需求的变化性,而且由于用户参与到软件开发过程,能够及早发现问题、降低软件开发的风险,加快软件产品的形10 / 22成,降低软件开发的成本。缺点:对于大型软件项目,如果不经过系统分析并对系统进行整体划分,直接用原型来模拟系统功能是十分困难的。对于计算量大、逻辑性较强的程序模块,原型法很难真正构造出来供用户评价。对于批处理系统,其大部分处理是内部进行的,应用原型方法有一定的困难。原型的快速构造特点导致项目文档容易被忽略,给原型的后期改进和维护造成困难。在原型建立中的许多工作进展会被浪费掉,特别是对于丢弃型原型策略。在一定程度上,增加了系统的开发成本,降低系统的开发效率。螺旋模型:喷泉模型:优点:可以提高软件项目开发效率,节省开发时间。缺点:由于各个开发阶段的重叠性,开发人员的管理和阶段生成的文件管理存在困难。增量模型:优点:11 / 22是能在较短时间内,向用户提交可完成部分工作的产品。逐步增加产品功能,可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。缺点:增量的力度选择也很难把握,有时候很难将客户的需求映射到适当规模的增量上。构件组装模型:优点:这大大提高了软件开发的效率,而且构件模型允许多个项目同时开发,降低了费用,提高了可维护性。缺点:由于存在多种构件标准,缺乏通用的构件组装结构标准,如果自行定义标准的话,会引入较大的风险;构件可重用性和软件系统高效性之间不易协调,需要权衡;RUP:RUP 具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。但同时它也存在一些不足:RUP 只是一个开发过12 / 22程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说 RUP 是一个非常好的开端,但并不完美,在实际的应用中可以根据需要对其进行改进并可以用 OPEN 和 OOSP 等其他软件过程的相关内容对 RUP进行补充和完善。3. 软件瀑布模型为什么要划分阶段?各个阶段的任务是什么?在软件开发早期,开发只是被简单地分成编写代码和修改代码两个阶段。往往在拿到项目后立刻编写程序,然后调试通过后直接交付给用户使用。如果应用中出现错误,或者有新的要求,都需要重新修改代码。这种小作坊式的软件开发方法有明显的弊端,如缺乏统一的项目规划、不太重视需求的获取和分析、对软件的测试和维护考虑不周等,这些都会导致软件项目的失败。概念阶段:计划、需求分析开发阶段:设计、编码、测试维护阶段:运行维护4. 什么是原型?试述原型模型在软件生命周期中的应用。原型一般是指对某种产品进行模拟的初始版本或者13 / 22原始模型,在工程领域中具有广泛应用。由于软件规模和复杂性越来越大,软件开发在需求获取、技术实现手段选择、应用环境适应等方面面临巨大考验。为了应对早期需求获取的不易以及后期需求的变化,人们选用原型方法构造软件系统。5. 为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性?6RUP 模型的思想是什么?RUP 模型融合了哪些传统生命周期模型的特点? 迭代增量开发思想;面向对象:从技术角度,RUP 开发是基于面向对象技术,即它使用和支持面向对象技术的概念和方法。RUP要求建立的设计模型、实现模型都是对象模型。USE CASE 驱动以架构为中心;螺旋上升式的开发过程;以质量控制和风险管理为目标;与 UML 配置;适用性强;7. 举例说明哪些项目的开发适用于原型模型或螺旋模型,哪些不适于采用这两种模型。螺旋模型适合于大型软件的开发,应该说它是最为14 / 22实际的方法,它吸收了软件工程“演化”的概念,使得开发人员和客户对每个演化层出现的风险有所了解,继而做出应有的反应。不适用:小型软件。原型一般是指对某种产品进行模拟的初始版本或者原始模型,在工程领域中具有广泛应用。不适用:大型软件项目;含有对于计算量大、逻辑性较强的程序模块;第三章1. 可行性研究的任务是什么?可行性研究的任务是以最小的代价在尽可能短的时间内确定问题是否能够解决。简单地说,可行性研究的最终结果是决定项目“做还是不做”而不是“如何做” 。2. 可行性研究有哪些步骤?1. 确定系统规模和目标2. 研究目前正在使用的系统3. 导出新系统的高层逻辑模型4. 重新定义问题5. 导出和评价选择的解法6. 推荐行动方针7. 草拟开发计划8. 书写计划任务书文档并提交审查15 / 223. 成本-效益分析可用哪些指标进行度量?如果用比率分析法,有以下几种指标:1,相关指标分析法。产值成本率= 成本/产值*100%;销售收入成本率= 成本/销售收入*100%;成本利润率= 利润/成本*100%2,构成比率分析法,直接材料费用比率= 直接材料成本/产品成本*100%直接人工费用比率= 直接人工费用/产品成本*100%制造费用比率= 制造费用/产品成本*100%4. 项目开发计划有哪些内容?引言;项目概述5. 按照题意设计如下流程图:计算机房产管理系统:要求系统有分房、退房、调房、咨询和统计功能。房产科把住户申请表输入系统后,系统首先检查申请表的合法性,不合法的拒绝接受,合法的申请表根据申请表类型分别进行处理。分房申请处理:根据申请者的情况计算其分数;当分数高于给定值时,按分数高低将申请单插到分房队列的适当位置,输出核准后的分房单。分房处理:每月月底进行分房。从分房文件中读出空房信息,然后根据住户的实际情况,从住房标准文件中读出住房标准进行校核,如果符合,则分配住房给该16 / 22住户,打印出住房分配通知单,并登记相应的住户信息。退房,调房处理类似。咨询、查询:对空房、住房、房租情况进行查询和统计。6. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。写出问题定义并分析此系统的可行性,画出系统流程图。7. 为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息输入该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知单和账单交款取票,系统校对无误即打印出机票给旅客。写出问题定义并分析此系统的可行性,画出系统流程图。这个系统的可行性是在一个理想的环境下,比如:乘客不满意安排的座位需要调换,或者需要改机票;这些种种因素都没考虑进去。技术上可行:使用现有的技术能实现这个系统;经济上可行:这个系统的经济效益可以超过他的开发成本;操作上可行:操作方式简单,但是有缺陷;17 / 22社会、政策允许的可行性:可行。50在结构化分析方法中,与数据流图配合使用的是。A网络图 B实体联系图C数据字典 D程序流程图答案:C51通过可以完成数据流图的细化。A结构分解 B功能分解C数据分解 D系统分解答案:B52分层 DFD 是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的。A细节 B输人与输出c软件的作者 D绘制的时间答案:B53数据存储和数据流都是仅仅所处的状态不同。A分析结果 B事件C动作 D数据答案:D54数据字典中,一般不包括下列选项中的条目。A数据流 B数据存储C加工 D源点与终点18 / 22答案:D55在软件需求分析中,开发人员要从用户那里解决的最重要的问题是。A要让软件做什么 B要给该软件提供哪些信息c要求软件工作效率怎样 D要让软件具有何种结构答案:A56需求分析最终结果是产生。A项目开发计划 B可行性分析报告C需求规格说明书 D设计说明书答案:C57SA 方法用 DFD 描述。A系统的控制流程 B系统的数据结构C系统的基本加工 D系统的功能答案:D58SA 方法的分析步骤是首先调查了解当前系统的工作流程,然后。A获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型19 / 22C获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D获得当前系统的逻辑模型,建立当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论