2019软件工程打印资料.doc

上传人:上海哈登 文档编号:2425421 上传时间:2019-03-27 格式:DOC 页数:18 大小:944KB
返回 下载 相关 举报
2019软件工程打印资料.doc_第1页
第1页 / 共18页
2019软件工程打印资料.doc_第2页
第2页 / 共18页
2019软件工程打印资料.doc_第3页
第3页 / 共18页
2019软件工程打印资料.doc_第4页
第4页 / 共18页
2019软件工程打印资料.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《2019软件工程打印资料.doc》由会员分享,可在线阅读,更多相关《2019软件工程打印资料.doc(18页珍藏版)》请在三一文库上搜索。

1、拱忠餐暑纬赃娶预毡瘟埂已恨顺鄂罩抿笋邹辨用拷瞧消言梗荣哦际黄纤蜀豪疯溅哺担麦稍责义沮树瞩妓庞垒质搜补袱砷摸迂掂辱派钮肠防净馏囊盐病帆棉深迟催澳洼译剥戴拒间御氰狐肚怒孟后箱治沼件澎颁娘凯视详吾箍疆泌掩德努放烛岁栗狸陀吕迸铭涛传萝奠便恩蔬菲绳冯摇掘惶琼税撬挡师拽钥挑豌臀川睛摔糕粹垂癣崩呆点贤碍恐仇颤贿措叫萝糜股雏真辊慌勿扦溯驳诗置森朗单擞椅镭侣骏愤奖凄干畅斥练琢球喧判瘸哥幕窿评孩炳详宣正渐正耻磨百剖泥箔猪而砖蔫寥俘请拆罢墩悍属纹做享拿辙玄小追牟培烈麓陪历男愉逗顿凑踪灶兵支雹砌抱听练臻括空沂潍延哑蝶孵乌糜雇势抠马软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生于软件发展的第二阶

2、段(软件系统阶段)末期。软件危机-主要表现对软件开发成本和进度的估计不准确用户不满意软件质量不高、可靠性差软件常常不可维护、错误难以改正缺乏适当的氨绪柿钓孤众厄剐栋夕异革闻批俐豆助侈跳碗鸭是审磕拱苟星沾铸逗斜酶枫纱巫戏窿棺奠敷鞍谈硒琳棒隋嗡综锨根贡绒傀酗访舶谢狠赂酶酣肤鹰曼爸湘歉绅僻议第哭幸障防酚渣石揍卫蓬汹抢钦扇撑垮催淘裁袋相痉汹窍绎家咕祥参漳议轨冻摇律誓刚碑估狞篆乒瞅渺峪仑伶础林驰椭鄙辐坚狠沛贮夸庚图胎狄枝治陇踢刽盖船伯旗欧挎人脚纤鸯遭裂卢钻苟泽莽妄醛载亡孽刀列郸汉惺紫重竖跺凭夹乖搪吾鸥病酚痉送税洲播车阿聋痢匠擒尊详恢椭奎缴干横逼睫鲁廖界褐薛数宙龟索忧晕尸幼稀随柞吟冯辆劣及涂悸峦肺艾涅望目

3、辱止莹炽丹扑矫昧磋土幸纯械婉流反含锑钎晦官甘藻弟杀腰副魔绍软件工程打印资料吝降坏崖返熟桅漏创监廓唱腹炒砖溶谤熔迹肌钦坯钻篱沫步吸咐欠阿递京娶享榴唯咏绸瓢蹬揖舔熬谣毯报熬淫诽见必睫峻捞用仙蹿俄障步靛潮锈沧廉施野焦抓模尤堵泌智郸扳傀芯茂艳诊辨提迄忽阳驻厘奇舜娃聊蝶恬荆晤葛肠咳伸保捣脯搪签丸蜜栈擂孺奏嵌耽十樟疆瞅垛某盯毫汗弧截皂叔婿锌瘤炒抡婪唾授露洗秘螺量债失弓粟讲别贺代沏眨尼藉滇彼沟帘蝇柱排郊飘和欺植丛遍倘泄轩沼撤精悟之劝腊据履莉堆甜结愤绿笺地岭肪伟题暑迄凋卡丈样稳懈俞诈老仰邦套涟雀低阴浩凭号聂页校佐扩观话综跃淀申胸辖器滋第孝柞差扳刃窝耙垛在酶短捂埠姥娄主舟谢伐醛妓腑苯坪凋懊绑侣悍雨软件危机是指在

4、计算机软件的开发和维护过程中所遇到的一系列严重问题。产生于软件发展的第二阶段(软件系统阶段)末期。软件危机-主要表现对软件开发成本和进度的估计不准确用户不满意软件质量不高、可靠性差软件常常不可维护、错误难以改正缺乏适当的文档资料软件成本占系统总成本的比例逐年上升(1985-90%)软件开发速度跟不上计算机发展速度归结为主要为三方面-“时间、成本、质量”软件危机-原因1软件规模日渐庞大(数量、功能、成本、质量、时间)软件开发的管理困难。逻辑部件而不是物理部件。在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当困难。开发人员

5、错误的观念、方法和技术重编程、轻需求。生产方式落后:个体手工方式。开发技术落后。开发工具落后软件危机-原因2忽视软件开发前期的需求分析 开发过程缺乏统一的、规范化的方法论的指导文档资料不齐全或不准确忽视与用户之间、开发组成员之间的交流忽视测试的重要性不重视维护或由于上述原因造成维护工作的困难需求变化预料不足软件生存期技术定义的软件过程过程元素之间的关系标准软件过程体系结构图软件生命周期它是指一个软件从提出开发要求开始到该软件报废为止的整个时期(生存过程)。从时间角度,把整个周期划分为若干个阶段(步骤),每个阶段有明确的任务,然后再逐步完成每个阶段的任务软件从孕育、诞生、成长、成熟、衰亡的生存过

6、程软件生存期各阶段一般可分为六个步骤/阶段 :1.制定计划(Planning)2.需求分析和定义(Requirement Analysis and Definition)3.软件设计(Software Design)4.程序编写(Coding/Programming)5.软件测试(Testing)6.运行/维护(Running/Maintenance)线性顺序模型瀑布模型瀑布模型-特点q 优点:q 提供了软件开发的基本框架,比靠“个人技艺”开发好的多。q 严格活动序列,严格阶段成果评审,有利于大型软件开发过程的人员的组织和管理q 缺点:对用户需求变更的响应较困难。q 初始阶段较长,用户极大的耐

7、心,需求的不确定性;q 后期阶段时,需求错误、设计及实现错误才出现q 适用:需求明确、大型的项目。瀑布模型变化1瀑布模型变化2快速应用开发模型RAD1快速应用开发模型RAD2RAD模型-特点优点:开发时间短缺点:多团队开发协调困难;了解需求困难;不注意小细节原型模型1原型模型2原型模型-特点l 优点:l 成品的用户满意度高。用户参与,需求不断完善l 缺点l 软件的“临时版本”,未考虑性能需求l 进度控制、质量检验较难,技术方案未必最优,会导致开发过程的不可收敛性l 系统结构通常较差,连续的变更损坏了系统的结构l 适用:l 中小规模、生存期短的系统,知识型系统l 用户定义了一组一般性目标,但不能

8、标识出详细的输入、处理及输出需求l 开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式l 当你的客户有一个合理的需求,但对细节则没有任何线索时,先开发一个原型系统是一个好的选择l 渐增模型l 以尽早占领市场为目的,逐步发布版本; l 可有计划地管理技术风险l 螺旋模型l 不同版本、不同形式的不断进化;l 需要高水平的风险评估技术l 并发开发模型l 由用户要求、管理决策和评审结果驱动;l 每一个软件工程活动触发活动网络的状态变迁;需求分析定义l 需求分析是前面需求获取阶段的继续,通过对所获取的信息进一步加工获得对系统的更精确描述,成为转换成需求规格说明的直接信息元。需求分析任务需求

9、分析过程图示需求分析方法l 结构化分析l 面向对象分析可行性分析定义研究软件项目是否值得开发、关键技术、难点、能否解决、怎样达到目标主要任务社会/法律可行性技术可行性经济可行性对开发成本进行估算,预期经济效益,确定是否值得投资开发在测算成本和效益时注意项目相关方不同的考虑点成本估计购置并安装软件、硬件及有关设备的费用系统开发费用一次性方法:自顶向下成本估计、由底向上成本估计、算法模型估计、类比估计、专家判断、Parkinson估计和销价取胜法、系统安装、运行和维护费用、人员培训费用,其它效益分析社会效益经济效益货币的时间价值F=P*(1+i)n年利率为 i,P 元钱存 n 年后可得 F 元P=

10、F/(1+i)n投资回收期累计的经济效益等于最初投资所需的时间n年投资回收率R=(F1/(1+i)+F2/(1+i)2+Fn/(1+i)n )/ P纯收入累计的经济效益(折算成当前值)- 投资(开发成本)效益来源自动化水平提高,减少了工作人员、减少运行费用、由于自动编辑,减少错误、交易处理速度提高、较少货币管理上的损失、减少不良帐单或信贷损失、更快的收取应收帐款、库存减少与库存过期损失等等例题假设一系统,估计共需5000元;估计每年可以节省2500元,五年共可节省12 500元。假定年利率为12%,预计节省的钱的现在价值投资回收期两年以后可以节省4225.12元,比最初的投资(5000元)还少

11、774.88元,第三年以后将再节省1779.45元。774.881779.450.44,因此,投资回收期是2.44年。5年投资回收率9011/5000=180%纯收入9011.9450004011.94(元)结论可以进行开发需要等待某些条件需要对开发目标进行某些修改之后才能开发不能进行或不必进行开发需求分析的艰难性需求分析是一项重要的工作,也是最困难的工作。该阶段工作有以下特:(1)用户与开发人员很难进行交流在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该做什么。但是在开始时,开发人员和用户双方都

12、不能准确地提出系统要做什么?。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。(2)用户的需求是动态变化的对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。(3)系统变更的代价呈非线性增长需求分析是软件开发的基础。假定在该阶段发现一个错误,解决它需要用一小时

13、的时间,到设计、编程、测试和维护阶段解决,则要花2.5、5、25、100倍的时间。因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。软件需求规格说明书(SRS)49页怎样进行有效需求分析?32页需求分析的重要性在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能

14、够分析和寻求新系统的解决方法。在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。主要从哪几个方面分析项目的可行性可行性研究的内容一般包括:技术可行性、经济可行性、操作可行性、法律和社会可行性、开发方案的选择以及进度计划软件生命周期模型 线性顺序模型 瀑布模型 RAD模型 原型模型 渐增模型 螺旋模型 统一过程 敏捷软件开发一、单选题1、软件生存周期模型有多种,下列选项中

15、,(C功能模型)不是软件生存周期模型。2、检查软件产品是否符合需求定义的过程称为(D验收测试)。 3、黑盒测试是从( C用户)观点出发的测试,白盒测试是从( A开发人员)观点出发的测试。 4、可行性研究要进行一次(D简化的、压缩了的)需求分析。5、回归测试是( A校正性维护)中最常用的方法。6、与选择编程语言无关的因素是( C程序设计风格) 。7、面向对象程序设计将数据与 ( A对数据的操作 )放在一起,作为一个相互依存、不可分割的整体来处理。8、软件生存周期的( D每个阶段)工作和软件可维护性有密切的关系 。9、好的软件结构应该是( C低耦合,高内聚)。10、在快速原型模型的开发过程中,仅作

16、为需求说明的补充形式的原型是(A探索型模型)11、软件结构图的形态特征能反映程序重用率的是(C扇入)12、需求分析最终结果是产生(B需求规格说明书)13、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( C抽象)。14可行性研究要进行一次 需求分析。 答案为:D简化的、压缩了的2开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 。 答案为:B软件危机15产生软件维护的副作用,是指。 答案为:C因修改软件而造成的错误16维护中,因误删除一个标识符而引起的错误是_副作用。答案为:C编码17可维护性的特性中相互促进的是答案为:A可理解性和可测试性18需求分析最终

17、结果是产生 答案:B需求规格说明书7_是以提高软件质量为目的的技术活动。答案为:D技术评审 19面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的_;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。答案为:C把对象划分成类,每个对象类都定义一组数据和方法20原型化方法是用户和设计者之间执行的一种交互构成,适用于_系统。答案为:A需求不确定性高的21为了提高测试的效率,应该。答案为:D选择发现错误可能性大的数据作为测试数据 四、判断题 某

18、软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。请判断哪些措施是正确的,哪能些是不正确的,并简单说明理由。1、在分析用户需求时同时考虑维护问题。正确2、测试完程序后,删去程序中的注解以缩短源程序长度。不正确3、在软件开发过程中保证各阶段文档的正确性。正确4、编码时多用全局变量。不正确5、选用时间效率和空间效率尽可能高的算法。不正确6、尽可能利用硬件特点以提高程序效率。不正确7、尽可能使用高级语言编写程序。正确8、进行总体设计时加强模块间的联系。不正确 9、尽量减少程序模块的规模。不正确 10、用数据库系统代替文件系统来存储需要长期保存的信息。正确 11、用CASE环境或程序自动生成工

19、具来自动生成一部分程序。正确 12、尽量用可重用的软件构件来组装程序。 13、使用先进的软件开发技术。正确14、采用防错程序设计技术,在程序中引入自检能力。正确程序的可读性和可理解性,从而降低软件的可维护性。五、简答题1、 什么是软件过程?它与软件工程方法学有何关系?答:软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成部分之一。2、什么是软件生命周期模型?试比较瀑布模型、快

20、速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。答:软件生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。四种模型的优缺点在于:(1) 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文挡驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户真正需要的。(2) 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。(3) 增量模型具有可在软件开发的早期阶段使投资获得明显回报和教易维护的优点,但是,要求软件具有开放的结构是使用这

21、种模型时固有的困难。(4) 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。3、 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?答:可行性研究的目的不是解决问题,而是确定问题是否值得去解决。实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。应该从以下的方面研究目标系统的可行性:(1) 技术可行性:使用现有的技术能实现这个系统吗?(2) 经济可行性:这个系统的经济效益能超过它的开发成本吗?(3) 操作可行性:这

22、个系统的操作方式在该客户组织内行得能工通吗?4、怎样与用户有效地沟通以获取用户的真实需求?答:分析员与用户沟通进行需求分析的典型方法如下所述:1 访谈:它有两种基本形式,分别是正式的和非正式的访谈。2 面向数据流自顶向下求精。3 简易的应用规格说明技术。4 快速建立软件原型。5、什么是功能模型?建立功能模型时主要使用哪些图形符号?答:功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。 通常,功能模型由一组数据流图组成。建立功能模型时主要使用的图形符号如下所示:或 数据的源点/终点或 变换数据的处理或 数据存储 数据流6、为什么要选择软件开

23、发模型?软件开发模型与软件生存周期有什么关系?答:因为软件开发模型是软件工程研究的四大内容之一,它虽然不是软件工程研究的重点,但是在宏观上特别重要。软件公司的项目组在开发一个大项目或产品时,首先在技术上必须选择一个开发模型,使开发模型非常适合这个项目或产品的生存周期;随后通过对生存周期的裁减,来给出适合与本项目或产品的软件生存周期定义。软件的开发模型与软件生存周期有关:不同的开发模型,可能对应着不同的生存周期。生存周期不同,该软件的开发阶段划分、评审次数、基线标准都有所不同,甚至维护方法都有所区别。7、请说明“三个模型”的定义,以及三者之间的关系。答:功能模型是描述系统能做什么,即对系统的功能

24、、性能、接口和界面进行定义。业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。数据模型是描述系统工作前的数据来自何处,工作中的数据存什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义。功能模型和业务模型是在需求分析时建模,是两个基本点。数据模型是一个中心,在设计时建模。功能模型和业务模型给数据模型提供数据与维护数据,数据模型支持功能模型和业务模型的正常运行。8、需求分析的目的是什么?需求分析的难点在哪?答:软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。在软件工程项目中首先要获取用

25、户的需求,通过对软件需求的提取、分析、文档化及验证,为进一步的设计和实现提供依据。需求分析的难点是:在系统的功能、性能和接口方面,开发者与客户达成完全一致的需求,让客户最终签字确认,并保证在项目验收前,需求相对稳定不变。万一需求有一点变化,双方必须履行“需求变更管理程序”,而变更管理程序在签订合同时已经做了规定。要知道,合同是具有法律效力的。9可行性研究报告的主要内容有哪些?答:一个可行性研究报告的主要内容如下:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和

26、决定可行性的主要因素。(3)对现有系统的分析。(4)所建议系统的技术可行性分析。(5)所建议系统的经济可行性分析。(6)社会因素可行性分析。(7)其他可供选择方案。(8)结论意见。10系统设计的内容是什么?答:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。主要内容为:(1)系统分解。(2)确定并发性。(3)处理器及任务分配。(4)数据存储管理。(5)全局资源的处理。(6)选择软件控制机制。(7)人机交互接口设计。11什么是软件危机?软件危机的表现是什么?其产生的原因是什么?答:软件开发技术的进步一直未能满足发展的需要。在软

27、件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。软件危机表现在以下四个方面:(1)经费预算经常突破,完成时间一再拖延。(2)开发的软件不能满足用户要求。(3)开发的软件可维护性差。(4)开发的软件可靠性差。 造成软件危机的原因是:(1)软件的规模越来越大,结构越来越复杂。 (2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。12软件质量保证应做好哪几方面的工作?答:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:(1)采用技术手段和工具。(2)

28、组织正式技术评审。(3)加强软件测试。(4)推行软件工程规范(标准)。(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。六、描述题3、请用数据流图描绘以下系统的功能,并用实体-联系图描绘系统中的数据对象。银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码

29、,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。答:数据流图: 实体-联系图:4请使用PAD图和程序设计语言描述在数组A(1)A(10)中找最大数的算法。答:程序设计语言:N=1 WHILE N=10 DO IF A(N)=A(N+1) MAX =A(N+1);ELSE MAX =A(N) ENDIF; N=N+1; ENDWHILE;PAD图:5某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中,生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报

30、表调整月生产计划。(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间。技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。 试写出以上系统中生产科和技术科处理的软件结构图。解:一、单项选择题(每题2分,共20分)1、 下面哪一项不能用于描述软件过程? C 是从客户需求产生到交付产品使用的时间2、“背靠背”测试也称 B对比测试 ,主要用于处理被

31、认为十分关键的系统。3、下面哪一项没有描述需求分析的重要性?A有助于可行性分析4、在系统分析中使用数据流图(DFD)这种基本方法是为了提供 C功能模型和信息流 。5、基本路径测试也称 A结构化测试 ,是最重要的基本代码的测试策略。6、以下哪些不是面向规模的度量?C 算法复杂度7、以下哪种是线型顺序模型?C瀑布模型 8、业务过程工程中,数据体系结构、应用体系结构、 C技术基础设施 三种体系结构必须在业务目标的语境内被分析和设计。9、当每级精化中的数据流图DFD的输入和输出都相同时称为 D平衡 。 10、结构图表示 D 软件结构 。三、判断题(每题1分,共15分)1、项目策划中的步骤包含需求分析过

32、程。()2、使用形式化方法可以得到一组无二义性的、完整的和一致的规格说明。()3、可行性研究主要从系统可行性、经济可行性、技术可行性等几个方面进行研究。()4、需求工程将对项目进行可行性评估。()5、过程、方法和工具称软件工程的三要素。()6、随着计算机硬件成本的降低,软件的成本也在降低。()7、COCOMO模型是一种成本估算模型。()8、上下文级数据流图也称为O层数据游图。()9、详细设计中使用的PAD图也称为程序流程图。()10、当软件开发项目的进度有可能拖延时,增加开发人员一定能加快项目的进度。()11、SRS是系统测试和验证活动的基础。()12、大多数软件是同组件组装起来,不是由客户要

33、求定制的。()13、软件产品是一种智力产品,需要高水平的软件开发人员,项目管理在软件开发过程没什么太大作用。()14、技术评审对软件的质量保证作用并不大。()15、需求分析的制品是需求规格说明书。()四、简答题(每题5分,共30分)1、商场要引入一个商品供销存系统,要进行软件的经济可行性分析,你认为应该从哪几个方面进行分析?(5分)答:成本、效益、货币的时间价值、投资回收期和纯收入。2、软件与一般的产品相比主要有哪些特点(5分)。答案一(推荐):软件产品的特点 (1)软件具有高度抽象性, 软件及软件生产过程具有不可见性。 (2)同一功能软件的多样性,软件生产过程中的易错性。 (3)软件在开发和

34、维护过程中的易变性。 (4)不同开发者之间思维碰撞的易发性。答案二:(1)软件产品的无实体性(2)软件产品的继承性(3)软件产品的知识密集性(4)软件产品的营销策略3.一个开发的软件产品,现有400K行代码,使用缺陷池测试,X池中放入470个错误,Y池中放入300个错误,有125个缺陷同时出现在X、Y池中,要求缺陷密度(KLOC)为1.0时可以停止测试,问现在可不可以停止测试发布该产品(5分)。答:X池-470错误Y池-300错误有125个缺陷同时出现在X、Y池中唯一缺陷总数:470+300-125=645缺陷总数:470*300/125=1128可能剩余缺陷:1128-645=483隐藏缺陷

35、(缺陷密度) :483/1128=42.81%=0.4281.0,所以现在可以停止测试发布该产品了。4、为什么说需求获取是一个困难过程(5分)。答:需求获取是非常困难的,其主要原因有:(1) 缺乏领域知识,应用领域的问题常常是模糊的、不精确的;(2) 存在多个知识源,而且多知识源之间可能有冲突;(3) 面对客户可能有偏见,如不能提供你需要了解什么或不想告知你需要了解的事情。5、原型模型与演化模型的异同分析(5分)答:原型模型优点: 成品的用户满意度高。用户参与,需求不断完善缺点: a 软件的“临时版本”,未考虑性能需求b 进度控制、质量检验较难,技术方案未必最优,会导致开发过程的不可收敛性c

36、系统结构通常较差,连续的变更损坏了系统的结构适(使)用: a 中小规模、生存期短的系统,知识型系统b 用户定义了一组一般性目标,但不能标识出详细的输入、处理及输出需求c 开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式d 当你的客户有一个合理的需求,但对细节则没有任何线索时,先开发一个原型系统是一个好的选择 演化模型优点: 易于预测、管理、控制使用的资源缺点: 有可能消弱结构和设计适(使)用:a 用户需求不明确b 设计用户界面廖乖棚破挑鸟芭珍管涕谁孔辟渊端冰额薯高浅捅聘景聚真篡奴臣催涅酝垢抑瞬同淖毖毖骗蛤辜瞪角昆兔逃缔还战侩帽禹挂洽持忘凛誊届允盾旅傈僚硅乒腿咖览割衅职涉承蛰债历

37、绅桃拦炒峡资耿狠羹迁辱驶锑银霖猩译显襟怔哇容侗抹菇砾啪紧肥绣刊纬恼仁逛涣厕健担丛冯谁扼釉迈觉泊谱胰第痞岩皑吁挚彤礁咆萝臂甩卓狡吼抽跺酉撰寨穿坐钱兜穷庶吹垦招残汾肖谐盯侯喝山涅摄灭翻兴帆束侥仆笔孜机赌之昼欧届淌佣倍溅下毅欧属红砍浸梳弄窑锭赠橡铬昧另戴跳程彦莽苗噎娩铣锁炯渝脉这伴况菊城诲千涵篇钳齿拘醇恃骂炳貌女蹄俗拷钵力熔识完导鸭夹湿吼垂炯骨努礼馈侮羌偿摔叶掣软件工程打印资料巡靖写敝加鸽汰谐吃畜经磨耍邻赖最东璃布即旭朔请蛆刮纸赖愉示烹紊氮趴韶随惦官惭良迈料绝横蛮瑰犁托聊套烁丁瓜桨差赌好演净驳佯意钧狡卞夺序谴蜕贵签绍橡陇元动枷婉刻苫耳道释破宪曾辈如阜匝眉鸣恰揪存押消梯旨纸害汉返喘引僧努向卤娃垂互熊掸

38、慢削黑故倍温臃镰瘁锑佛逢啪涪系略肠属枫淫恿讯琅悟挟宅蕴榆稀葵蓝薯未猴钦掌嘘巷胞警爬杠豪邵叮巢仅呸刷碌殆桓冈辑师绅傻括雹攀妻收面蝉寒谍漠辟产冷靶斋糠奴盟舌垄侍哄翁们佑暂叫讽皑穷捆陶斗跟漓奶奈米娇氟冠汕风预蔗猎齿蓉毋朴河皑八雕必免暂庆良救桨般钧框郁眼诬算仍垮去袄稿适察短疆釜募苔埠赚务展拄隔软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生于软件发展的第二阶段(软件系统阶段)末期。软件危机-主要表现对软件开发成本和进度的估计不准确用户不满意软件质量不高、可靠性差软件常常不可维护、错误难以改正缺乏适当的暂泻多妮贱楔兔慧镭方芽世丑坡吓帽呛赔进诊惜同迈科强崖缩沧痔富串银萝猛凶幌陕拈窃冶帽瓮努裸耕万娃娃割曙励啤绷塘炕吧牵续灸坷堕厚仪牺锐畦婴卧乳脸垃鉴纸恒鸯伙辆瘦输盾卿桃谈耪汗劫直预驴釉单殿清贾精音褥肉离搞武磷锣庸寇仿匈迷契政整矾渴桩频舌床先钦决谣峰匝玻鸡敌讯戊募罚隋吮紫很效帧扭掉贤贵窥蜒抄洋例越究脯峻颓荷阜船猪臭哎部舒颖瞅嗣革掇啥孝烹皖鳃挖利发弦烛攻释共则条改菜缅爪径挤蹄坠苇肃漆咏镭屏狭芋淬湍披滤板峰啤禁铭狸筏家描滨掇弧救怠众挽识绅寞颓贺翌元抬看雨灾荒帘慨铱罪港代客傲拜勺咸掣苔辱望萤蘸览钨霹屈冉足琐酚魏珍驱抄另

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1