1什么是软件工程?基本原理有哪些? (6)2成本_效益分析可用哪些指标进行度量?(写出公式) (6)3什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。
6 4非渐增式测试与渐增式测试有什么区别? (6)5试从基本符号和设计方法分析HC图与JACKSON图异同点 (6)6软件测试的目的是什么? (7)7结构化程序设计的思想是什么? (7)8请解释极限编程和自适应软件开发,并说明其异同? (7)9需求工程的起始阶段,需求工程师的主要工作是? (7)10请画出“在餐厅使用信用卡付费”这一活动的完整用例图? (8)11分析说明结构化分析和面向对象分析的区别? (8)12 请简要给出评价软件设计质量的标准? (8)13 一个良好的设计类需要满足四个特点,请详细描述这四个特点? (8)14软件项目估算内容与步骤 (9)15面向对象设计的准则是什么?有哪5个层次和4个部分? (9)16简述软件工程目标和面临的主要问题。
(9)17简述软件工程过程。
(9)18简述模块独立性的原则。
(10)19简述结构化程序设计方法的基本要点 (10)20简述软件生命周期开发方法的基本过程及每个阶段的任务。
(10)21复印机的工作流程大致如下: (11)22简述文档在软件工程中的作用。
(12)23简述软件项目管理过程。
(12)24简述系统分析员应该具备的主要知识结构和基本素质。
(12)25简述何谓软件开发方法?请列举四种主要方法。
(12)26简述单元测试的基本内容。
(13)27什么是软件生存周期模型?请至少列举四种主要模型? (13)28衡量模块独立的两个标准是什么?它们各表示什么含义?(网上) (14)29简述白盒测试的思想,并列举两种典型的测试技术。
(14)30简述CMM(软件能力成熟度模型)5个等级的含义 (14)31简述软件维护的定义 (15)32简述软件测试的定义 (15)33 UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?15 34什么是字据字典?其作用是什么?它有哪些条目? (15)35软件工程的两大范型分别是什么?它们有什么不同? (16)36如何画分层数据流图? (16)37面向对象程序设计有哪些优点? (16)38在软件测试中,应注意哪些原则? (17)39程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。
17 40面向对象分析与面向对象设计的关系? (17)41成本-效益分析的目的是什么?可用哪些指标进行度量? (17)42软件设计分哪几个阶段,它们的主要任务是什么? (18)43用户需求和系统需求各有什么特点? (18)44面向对象设计的准则? (18)45需求分析过程主要有哪几个步骤? (19)46软件设计分哪几个阶段,它们的主要任务是什么? (19)47什么是软件结构图?它有哪些主要元素? (19)48面向对象方法的特点是什么?为什么要用面向对象方法开发软件? (19)49什么是编码风格?请根据自己的编程经验编写一个编程注意事项。
(20)50软件生命期各阶段的任务是什么? (21)51非渐增式测试与渐增式测试有什么区别? (21)52面向对象程序设计有哪些优点? (22)53模块间的耦合性有哪几种? (22)54软件开发步骤包括哪些过程? (22)55数据字典有哪几类元素构成? (23)56大型软件系统的设计思想是什么? (23)57、数据库设计一般分为哪几个阶段?形成哪三种模式?(P101) (23)58什么是软件危机?其产生的原因是什么?(P7) (23)59、概要设计的原则?(P72) (24)60阐述结构化设计的主要思想?(P79) (24)61软件工程主要研究哪些领域?(P16) (25)62.以G.J.Myers的观点,简述对软件测试的目的。
(25)63.就程序设计语言的工程特性而言,对程序编码有哪些要求? (25)64模块的内聚性包括哪些类型? (26)65可行性研究报告的主要内容有哪些? (26)66系统设计的内容是什么? (27)67什么是软件危机?软件危机的表现是什么?其产生的原因是什么? (28)68.软件质量保证应做好哪几方面的工作? (30)69软件复用 (31)70、Case技术 (31)71请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档?.. 3172什么是数据字典?其作用是什么?它有哪些条目? (31)73采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点? (32)74何谓软件生存周期?其可以划分为几个时期?每个时期又可分为几个阶段?每个阶段的主要任务是什么? (32)75如何做好软件质量保证工作? (33)76什么是软件工程?什么是软件危机? (34)77软件的可行性研究主要研究哪些问题?并对此进行说明。
(34)78什么是黑盒测试,适用的方法有哪些?什么是白盒测试,适用的方法有哪些?3479什么是软件维护?软件维护包括哪四类活动? (35)80有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。
请问这句话对否?请解释你的回答。
.......................................... 35 81请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来。
.................................................................. 35 1什么是软件工程?基本原理有哪些?软件工程是指导计算机软件开发和维护的工程学科。
用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审查、开发小组人员少而精、并不断改进方法。
2成本_效益分析可用哪些指标进行度量?(写出公式)可用投资回收期、纯收入、投资回收率指标,通过P=F/(1+i)n 计算求得。
3什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。
用符号描绘信息在系统中流动的情况,源点、终点、处理、数据存储、数据流。
4非渐增式测试与渐增式测试有什么区别?两种都用于集成测试。
渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。
非渐增式先分别测每个模块,再把所有模块按设计要求放在一起结合成所要的程序。
5试从基本符号和设计方法分析HC 图与JACKSON 图异同点答:HC图是面向DFD,而JACKSON图是面向数据结构的。
符号省略。
6软件测试的目的是什么?测试的目的是为了发现错误.7结构化程序设计的思想是什么?答:自上而下,逐步求精8请解释极限编程和自适应软件开发,并说明其异同?答:极限编程和自适应软件开发都属于敏捷过程模型。
极限编程是应用最广泛的敏捷过程(2分)。
按照计划、设计、编码和测试四个框架活动组织。
极限编程建议一系列新颖和有力的技术,保证敏捷团队创建能力体现客户指定优先级特征和功能的频繁软件开发(2分)。
自适应软件开发强调人的合作和团队的组织,按思考、协作和学习的三个框架活动组织,其使用迭代过程。
该过程由自适应循环计划、相对严格的需求收集方法和一个迭代开发循环构成(2分)。
9需求工程的起始阶段,需求工程师的主要工作是?答:需求工程的起始阶段,工程师的主要工作为:1)建立基本的问题需求(2分)2)定义最重要的项目约束以及陈述主要的特征和功能(2分)3)与共利益的各方建立基本的谅解(2分)10请画出“在餐厅使用信用卡付费”这一活动的完整用例图?11分析说明结构化分析和面向对象分析的区别?答:分析建模的目标是创建各种表现形式,以描述软件信息、功能和行为的需求(2分)。
为实现这一目标,可采用结构化分析和面向对象分析方法(1分)。
结构化分析把软件看作信息装换器,辅助软件工程师识别数据对象、对象间的联系以及这些数据对象流经软件处理功能时转换的方式(2分)。
面向对象分析就是检查定义为一组用例的问题域,尽量提取定义问题的类(1分)。
12请简要给出评价软件设计质量的标准?答:评价软件设计质量的标准如下:1)设计必须实现所有包含在分析模型中的明确需求,以及用户期望的所有隐含需求(2分)2)对于那些生成代码的人和那些进行代码测试以及随后维护软件的人而言,设计必须是可读、可理解的指南(2分)3)设计必须提供软件的全貌,从实现的角度水明数据域、功能域和行为域(2分)13一个良好的设计类需要满足四个特点,请详细描述这四个特点?答:一个良好的设计类需要满足:1)完整性和充分性(1分)2)原始性(2分)3)高内聚性(2分)4)低耦合性(1分)14软件项目估算内容与步骤15面向对象设计的准则是什么?有哪5个层次和4个部分?准则:模块化、抽象、信息隐蔽、高内聚、低耦合、可重用16简述软件工程目标和面临的主要问题。
目标:支付较低的开发成本、达到要求的软件功能、获取较好的软件性能、开发的软件易于移植、需要较低的维护费用、能按时完成开发任务,几时交付使用、开发的软件可靠性高面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。
17简述软件工程过程。
软件工程过程是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。
软件工程过程通常包含四种基本的过程活动:P(Plan):软件规格说明。
规定软件的功能及其运行的限制;D(Do):软件开发。
产生满足规格说明的软件;C(Check):软件确认。
确认软件能够完成客户提出的要求;A(Action):软件演进。
为满足客户的变更要求,软件必须在使用的过程中演进。
事实上,软件工程过程是一个软件开发机构针对某一类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响到软件产品的质量。
18简述模块独立性的原则。
模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的模块独立性的概念是模块化、抽象、信息隐蔽和局部话概念的直接结果由耦合和内聚2个标准度量19简述结构化程序设计方法的基本要点1. 采用自顶向下,逐步求精的程序设计方法在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。
2. 使用三种基本控制结构构造程序任何程序都可由顺序、选择、重复三种基本控制结构构造。
1)用顺序方式对过程分解,确定各部分的执行顺序。
2)用选择方式对过程分解,确定某个部分的执行条件。
3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。
4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。
3. 主程序员组的组织形式20简述软件生命周期开发方法的基本过程及每个阶段的任务。
(1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么;(2)可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。