软件工程导论第五版复习重点(必考题)
软件工程导论第五版复习重点(汇总)

第一章一、什么是软件?1.满足功能要求和性能的指令或计算机程序集合;2.处理信息的数据结构;3.描述程序功能以及程序如何操作和使用所要求的文档;二、软件的特点:1)软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
2)软件是通过人们的智力活动,把知识与技术转换成信息的一种产品,是在研制、开发中被创造出来的3)在软件运行和使用的期间,没有硬件那样的机械磨损、老化问题4)软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性5)软件的开发至今尚未完全摆脱手工的开发方式6)软件的开发费用越来越高,成本相当昂贵。
三、软件危机的概念:软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
四、产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
五、软件危机的两个主要问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
六、软件产品的重用性差,同样的软件多次重复开发。
七、软件通常没有适当的文档资料。
八、软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
软件工程(第五版)_复习题与答案

《软件工程》(第五版)习题参考答案第1章一、判断题1、(×)软件的维护与硬件维护本质上是相同的。
2、(√)软件在运行和使用中也存在退化问题。
3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。
4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。
5、(×)文字处理软件Word属于系统软件。
应用软件6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
8、(×)快速原型模型对软件开发人员的水平要求不高。
9、(√)喷泉模型适合于面向对象的软件开发。
10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题1、软件是一种(C)。
A、程序B、数据C、逻辑产品D、物理产品2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定B、软件开发的步骤C、软件开发的技术D、软件开发的思想3、软件生存周期中花费最多的阶段是(D)。
A、详细设计B、软件编码(最少)C、软件测试D、软件维护4、软件工程的三要素不包括(D)。
A、工具B、过程C、方法D、环境5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。
A、总体设计B、详细设计(怎么做)C、可行性研究(能不能做)D、需求分析6、瀑布模型本质上是一种(A)模型。
A、线性顺序B、顺序迭代C、线性迭代D、能及早见到产品的7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法B、程序语言C、平台D、用户需求8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。
A、瀑布模型B、喷泉模型C、快速原型模型D、螺旋模型9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清B、用户不能参与开发C、用户对计算机不了解D、开发人员对业务知识不熟悉10、快速原型的主要优点不包括(D)。
最新软件工程导论第五版习题答案教学讲义PPT

D3生理信息
F4警告信息
F2生理信号
P1 接收信号
定时的生理信号
P5 更新日志
F2生理信号 定时的 生理信号
E1 护士
E3 时钟
F3日前、时间
P4 定时取样 生理信号
F6日志
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
从问题陈述可知,本系统数据源点是“病人”和“护士” ,他们分别提供生理信号和要求病情报告的信息。进一步 分析问题陈述,从系统应该“定时记录病人情况以形成患 者日志”这项要求可以想到,还应该有一个提供日期和时 间信息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接收警告信息 和病情报告的护士。
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
13
作业及解答(第3章)
2-5 北京某高校可用的电话号码有以下几类:校内电话号码 由4位数字组成,第1位数字不是0;校外电话又分为本市 电话和外地电话两类,拨校外电话需先拨0,若是本市电 话则再接着拨8位数字(第1位不是0),若是外地电话则拨3 位区码再拨8位电话号码(第1位不是0)。
8
作业及解答(第3章)
E1 护士
F4警告信息、病情报告 F1要求报告
E1 护士
E2 病人
F2生理信号
P0 患者监护系统
F6日志
D1患者日志
F5安全范围
D2患者安全范围
E3 时钟
软件工程第五版期末复习绝密

软件工程复习填空题:一、1.同一软件的大量软件产品的生产主要是通过复制(拷贝)而得到。
2.软件工程的主要思想主要是软件生产中用工程的方法代替传统手工方法。
3.结构化方法有结构化分析、设计和结构化实现构成。
4.瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段模型。
5.软件是一种逻辑产品,它以程序和文档的形式出现,通过程序的运行才能体现它的功能和作用。
6.软件工程研究的主要内容是软件开发技术和软件管理技术两方面。
7.软件生存周期是指一个软件从问题提出开始知道软件报废二止的整个时期。
8.增量模型是一种非整体开发的模型,软件在该模型中式逐渐开发出来的。
9.维护是软件生存周期中的时间最长的阶段。
二、1.软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定项目是否值得去做(问题是否能够解决)。
2.系统流程图是描绘物理系统传统工具,他用图形符号表示系统中的各个元素,他表达了数据在各个元素之间的流动情况。
3.成本——效益分析的目的是从经济角度评价一个新的软件项目是否可行。
4.可行性研究的第一步骤是复查系统规模和目标。
5.可行性研究的最后步骤是书写可行性研究报告。
6.在画分层的数据流图时,子图的输入输出数据流同父图相应加工的输入输出数据流必须相同(一致)。
7.对于复杂问题的数据处理过程,要用分层的数据流图来表达,它的顶层图描述了系统的整体逻辑概貌。
8.纯收入是累积效益现在值与投资之差。
三、1.需求分析的基本任务是要准确的定义系统目标,回答系统必须做什么的问题。
2.编写用户手册,着重反映出开发软件的用户功能界面和使用的具体要求,它能强制分析人员从用户使用的观点积极考虑。
3.传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统做的功能,但他仅是一个静态模型没有反应处理的顺序。
4.为完整的描述用户对系统的要求,DFD应与数据库系统中E-R图结合起来。
5.需求分析阶段产生最重要的文档是软件需求规格说明书。
-软件工程导论复习题.doc

软件工程导论复习题一、名词解释软件、继承性、封装、多态性、软件危机、UML、用例视图、软件生存周期、瀑布模型、需求分析、模块化、模块独立性、白盒测试、等价类划分、风险管理二、选择题1、封装是指把对象的()结合在一起,组成一个独立的对象。
A.属性和操作B。
信息流C。
消息和事件D。
数据的集合2、封装是一种()技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。
A.工程化B。
系统维护C。
信息隐蔽D。
产生对象3、面向对象方法中的()机制使子类可以自动地拥有(复制)父类的全部属性和操作。
A.约束B。
对象影射C。
信息隐蔽D。
继承5、软件是一种逻辑产品,它的开发主要是()A研制B拷贝C再生产D复制6、软件生命周期一般包括:软件开发期和软件运行期,下述()不是软件开发期所包含的内容?A需求分析B结构设计C程序编制D性能优化8、在软件生存周期中,()阶段必须要回答的问题是“要解决的问题是什么?”A需求分析B可行性分析与项目开发计划C概要设计D测试9、在软件开发中,通常要花费()以上的代价进行测试和排错A20% B 30% C 40% D 50%10、在软件开发方法中,()方法总的指导思想是自顶向下、逐步求精。
它的基本原则是功能的分解和抽象。
A结构化B面向对象的开发 C JSD D VDM11、软件工程是一门()学科。
A原理性B工程性C理论性D管理性12、()的目的就是用最小的代价在尽可能短的时间内确定一个软件项目是否能够开发,是否值得去开发。
A软件可行性研究B项目开发计划C软件需求分析D软件概要设计13、系统流程图是一种传统工具,它用来描述()。
A物理模型B逻辑模型C体系结构D目标系统14、()首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。
A成本—效益分析B货币的时间价值C投资回收期D纯收入15、可行性分析中,系统流程图用于描述()。
A当前逻辑模型B新系统C当前运行系统D目标系统16、设年利率为I,若n年能收入F元,那么这些钱现在的价值P 是()A P=F/(1+n*I)B P=F*(1+n*I)C P=F*n*(1+n)D P=F*(1+I)n17、需求分析阶段,分析人员要确定对问题的综合看法,其中最主要的是()需求A功能B性能C可靠性D可维护性18、需求分析阶段产生的最重要的文档是()A需求规格说明书 B 修改完善的软件开发计划C 确认测试计划D 初步的用户使用手册19、数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是(),整个图不反映加工的执行顺序。
软工第五版知识点总结

第一章:软件工程学概述1.1946年,世界上第一台电子计算机诞生,从宏观角度而言,计算机软件的发展主要经历了以下三个阶段:(1)第一阶段——程序设计阶段;(2)第二阶段——软件工程阶段;(3)第三阶段——软件过程阶段2 软件危机:2.1定义:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.2主要是两个方面的问题:如何开发软件──怎样满足对软件日益增长的需求如何维护软件──数量不断膨胀的已有软件2.3主要表现:对软件开发成本和进度的估计常常很不准确。
用户对为他们开发的软件往往不满意。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度太慢。
2.4产生软件危机的原因:1. 软件本身的特点不同于硬件: (1)软件是逻辑的,而不是物理的产品。
(2)软件是由开发或工程化而形成的,没有明显的制造过程。
(3)软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。
2. 软件人员的主观原因:开发与维护的方法不正确。
早期软件开发个体化。
至今,忽视软件需求分析的重要性,轻视维护;困境中的消极态度;2.5解决软件危机的途径:a正确认识软件,软件包括:程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。
b推广使用在实践中总结出来的开发软件的成功技术和方法,研究、探索更好更有效的技术和方法c开发和使用更好的软件工具d有必要的组织管理措施3.软件工程;指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到得最好得技术方法结合起来.软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。
4.软件工程方法学A:传统方法学:生命周期方法学或结构化范型采用结构化技术(结构化分析、设计和实现)把软件生命周期划分成若干阶段:每一阶段结束前都必须进行技术审查和管理复审,试图以每一阶段的正确性和完整性来保证最终产品的质量。
软件工程导论第五版复习重点

储户
储户
1
记录存款 信息
打印存款 信息
存款单
存款信息
存款存单
3
计算利息
4
打印利息 清单
存款信息
利息值
利息清单
D1
存款信息
存款信息
2
细化后的计算机储蓄系统软件结构
第3章 需求分析
1、需求分析的基本任务是什么?P46-P48 2、分析建模 2.1什么是模型? 模型:就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。 2.2数据模型(E-R)、 功能模型(2.4节数据流图)、 行为模型(状态转换图是行为模型的基础) 3、要从哪些方面验证软件需求?P60
第6章 详细设计
1、结构程序设计中有哪几种基本控制结构?P108 2、了解人机界面的设计。 3、掌握过程设计的工具(程序流程图、盒图、PAD图,判定树)P114—P119 4、面向数据结构的设计方法(Jackson图) 5、程序复杂度的定量度量(McCabe)
6.1 结构程序设计
6.1 结构程序设计
实现
编码和测试
7.2 软件测试基础
7.2 软件测试基础
软件测试:为发现程序中的错误而执行程序的过程。 软件测试的准则(尽早和不断的测试、彻底测试的不可能、软件测试是有风险的行为、并非所有的软件错误都能恢复、反向思维逻辑、由小到大的测试范围、避免检查自己的代码、追溯至用户需求) 测试方法(黑盒测试和白盒测试) 测试步骤(模块测试、子系统测试、系统测试、验收测试、平行运行)
图6.4 盒图的基本符号
图6.5 PAD中基本符号 顺序结构;(b) 分支结构;(c) 多分支CASE结构; (d) 当型循环;(e);直到型循环;(f) 语句标号;(g)定义
软件工程导论第五版复习资料

软件工程导论第一章软件工程学概述1、软件完成特点功能的程序以及数据结构和文档2、软件的特点(1)软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
软件开发、设计几乎都是从头开始,成本和进度很难估计。
(2)软件存在潜伏错误,硬件错误一般能排除。
(3)软件开发成功后,只需对原版进行复制。
(4)软件在使用过程中维护复杂:1)纠错性维护—改正运行期间发现的潜伏错误;2)完善性维护—提高或完善软件的性能;3)适应性维护—修改软件,以适应软硬件环境的变化;4)预防性维护—改进软件未来的可维护性和可靠性。
(5)软件不会磨损和老化。
3、软件危机及软件危机的表现软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
软件危机的表现1)对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象,从而降低了开发商的信誉,引起用户不满。
2)用户对已完成的软件不满意的现象时有发生。
3)软件产品的质量往往是靠不住的。
4)软件常常是不可维护的。
5)软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
6)软件成本在计算机系统总成本中所占比例逐年上升。
特别是软件维护成本迅速增加,已经占据软硬件总成本的40%~75%。
7)开发生产率提高的速度远跟不上软件需求。
4、软件工程及软件工程的特性软件工程是用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。
软件工程的特性:1)软件工程关注于大型程序的构造2)软件工程的中心课题是控制复杂性3)软件经常变化4)开发软件的效率非常重要5)和谐地合作是开发软件的关键6)软件必须有效地支持它的用户7)在软件工程中是由具有一种文化背景的人替具有另一种文化背景的人创造产品5、软件工程的基本原理用分阶段的生存周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应少而精承认不断改进软件工程实践的必要性6、软件生存周期一个软件从得出开发要求开始直到该软件报废为止的时期。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(最后部分为每年必考题)第一章1. .软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
它借鉴传统工程的原则、方法,以提高质量,降低成本为目的.2. 软件危机的概念:软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。
3. 产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
4. 面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。
4.对象彼此间仅能通过发送消息互相联系。
5. 软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要)6. 瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。
7. 微软过程把软件生命周期划分为成5个阶段:规划阶段,设计阶段,开发阶段,稳定阶段,发布阶段。
第二章1.可行性包括:技术可行性,经济可行性,操作可行性。
2. 系统流程图是概括地描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形势描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。
系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。
4. 书库流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在数据流图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。
数据流图是系统逻辑功能的图形表示。
5. 用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。
有数据元素组成的数据的方式只有下述3种基本类型:顺序(即以确定次序连接两个或多个分量)。
选择即从两个或多个可能的元素中选取一个重复即把指定的分量重复零次或多次第三章1.访谈有两种基本形式,分别是正式的和非正式的访谈2.所谓情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析3.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。
4.使用简易的应用规格说明技术分析需求的典型过程:(总结出来)5.快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。
6.所谓模型就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。
7.需求分析过程应该建立3种模型,它们分别是数据模型,功能模型,行为模型.8.概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型9.数据对象是对软件必须理解的符合信息的抽象。
10.数据对象彼此之间相互连接的方式称为联系,也称为关系。
联系可分为3种类型:一对一联系,一对多联系,多对多联系。
11.状态时任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。
12.事件就是引起系统做动作或(和)转换状态的控制信息。
13.IPO图是输入,处理,输出图的简称。
14.软件的验证:一致性,完整性,现实性,有效性第四章1.所谓形式化方法,是描述系统性质的基于数学的技术,也就是说,如果一种方法有件事的数学基础,那么它就是形式化的。
2.用于确定系统中隐含的定时问题的一种有效技术是Petri网3.用Z语言描述的、最简单的形式化规格说明含有下述4个部分:给定的集合、数据类型及常数。
状态定义初始状态操作第五章1.总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。
2.模块是由边界元素限定的相邻程序元素(例如,数据说明,可执行的语句)的序列。
3.抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
4.逐步求精定义:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。
5.抽象程序对抽象的数据进行某些特定的运算并用某些合适的记号(可能是自然语言)来表示。
6.信息隐藏,信息隐藏的原理,1.局部化就是把一些关系密切的软件元素物理的放得彼此靠近。
2.耦合是对一个软件结构内不同模块之间互连程度的度量。
3.数据耦合是低耦合,控制耦合式中等程度的耦合,最高程度的耦合式内容耦合。
4.如果一个模块完成一组任务,这些任务彼此间即使有关系,关系也是很松散的,就叫做偶然内聚。
5.中内聚主要有两类:如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。
6.高内聚也有两类:如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行,则称为顺序内聚。
深度表示软件结构中控制的层数,它往往能粗略的标志一个系统的大小和复杂程度。
7.宽度是软件结构内同一个层次上的模块总数的最大值。
8.扇出事一个模块直接控制(调用)的模块数目。
9.一个模块的扇入表明有多少个上级模块直接调用它。
10.设计的很好的软件结构通常顶层扇出比较高,中层扇出比较少,底层扇入到公共的实用模块中去(底层模块有高扇出)11.模块的作用域应该在控制域之内(2种方法)?????12.面向数据流的设计方法把信息流映射成软件成结构,信息流的类型决定了映射的方法。
信息流有两种类型:变换流,事务流。
13.总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案。
并且进而确定组成系统的每个程序的结构。
14.在进行软件结构设计时应该遵循的最主要的原理是模块独立原理。
第六章1.结构程序设计的经典定义:如果一个程序的代码仅仅通过顺序,选择和循环这3种基本结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
2.系统响应时间指从用户完成某个控制动作(例如,按回车键或单击鼠标),到软件给出预期的响应(输出信息或动作)之间的这段时间。
3.系统响应时间有两个重要的属性:长度和易变性。
4.易变性指系统响应时间相对于平均响应时间的偏差。
5.一般交互指南涉及信息显示,数据输入和系统整体控制。
6.过程涉及的工具:程序流程图,盒图,PAD图,判定表,判定树7.PDL作为一种设计工具有如下一些特点(要求看懂伪码)第七章1.通常把编码和测试统称为实现。
2.编码和单元测试属于软件生命周期的同一个阶段。
3.编码的标准:1.系统用户的要求2.可以使用的编译程序3.可以得到的软件工具4.工程规模4.程序员的知识6.软件可移植性要求7.软件的应用领域5.所谓程序内部的文档包括恰当的标识符、适当的注释和程序的视觉组织等。
6.当多个变量名在一个语句中说明时,应该按字母顺序排列这些变量。
7.效率主要指处理机时间和存储器容量两个方面。
8.在大型计算机中必须考虑操作系统页式调度的特点,一般说来,使用能保持功能域的结构化控制结构,是提高效率的好方法。
9.二级存储器的输入输出应该以信息组为单位进行。
10.测试阶段的根本目标是尽可能地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。
11.软件测试的目标:1.测试是为了发现程序中的错误而执行程序的过程 2.好的测试方案是发现了至今为止发现的错误的测试 3.成功的测试是发现了至今为止尚未发现的错误的测试。
12.测试的正确定义是“为了发现程序中的错误而执行程序的过程”。
第九章面向对象方法学引论1.使描述问题的’问题空间’(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。
2.人们把计算机中的实体称为解空间对象。
3.对对象施加的操作就是该对象的行为。
4.面向对象方法学的优点:1.与人类习惯的思维方法一致2.稳定性好3.可重用性好4.轻易开发大型软件软件产品5.可维护性好5.面向对象方法学的基本原则是按照人类习惯的思维方法建立问题域的模型,开发出尽可能直观、自然地表现求解的软件系统。
6.传统的软件重用技术是利用标准函数库。
对象的概念:在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是认为的概念,或者是任何有明确边界和意义的东西。
7通常把对象的操作称为服务或方法。
8.对象的定义:定义1.对象是具有相同状态的一组操作的集合定义2.对象是对问题域中某9个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或它交互的能力,也就是说,10对象是对属性值和操作的封装。
11.对象是封装可数据结构及可以施加在这些数据结构上的操作的封装体12.对象中的数据表示对象的状态,一个对象的状态只能由该对象的操作来改变。
13.对象的特点:1.以数据为中心 2.对象是主动的 3.实现了数据封装4.本质上具有并行性简述软件测试的任务、目的与类型。
答:软件测试是一个为了寻找软件错误而运行程序的过程。
目的就是为了发现软件中的错误。
一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件测试主要分为白盒测试和黑盒测试两大类。
简述软件工程目标和面临的主要问题。
答:软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。
它采用经过实践验证的工程的原则、方法,以提高质量,降低成本。
但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户常对“已完成的”软件系统不满意。
(3)软件产品的质量往往靠不住。
(4)软件常常很难维护。
(5)软件常常缺乏适当的文档资料。
(6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
(7)软件成本在计算机系统总成本中所占的比例逐年上升。
简述软件开发过程、每个里程碑的提交物。
答:软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、性能和接口。
系统需求和软件需求均需文档化,并与用户一起复审。
并提交需求分析报告。
(3)设计,包括总体设计和详细设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计。