软件工程作业(答案参考)
(完整版)《软件工程》作业及答案.

《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
软件工程作业全部答案

软件⼯程作业全部答案1、3. 请读者详细解释软件的定义与程序的定义。
软件的定义:软件 = 程序 + 数据 + ⽂档。
这⾥的程序就是指程序系统。
这⾥的数据不仅包括初始化数据、测试数据,⽽且包括研发数据、运⾏数据、维护数据,也包括软件企业积累的项⽬⼯程数据与项⽬管理数据中的⼤量决策原始记录数据。
这⾥的⽂档指的就是软件开发过程中的分析、设计、实现、测试、维护⽂档、管理⽂档。
现在有⼀种新提法正在引起关注,这种提法就是:软件 = 知识 + 程序 + 数据 + ⽂档。
程序就是计算机为完成特定任务⽽执⾏的指令的有序集合。
从应⽤的⾓度可理解为: ⾯向过程的程序 = 算法 + 数据结构⾯向对象的程序 = 对象 + 信息⾯向构件的程序 = 构件 + 构架。
1、5. 读者同意“四种开发⽅法”与“五个⾯向理论”的提法不?为什么?“四种开发⽅法”就是指“⾯向过程的⽅法、⾯向对象的⽅法、⾯向数据的⽅法、形式化⽅法”,⾯向过程的⽅法来源于⾯向过程的程序设计,⾯向对象的⽅法来源于⾯向对象的程序设计,⾯向数据的⽅法就就是⾯向元数据的⽅法,它来源于关系数据库程序设计,形式化⽅法来源于离散数学中的集合运算与逻辑运算。
四种⽅法各适⽤于不同的场合,各有优缺点,互相促进,构成⼀个开发⽅法论的多极化世界。
“五个⾯向理论”就是指“⾯向流程分析、⾯向数据设计、⾯向对象实现、⾯向功能测试、⾯向过程管理”,它就是在综合“四种开发⽅法”各⾃的优点之后提出的软件⼯程实施理论,就是对前者的继承与发展。
总之,上述提法既精彩⼜实⽤。
2、1 为什么要选择软件开发模型?软件开发模型与软件⽣存周期有什么关系?因为软件开发模型就是软件⼯程研究的四⼤内容之⼀,它虽然不就是软件⼯程研究的重点,但就是在宏观上特别重要。
软件公司的项⽬组在开发⼀个⼤项⽬或产品时,⾸先在技术上必须选择⼀个开发模型,使开发模型⾮常适合这个项⽬或产品的⽣存周期;随后通过对⽣存周期的裁减,来给出适合与本项⽬或产品的软件⽣存周期定义。
软件工程作业

作业1.第1题概要设计与详细设计衔接的图形工具是()。
A.数据流图B.结构图C.程序流程图D.PAD图您的答案:B题目分数:3此题得分:3.02.第2题需求分析()。
A.要回答“软件必须做什么?”B.要求编写软件需求说明书C.系统分析员可以采用访谈、简易的应用规格说明技术获取用户需求D.以上都对您的答案:D题目分数:3此题得分:3.03.第3题PDL是下列()语言。
A.高级程序设计语言B.伪码C.中级程序设计语言D.低级程序设计语言您的答案:B题目分数:3此题得分:3.04.第4题Jackson图上下层之间的关系是()。
A.调用关系B.组成关系C.继承关系D.嵌套关系题目分数:3此题得分:3.05.第5题()着重测试软件功能。
A.黑盒测试B.白盒测试C.功能测试D.循环测试您的答案:C题目分数:3此题得分:3.06.第6题软件设计一般分为总体设计和详细设计,它们之间的关系是()。
A.全局和局部B.抽象和具体C.总体和层次D.功能和结构您的答案:A题目分数:3此题得分:3.07.第7题模块内的某成分的输出是另一成分的输入,该模块的内聚度是()的。
A.功能性B.顺序性C.逻辑性D.瞬时性您的答案:B题目分数:3此题得分:3.08.第8题软件项目管理是()一切活动的管理。
A.需求分析B.软件设计过程C.模块控制D.软件生命周期您的答案:D题目分数:39.第9题Alpha测试是()。
A.由用户在开发者的场所进行B.由软件的最终用户在开发者的一个或多个客户场所进行C.是在不受开发者控制的环境中进行的D.是软件在开发者不能控制的环境中的“真实应用您的答案:A题目分数:3此题得分:3.010.第10题好的软件结构应该是()。
A.高耦合,高内聚B.低耦合,高内聚C.高耦合,低内聚D.低耦合,低内聚您的答案:B题目分数:3此题得分:3.011.第11题以下说法,错误的是()。
A.面向对象不仅支持过程抽象,而且支持数据抽象B.某些面向对象的程序设计语言还支持参数化抽象C.信息隐蔽通过对象的封装性来实现D.在面向对象方法中,类是最基本的模块。
软件工程作业含答案解析

软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2简述软件的分类,并举例说明。
(1)1.4什么是软件工程? (1)1.5简述软件工程的基本原则。
(1)1.6软件生存周期分哪几个阶段?分别简述各个阶段的任务。
11.9简述各类软件过程模型的特点。
(2)1.10敏捷软件开发的特点是什么? (2)1.12简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统工程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可行性分析的任务。
(3)3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。
(3)3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?33.3 一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
43.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。
.53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1简述软件设计阶段的基本任务 (5)4.2软件设计与质量的关系是怎么样的? (6)4.4简述模块、模块化及模块化设计的概念。
(6)4.6耦合和软件可移植性的概念有何关系?举例说明自己的结论。
(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。
64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。
75.2分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。
软件工程作业

软件工程-作业一、判断(共计50分,每题2.5分)1、测试计划、测试用例和有关的分析报告一般不用长期保存。
()A. 正确B. 错误参考答案:B2、类封装比对象封装更具体,更细致。
()A. 正确B. 错误参考答案:B3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
()A. 正确B. 错误参考答案:B4、面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。
()A. 正确B. 错误参考答案:A5、数据流图是结构化设计的最基本的工具。
()A. 正确B. 错误参考答案:B6、良好的面向对象程序设计风格,既包括传统的程序设计风格,也包括为适应而面向对象方法所特有的概念(如继承性)而必须遵循的一些新准则。
()A. 正确B. 错误参考答案:A7、模块化程序设计中,模块越小,模块化的优点越明显。
()A. 正确B. 错误参考答案:B8、软件测试的目的是证明软件是正确的。
()A. 正确B. 错误参考答案:B9、在软件开发中采用原型系统策略的主要困难是成本问题。
()A. 正确B. 错误参考答案:A10、结构化分析是面向数据流进行需求分析的方法。
()A. 正确B. 错误参考答案:A11、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。
()A. 正确B. 错误参考答案:A12、白盒测试无需考虑模块内部执行过程和程序结构,只要了解模块的功能即可。
()A. 正确B. 错误参考答案:B13、软件测试目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。
()A. 正确B. 错误参考答案:B14、UML是一种面向对象的建模方法。
()A. 正确B. 错误参考答案:B15、类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。
()A. 正确B. 错误参考答案:B16、开发一个软件项目总存在某些不确定性,即存在风险。
有些风险如果控制得不好,可能导致灾难性的后果。
()A. 正确B. 错误参考答案:A17、软件维护的目的就是修改程序中的错误。
《软件工程》作业及参考答案3

软件工程作业及参考答案第五、六章一、填空题1.详细设计的工具有(图形工具)、表格工具和语言工具。
2.为使用流程图描述结构华程序,限制流程图有五种基本的控制结构(顺序型)、(选择型)、(while型循环)、until循环、多情况型选择。
3.HIPO图是由一组(IPO)图和一张(HC)图组成。
4.IPO图由(输入)、处理和(输出)三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
5.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。
面向对象方法是一种运用(对象)、(类)、(封装)、(聚合)、消息传送、多态性等概念来构造系统的软件开发方法。
6.面向对象的软件工程方法是面向对象方法在(软件工程)领域的全面应用。
7.UML的定义包括(UML语义)和(UML表示法)两个部分。
二、判断题1.详细设计是在概要设计之后进行的。
它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述。
(√)2.程序设计语言中应绝对禁止使用GOTO语句。
(╳)3.PAD图在设置了五种基本的控制结构后,还允许递归调用。
(√)4.UML设定的目标之一是运用面向对象概念来构造系统模型。
(√)5.类是关于对象性质的描述,由方法和数据集成。
(√)三、简答题1.详细设计的任务是什么?参考答案:1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;2.确定每一模块使用的数据结构;3.确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
4.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
2.根据伪码画出N-S图。
STARTIF A THENBLOCKBCEND BLOCKEND IFSTOP3.根据伪码画出N-S图。
《软件工程》在线作业

一.单项选择题答题要求:下列各题,只有一个符合题意的正确答案,多选、错选、不选均不得分。
1.(2分)软件生命周期一般被划分为若干个独立阶段,其中占用精力和费用最多的是()。
A.运行和维护阶段B.设计阶段C.代码实现阶段D.测试阶段参考答案:A2.(2分)软件危机具有下列表现()。
I.对软件开发成本估计不准确:II.软件产品的质量往往靠不住:III.软件常常不可维护:IV.软件成本逐年上升A.I、II 和IIIB.k III 和IVC.Ik III和IVD.以上都正确参考答案:D3.(2分)下列属于软件的特点的是()。
A.软件是一种逻辑实体,具有抽象性B.软件在使用过程中没有磨损、老化的问题C.软件不同于一般程序,它的一个显箸特点是规模庞大,复杂程度髙D.以上都正确参考答案:D4.(2分)软件开发技术不包含()。
A.软件开发方法学B.软件工程环境C.软件工具D.软件质量度量参考答案:D5.(2分)(?)分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
A.增量模型B.喷泉模型C.原型模型D.螺旋模型参考答案:A6.(2分)产生软件危机的原因可能有()。
I .用户的需求描述不精确、不确肚:II.对大型软件项目的开发往往缺乏有力的组织和管理;III.缺乏有力的方法学和工具的支持;IV.软件产品的特殊性和人类智力的局限性A」和IIB.I、II和1VC.IL III和1VD.以上都正确参考答案:D7.(2分)软件工程的出现是由于()。
A.软件危机的出现B.汁算机硬件技术的发展C.软件社会化的需要D.汁算机软件技术的发展参考答案:A8.(2分)下列不属于软件工程方法学三要素的是()。
A.方法B.工具C.过程D.操作参考答案:D9.(2分)在E-R模型中,包含以下基本成分()。
A.数据、对象、实体B.控制、联系、对象C.实体、对象、属性D.实体、属性、联系参考答案:D10.(2分)系统技术可行性研究所涉及的技术应该是()技术。
软件工程课后作业参考答案

第六章 作业题参考答案3.画出下列伪码程序的程序流程图和盒图: STARTIF p THENWHILE q DO f END DO ELSEBLOCK g nEND BLOCK END IF STOP 答:(1)流程图如图6-1所示:图6-1从伪码变成的程序流程图 (2)该程序的盒图如图6-2所示:图6-2 从伪码变成的程序盒图4.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图6-3描绘了等价的结构化程序的盒图。
(a)解法1(b)解法2图6-3 与该图等价的结构化程序(用flag)(3)不使用flag把该程序改造为等价的结构化程序的方法如图6-4所示。
图6-4 与该图等价的结构化程序(不用flag)8.画出下列伪码程序的流图,计算它的环形复杂度。
你觉得这个程序的逻辑有什么问题吗?C EXAMPLELOOP:DO WHILE X>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP答:(1)该伪码的流程图如图6-8所示:图6-8 程序流程图根据该程序流程图,可得该程序流图如图6-9所示:图6-9 程序流图环形复杂度V(G)=流图中的区域数=流图中判定结点数目+1=6+1=7 (判定结点为:1、3、6、8、10、11)(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程第一次作业
1)软件工程适用范围?
答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
2)软件工程如何控制系统开发的复杂性的?
答:可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。
4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。
请问如果你是项目负责人,你会选择为客户开发那个层次的软件?
答:我会选择仅仅满足用户需求的软件。
因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。
而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。
若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。
5)协同工作有什么重要性?
答:日常工作中,80%的事项,都需要与同事协作完成、与其他部门协调资源、或者向领导进行请示汇报;80%的工作都处于开放的环境,如特殊请求、突发事件、临时汇报、项目协作、活动组织、意见征集、沟通协调等等,因此,通过柔性协作流程的使用,员工可以很便捷的实现与其他同事的头脑风暴、分工协作、资源整合,并且可以通过自建模板和自建流程的使用,使得很多处于随机和发散状态的工作实现有序化、可跟踪化、可追溯化,实现工作的敏捷性与有效性的统一,简单来说,就是实现员工的工作产生1+1>2的效果。
6 )只要是编程高手,即使是不懂软件工程,也能编出很好的软件。
答:不一定。
软件的开发是由需求调研分析、概要设计、详细设计、编码、测试及用户体验反馈等组成的。
所以只是懂得编码编程其中一部分不一定能编出很好的软件。
7 )只要拥有一套讲述如何开发软件的书籍,并了解了书中的标准与示例,就可以解决软件开发中遇到的任何问题。
答:好的参考书无疑能指导我们的工作。
充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。
但实践者并不能因此依赖于书籍,这有如下两个原因。
(1)在现实中,由于工作条件千差万别,即使是相当成熟的软件工程规范,也常常无法套用。
(2)软件技术日新月异,没有哪一种标准能长盛不衰。
祖传秘方在某些领域很吃香,而在软件领域可能意味着落后。
8 )只要拥有最好的开发工具、最好的计算机,一定能做出优秀的软件。
答:不一定。
软件的开发是由需求调研分析、概要设计、详细设计、编码、测试及用户体验反馈等组成的。
所以只是有最好的开发工具、最好的计算机其中一部分不一定能做出优秀的软件。
大公司经常有这样的心态。
良好的开发环境只是产出成果的必要条件,而不是充分条件。
如果拥有好环境的是一群庸人或者是一群勾心斗角的聪明人,难保他们不干出南辕北辙的事情。
9 )软件开发时,如果进度慢,落后于计划,可以增加更多的程序员来解决。
答:软件开发不同于传统的农业生产,人多不见得力量大。
如果给落后于计划的项目增添新手,可能会更加延误项目,原因如下。
(1)新手会产生很多新的错误,给项目添麻烦。
(2)老手向新手解释工作及交流思想都要花费时间,使实际开发时间更少。
所以精确地制定项目计划很重要,不在乎计划中的进度看起来有多么快,计划要恰如其分。
10 )争议:如果软件运行较慢,是换一台更快的计算机,还是设计一种更快的算法?
软件的性能问题;
答:如果开发软件的目的是为了学习或是研究,那么应该设计一种更快的算法。
如果该软件已经用于商业,则需谨慎考虑。
若换一台更快的计算机能解决问题,则是最快的解决方案。
改进算法虽然可以从根本上提高软件的运行速度,但可能引入错误并延误进度。
技术狂毫无疑问会选择后者,因为他们觉得放弃任何可以优化的机会就等于犯罪。
类似的争议还有:是买现成的程序,还是彻底由自己开发?技术人员和商业人士常常会有不同的决策。
11)开发一个软件大概需要多少资金、时间,将获得什么效益一般是在哪个阶段确定?相对而言,在哪个阶段与用户交流最多?
答:软件开发并没有说一定需要多少资金、时间,主要开软件的大小开发的难度。
软件要获得效益,一般都在软件测试阶段。
相对而言,此阶段也是与用户交流最多的。
12)系统分析员主要工作在哪个时期?程序员主要工作在哪个时期?
答:系统分析员主要工作在详细设计阶段,程序员主要工作在程序编码阶段。
13)软件定义时期的三个阶段,各自回答什么关键问题?
答:三个阶段
1.定义阶段:可行性研究初步项目计划、需求分析
2.开发阶段:概要设计、详细设计、实现、测试
3.运行和维护阶段:运行、维护、废弃
14)软件开发时期有几个阶段?各自回答什么关键问题?
答:软件开发一般分为五个阶段:
1.问题的定义及规划
此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
2.需求分析
在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。
需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。
“唯一不变的是变化本身”,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3.软件设计
此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。
软件设计一般分为总体设计和详细设计。
还的软件设计将为软件程序编写打下良好的基础。
4.程序编码
此阶段是将软件设计的结果转化为计算机可运行的程序代码。
在程序编码中必定要制定统
一、符合标准的编写规范。
以保证程序的可读性、易维护性。
提高程序的运行效率。
5.软件测试
在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。
整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。
测试方法主要有白盒测试和黑盒测试。
15)软件体系结构最早是在哪个阶段决定的?
答:最早在软件设计阶段决定的。
此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。
软件设计一般分为总体设计和详细设计。
还的软件设计将为软件程序编写打下良好的基础。
16)详细设计与程序编写阶段有什么样的密切联系?
答:详细设计与程序编写阶段的联系就比如详细设计是楼房住框架,程序编写是室内装修。
先有详细设计再有程序编写。
17)“软件测试是为了验证系统的正确性”这句话对吗?
答:不正确.
18)软件维护有那几种?各有什么功能?
答:软件维护一般分为适应性维护、改正性维护、完美性维护和预防性维护。
适应性维护即修改软件以适应环境的变化;改正性维护也就职诊断和改正在应用过程中发现的软件错误;完善性维护即根据用户的要求改进或扩充软件使它更加完善;预防性维护即修改软件为将来的维护活动预先做准备。
19)你是否开发过大型系统,开发模式是什么?在程序设计中使用过何种语言?
答:未曾开发过系统,具体不清楚。
程序中曾学过C语言与汇编语言,但都不太记得了。
20)如末开发型系统,你认为大型信息管理系统最佳的开发模式是什么?
答:我认为是原型模式,瀑布模式与渐增模式均假设在项目开始时,用户需求能被清楚完整地描述。
但在许多情况下。
这假设是不切实际的,因为用户经常无法把需求清楚完整地表达,有时虽能够清楚表达,但开发人员可能没有足够的经验与知识完全了解用户的需求,也可能一时无法找出问题的解决方法。
原型模式首先针对用户需求比较清楚的部分或开发人员能够掌握的部分,按照分析、设计、实施等步骤速度开发原型。
开发过程中,强调以原型作为用户与开发人员沟通的工具,双方通过原型的操作与反馈,以弄清、修改及扩充需求,并以此来修改与扩充原型。
上述步骤反复进行,直到系统复合双方约定为止。