当前位置:文档之家› 软件工程主要知识点

软件工程主要知识点

1. 软件的定义?(P1)计算机(程序)、(规程)以及运行计算机系统可能需要的相关(文档)和(数据)。

2. 应用软件的分类?(P2)通用软件和定制软件3. 软件的本质特性?(P3)复杂性、一致性、可变性、不可见性4. 软件危机的表现?(P5-7 )1 、软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜。

2 、软件存在错误多,性能低,不可靠,不安全等质量问题。

3 、软件成本在计算机系统的整个成本中所占的比例越来越大4 、软件维护及其困难,而且很难适应不断变化的用户需求和使用环境。

5. 软件工程的定义?(P7)①将系统性的、规范化的、可定量的方法应用于软件的幵发、运行和维护,即工程化应用到软件上;②对①中所述方法的研究。

6. 软件工程包括哪些基本要素?简述它们的作用?(P7-8)过程、方法、工具方法:为软件开发提供了“如何做”的技术、通常包含某种语言或图形的模型表示方法,设计实践和质量保证标准。

工具:为软件工程的方法提供自动或半自动的软件支持环境辅助软件开发任务完成过程:是管理和控制产品质量的关键,将人员、技术、组织与管理有机的结合起来。

7. 软件的质量可以从哪些方面评价?(P8-9 )可用性、有效性、可依赖性、可维护性8. 软件工程方法有哪些?(P9-10 )(传统方法<面向过程的方法、面向数据的方法等>、面向对象方法)传统方法:面向数据方法、面向过程方法面向对象方法9. CASE系统的三个层次?(P10-11)工具:CASE X具支持单个过程的任务工作台:CASE工作台支持某一过程阶段的活动环境:CASE环境支持整个软件过程的所有活动或者大部分活动,通常是若干CASE X作台的集成10.SWEBOK勺10个知识域?英文名称?(P15-19)1 软件需求(Software requirements )2 软件设计(Software Design )T 3 软件构造(Software Construction) 4 软件测试(Software Testi ng ) 5 软件维护(Software Maintenance )T 6 软件配置管理(Software Configuration Management t 7 软件工程管理(Software Engineering Management T 8 软件工程过程(Software Engineering Process )T 9 软件工程工具与方法(Software Engineering Tools and Methods t 10 软件质量Software Quality11. 软件工程与其他相关学科的关系?(P19-20)软件工程将计算机科学,数学,工程学和管理学等基本原理应用于软件开发的工程实践中,并借鉴传统工程的原则和方法,以系统的,课控的,有效的方式产生高质量的软件。

1. 软件工程目标?(P23)优质,高效2. 软件过程的定义?(P24)软件工程人员为了获得(软件产品)而在(软件工具)的支持下实施的一系列(软件工程)活动。

3.软件过程的基本活动?(P25-26)1 、问题提出2、软件需求规格说明3、软件设计4 、软件实现5 、软件确认6 、软件演化4. 软件过程的制品有哪些?(P26-27)1 、软件需求制品2、软件设计制品3、软件实现制品4、软件测试制品5、软件实施制品5. 软件过程模型有哪些?各有哪些特点?适用的项目?瀑布模型:规定需求、设计、实现、测试与维护这些基本活动,并固定次序。

快速原型:迅速构件一个软件模型,进一步细化待开发的需求,逐步修改原型。

增量模型:软件作为一系列的增量构件来设计、实现、集成和测试。

螺旋模型:将瀑布和快速原型结合起来。

形式化方法模型:将需求描述提炼成用数字符号表达的形式化描述。

然后形式化转换。

基于组件的开发模型:依赖于可复用的组件和相应的集成环境,提高开发效率和产品质量。

1. 软件项目管理活动有哪4 个阶段?(P38-40 )项目启动T项目规划T项目实施T项目收尾2. 3 种典型的开发组织方式?(P40-41)民主式、主程序员式和技术管理式3. 项目的沟通方式有哪些?(P46-47 )1 、直接交谈2、电话交谈3、电子邮件4、会议5、项目网站6、书面报告4. 软件规模估算的方法有哪些?(P50-51 )代码行技术,功能点技术5. 软件成本估算有哪些技术?(P54-55 )1、专家判断2、类比估算3、COCOM0型6. 软件风险管理的过程有哪些基本活动?(P58图3.8 )1 、风险识别2、风险分析3、风险规划4、风险监控7. 什么是配置管理?(P65)一种(标识、组织和控制)修改的技术,其作用于整个软件生命周期,其目的是是错误到达最小并最有效地提高生产率。

8. 什么是基线?(P65)已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变9. 配置管理活动有哪些?(P66-68 )1 、配置项标识2、版本管理3、系统构建4 、变更控制1. 软件需求的定义?(P71)1 、用户解决问题或达到目标所需的条件或能力2 、系统或系统部件要满足合同、标准、规范化或其他正式规定文档所需具有的条件或能力3 、一种反应上面1或者2 所描述的条件或能力的文档说明2. 软件需求可分为哪些类型?(P72图4.1 )业务需求、用户需求、功能需求、非功能需求、系统需求3. 需求工程包括哪些基本活动?每一项活动的主要任务是什么?(P76,P77-86)1 需求获取:采集识别和提取用户需求,对问题和需求形成文档描述,是大家有过一个共同的认识和理解。

2 需求分析:分析和综合所持采集的信息,简历系统的详细逻辑模型。

3 需求规格说明:编写软件规格说明书,准确,完整的表达已确认的需求。

4 需求验证:评审软件规格说明,保证其正确,一致,完备,准确和清晰性。

5 需求管理:定义需求基线,在整个项目中跟踪需求状态及其变化。

4. 需求分析的核心工作?(P78)建立分析模型是需求分析的核心工作5. 主要的需求获取技术有哪些?它们的优缺点和适用场合?(P87,P87-92)1 面谈:多种情况下使用的简单而直接的方法。

2 需求专题研讨会:很快产生系统初步定义,畅所欲言,降低风险,解决行政问题。

3 观察用户工作流程:开发人员很难通过面谈和回忆获取供求信息。

4 原型化方法:常用方法,系统可视化获取用户需求,解决早期系统需求不定的问题。

5 基于用例的方法:以任务和用户为中心,确定参与者与事物妆花为对象模型。

1. 面向对象软件工程方法的活动有哪些?英文名称及其简称?( P134-135 )1 、面向对象分析( Object Oriented Analysis,OOA )2 、面向对象设计( Object Oriented Design,OOD )3 、面向对象编程( Object Oriented Programming,OOP )4 、面向对象测试( Object Oriented Testing,OOT )5 、面向对象维护( Object Oriented Software Maintenance,OOSM )2. 面向对象的基本概念有哪些?英文名称?( P135-138)(1)对象( Object ) (2)类( Class ) (3)封装( Encapsulation )( 4)继承( Inheritance ) (5)消息( Message) ( 6)关联 ( Association ) ( 7)聚合( Aggregation ) (8)多态性( Polymorphism )3. UML 英文全称?( P140)Unified Modeling Language4. UML 用哪些视图?英文名称?( P142)用例视图( Use-case View )设计视图( Design View )进程视图( Process1. 面向对象分析模型由哪些模型组成?( P157)View)实现视图(Implementation View )和分布视图(Deployment View )(1)功能模型(2)分析对象模型(3)动态模型2. 3种分析类的构造型类形式和图标形式? (P157-159)3. 面向对象需求分析有哪些活动?应该建立哪些类型的模型?( 理解用例模型、识别分析类、定义交互行为、建立分析类图、评审分析模型模型:实体类模型、边界类模型、控制类模型、4.什么是实体类、边界类和控制类?为什么将分析类划分成这3种类型?(P159-163)实体类:表示系统存储和管理的永久信息边界类:表示参与者与系统之间的交互控制类:表示系统在运行过程中的业务控制逻辑 为了识别分析类,通常需要充分理解系统内部的行为,因此需要在最初的用例模型中适当的补充说明系统内部是如何响应外部请求的,所以幵发人员需要确定一 组备选的且支持用例行为的一些分析类。

实体类P159)------------ -------------- ------- M ------图标形式:边界类控制类1. 软件设计活动可分为哪两个阶段?(P171)系统设计和详细设计两个阶段2. 软件设计的原则有哪些?英文?(P172-174)模块化、耦合度和内聚性、复用性3. 典型的软件体系结构风格有哪些?(4 种体系机构的名称?P175-178)仓库体系结构:分层体系结构:MVC体系结构:客户机/ 服务器体系结构:管道和过滤器体系结构:4. 软件三层体系结构?(P178,或表示层、应用逻辑层、存储层)5. 详细设计的描述工具?(详细设计常用的3 种工具是图形,表格,语言)第10 章软件测试1. 软件验证和确认的区别?(P222-223 )确认强调结果的检验,验证强调过程的检验。

确认证明所提供的产品符合预期的使用需求,而验证说明工作产品是否适当的反映了特定需求。

换言之,验证确保「你把事做对了」,而确认确保「你做了对的事」。

2. 软件测试的定义?软件测试的目的?(P224)广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动。

狭义上讲,测试是对软件产品质量的检验和评价,它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。

目的:在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。

3. 什么是测试用例?(P227)数据输入和期望结果组成的对,其中“输入”是对被测软件接受外界数据的描述,“期望结果”是对于相应输入软件应该出现的输出结果的描述,测试用例还应明确指出使用具体测试案例产生的测试程序的任何限制。

测试用例可以被组织成一个测试系列,即为实现某个特定的测试目的而设计的一组测试用例。

相关主题