最新软件工程复习提纲(0615)
软件工程复习提纲[0615]
![软件工程复习提纲[0615]](https://img.taocdn.com/s3/m/77d4beeaff00bed5b9f31dfa.png)
WORD 格式可编写软件工程复习纲要Chapter11.开发文档都有哪些?用图来表示它们之间的关系。
2.说明软件工程研究的内容。
3.软件工程的 7 条基根源理有何现实意义。
4.如何理解 ISO9000 的文档系统?质量手册、程序言件、质量记录三者有何联系和差异?5.如何理解 CMMI,如何用 CMMI去管理软件公司?6. 能否存在这一种现象:搞系统软件的公司不需要采用CMMI和 ISO9000 模式? CMMI和 ISO9000 模式只合用于搞应用软件的公司?假如是,为何,假如不是,又为何?7.软件工程与信息系统工程有何异同?8.如何理解元数据?Chapter21.为何要选择软件开发模型?软件开发模型与软件生计周期有什么关系?2.简述瀑布模型、增量模型、迭代模型、原型模型的优弊端。
3.软件公司的 ISO9000 或 CMM管理系统与软件开发模型相关吗,为何?4.你对“生计周期模型裁剪指南”有什么见解?5.“图书室信息系统”的开发采用什么开发模型适合?Chapter31.立项的详细表现形式是什么?2.立项建议书的编制者为何主假如软件公司的市场销售人员,而不是开发人员?3.什么叫风险剖析,技术风险与技术风险有何差异?3.合同、任务书、立项建议书三者有何异同?有何关系?4.对软件项目和产品的“功能、性能、接口”三项指标如何理解?Chapter41.需求剖析的目的是什么,需求剖析的难点在哪里?2.需求剖析的理论基础有哪几条?3.为何说需求剖析是面向流程的?4.解说术语:元数据、实体、中间数据。
5.用户需求报告与需求规格书有何差异?6.需求描绘有哪几种工具?你喜爱哪一种,为何?1.简述软件策划的步骤。
2.简述软件策划的方法。
3.简述对软件工作产品规模进行量化预计的方法。
4.软件工作产品和软件产品有何异同?5.名称解说:直接人工、直接花费、间接成本、制造花费、管理花费、不行预示花费。
6.如何理解软件中的胸怀,它有何作用?Chapter61.纲要设计说明书和详尽设计说明书有何差异?2.怎么理解“软件纲要设计是系统整体构造设计或系统架构设计”?3.模块实现设计包含哪些内容?4.为何软件设计要恪守“抽象、分解与模块化、低耦合高内聚、封装、接口和实现分别”的设计原理?Chapter71.简述 UML的优弊端。
软件工程提纲
![软件工程提纲](https://img.taocdn.com/s3/m/f109c07e561252d380eb6ef1.png)
一、软件工程学概述(分值:15%)
基本知识点:软件危机、软件工程研究内容、软件生命周期、敏捷方法。
二、可行性研究(分值:5%)
基本知识点:可行性分析的内容、描述系统的方法、成本效益分析。
三、结构化分析与设计(分值:20%)
基本知识点:结构化系统分析的特点和方法、数据流图的基本画法;系统结构的设计原则、面向数据流的设计方法;结构程序设计的概念、盒图和Jackson图的基本画法、程序复杂度计算。
四、面向对象需求分析(分值:20%)
基本知识点:面向对象需求分析过程的四个步骤及UML九种图的含义。
用UML建立功能模型、静态模型和动态模型的方法。
五、面向对象设计(分值:15%)
基本知识点:面向对象设计的基础知识、类的设计原则。
六、系统实现(分值:15% )
基本知识点:编写程序代码的正确规则、软件测试的基础知识、软件测试技术、白盒测试、黑盒测试、测试策略。
七、项目管理(分值:10%)
基本知识点:软件工程项目管理的内容、能力成熟度模型。
软件工程复习提纲.doc
![软件工程复习提纲.doc](https://img.taocdn.com/s3/m/a064f583482fb4daa58d4bdb.png)
《软件工程》考试复习提纲第一章1、软件工程定义;软件工程是用工程、科学与数学的原则与方法研制、维护计算机软件的有关技术与管理方法。
2、软件危机定义;3、软件工程三要素;方法、工具和过程4、软件生存周期各阶段名称;软件定义、软件开发、软件使川与维护退役5、软件开发各个模型的特点;以软件需求完全确定为前捉的瀑布模型(具有因果关系)只能提供基木需求时采用的渐进式开发模型:原型模型、螺旋模型(风险分析)以形式化开发方法为基础的变换模型基于四代技术的模型(独立于具体的处理机)组合模型可行性研究包括经济可行性、技术可行性、法律可行性、还有开发方案的可行性输入-处理-输出结构是系统建模的基础,它将基于计算机的系统转换成一个信息变换模型第四章需求分析可分为问题分析、需求描述、需求评审三个阶段1、需求分析的任务与原则;任务:1.对问题的识别和理解;2.对需求信息的综合和分析;3.写出软件需求规格说明文档;4.需求分析工作的复审。
2、问题抽象、问题分解与多视点分析;(需要掌握的技术)第五章『—1、数据流图定义,数据流图的画法,基本数据流图的符号;_______ ------ 数据流图就是用来刻曲数据流和转换的信息系统建模技术的。
实体转换数据流数据源顶级1级2级数据对象的属性:命名性属性、描述性属性、引用性属性2、实体关系图的定义与应法:表示数据对彖及其关系的图形语言机制。
数据对象川长方形表示,关系用菱形表示。
数据字典中数据条目包括的内容:名称类型列表简要说明解析性说明补充说明3、基于数据流的分析方法;结构图:用来刻画H标软件系统的结构。
活动图:用來刻画目标软件系统的功能视点。
状态图:用來刻画口标软件系统的行为视点。
第六章1、面向对彖的概念与思想;对彖、类、属性、操作等概念;(1)客观世界屮的应川问题都是市实体及其相互关系构成的。
可以将客观卅:界屮与应川问题有关的实体及其属性抽象为问题空间屮的对象。
(2)对象:是现实世界中个体或事物的抽象表示,是英属性和相关操作的封装。
软件工程重要考点复习提纲
![软件工程重要考点复习提纲](https://img.taocdn.com/s3/m/1fedbc1fa8114431b90dd8e3.png)
CH11、软件危机概念软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题。
2、软件危机体现在哪几方面?主要表现在软件的开发和维护两方面3、软件工程概念软件工程是知道计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
4、软件工程7条基本原理(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用线代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断进取软件工程实践的必要性。
5、软件工程方法学包含的3个基本要素方法、工具和过程6、软件生命周期划分哪些阶段软件定义、软件开发和运行维护。
7、各阶段的基本任务软件定义:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。
软件开发:具体设计和实现定义的软件。
运行维护:使软件持久地满足用户的需要。
8、软件过程概念软件过程描述为了开发出客户需要的软件,什么人、什么时候、做什么事以及怎样做这些事以实现某一个特定的具体目标。
9、软件过程模型有哪些瀑布模型、快速圆形、增量模型、螺旋模型、喷泉模型10、瀑布模型有哪些特点(1)可强迫开发人员采用规范的方法;(2)严格地规定每个阶段必须提交的文档;(3)要去每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
11、在软件生产中为什么强调管理CH21、可行性研究的目的用最小的代价在尽可能短的时间内确定问题是否能够解决。
2、从那些方面进行可行性研究技术可行性、经济可行性、操作可行性、社会可行性。
3、系统流程图的作用4、数据流图的作用利用它作为交流信息的工具,作为分析和设计的工具。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/5a9e97a359f5f61fb7360b4c2e3f5727a5e92489.png)
软件质量的度量分类 成本-效应分析
第七章
掌握:
第11章
掌握: 软件质量保证的概念 软件质量保证的主要任务 软件配置管理的概念
1
2
演化模型 什么是演化模型? 首先针对一个不能完整定义需求的软件开发一个核心系统,然后用户使用该系统,提出精化系统郑家系统能力的需求,再根据用户反馈,实施开发的迭代过程。 特征: 多次迭代,每次迭代过程,需求分析→设计→编码→测试→集成。 优缺点:减少了软件需求不明确而该开发带来的风险性,但费时费力。 适用范围:适合于需求不能完整定义的某些项目。 螺旋模型 什么是螺旋模型? 将瀑布模型和演化模型结合起来,在此基础引入增加了风险分析。 特征:加入了风险分析。 优缺点:减少了软件开发的风险,但成本高,过程复杂。 适用范围:适合于大型软件的开发。
商务风商业计划书
CLICK HERE TO ADD A TITLECຫໍສະໝຸດ NTENTS目录壹
贰
叁
第五章
掌握: 结构化程序设计的思想 程序设计语言的选择因素 第六章
软件工程与计算复习提纲(新)
![软件工程与计算复习提纲(新)](https://img.taocdn.com/s3/m/159c0c8e85254b35eefdc8d376eeaeaad1f316a0.png)
• 下面面是一一段需求描述,请依据其建立立ATM机系统 的领域类图(即分析类图)。
• A银行行计划在B大大学开设银行行分部,计划使用用ATM 机提供全部服务。 ATM系统将通过显示示屏幕、输 入入键盘(有数字键和特殊符号键)、银行行卡读卡 器、存款插槽、收据打印机等设备与客户交互。 客户可以使用用ATM机进行行存款、取款、余额查询 等操作,它们对帐户的更新将交由账户系统的一一 个接口口来处理。安全系统将为每个客户分配一一个 PIN码和安全级别。每次事务执行行之前都需要验 证该PIN码。在将来,银行行还计划使用用ATM机支支 持一一些常规的操作,例如地址和电话号码修改。
复习提纲
第一一、二二章
• 名词解释
• 软件工工程
• 简答:
• 从1950s~2000s之间的特点
第四章 项⺫目目启动
• 如何管理团队?
• 在实验中采取了哪些办法?有哪些经验? • 团队结构有哪几几种?
• 质量保障有哪些措施?
• 结合实验进行行说明
• 配置管理有哪些活动?
• 实验中是如何进行行配置管理的?
• 示示例:(2010)结合实验,说明一一个项⺫目目的质量保障包括哪些
活动?
第五章
• 名词解释
• 需求
• 区分需求的三个层次
• 给出一一个实例,给出其三个层次的例子子 • 对给定的需求示示例,判定其层次
• 例如课程实验/ATM/图书管理…
• 掌握需求的类型
• 对给定的实例,给出其不同类型的需求例子子 • 对给定的需求示示例,判定其类型
思想是什么?
第九、十十章
• 体系结构的概念 • 体系结构的⻛风格的优缺点 • 体系结构设计的过程? • 包的原则 • 体系结构构建之间接口口的定义(*) • 体系结构开发集成测试用用例
《软件工程》复习提纲
![《软件工程》复习提纲](https://img.taocdn.com/s3/m/2722050ea8956bec0875e322.png)
《软件工程》复习提纲一一、、 授授课课的的主主要要内内容容11.. 基基本本概概念念((11)) 有有关关““软软件件工工程程””的的基基本本概概念念11))软软件件工工程程的的诞诞生生那是1968……22))软软件件危危机机计计算算机机软软件件开开发发和和软软件件维维护护过过程程中中所所遇遇到到的的一一系系列列严严重重问问题题统统称称为为““软软件件危危机机””。
概括地说,软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。
33))软软件件包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件(计算机)。
文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。
软软件件由由计计算算机机程程序序,,数数据据结结构构和和文文档档组组成成。
计算机程序执行特定的功能;数据结构是程序运行所需的数据;文档是描述程序开发、使用和维护的资料。
44)) 软软件件工工程程的的概概念念采采用用工工程程学学的的原原理理来来管管理理和和从从事事软软件件的的开开发发和和软软件件维维护护,,称称为为软软件件工工程程。
(工程学:系统化、规范化、数量化)55))软软件件质质量量的的基基本本概概念念(a )软件质量的定义与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体。
具体来说:1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。
(b )软件质量特性(1)功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。
(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。
(3)易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
(4)效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
(5)维护性:软件产品可被修改的能力。
软件工程复习纲要
![软件工程复习纲要](https://img.taocdn.com/s3/m/4e91e50852ea551810a68793.png)
软件工程复习提纲第一部分:1.软件工程定义、软件工程三要素及目的、软件的定义及组成(P2)答: 软件工程是开发、运行、维护和修复软件的系统方法。
软件工程三要素:方法、工具和过程①方法是完成软件工程项目的技术手段;②工具支持软件的开发、管理、文档生成;③过程支持软件开发的各个环节的控制、管理。
软件工程目的:根据需求分析确定可行性后,在给定的时间内开发具有可修改性、有效性、可靠性、可维护性、可重用性、可适应性、可移植性、开销合宜并满足用户需要的软件产品。
软件的定义:计算机程序、方法、规则、相关的文件资料以及在计事机上运行时所必需的数据。
软件的组成:程序、文档、数据2.软件过程的定义(P11)、软件过程模型及模型特点(P25)、软件体系结构(P104)答:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程模型:也称软件生命周期模型,是为了解决产业环境中的实际问题而提出的开发策略,是反映整个软件生命周期中,系统开发、运行、维护的等实施活动的一种结构框架。
它包括瀑布模型、增量模型、螺旋模型、协同开发模型、统一过程模型、组件集成模型、面向方面的软件开发。
各特点如下:○1瀑布模型:顺序性和依赖性;推迟实现;质量保证的观点;是一种线性模型,文档驱动的模型。
○2增量模型是一种非整体开发的模型。
该模型具有很大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
○3螺旋模型结合瀑布模型和快速原型,是一种风险驱动的开发模型○4协同开发模型是一种时间驱动的活动网络模型。
○5统一过程模型是以用例驱动的,以架构为中心,迭代和增量的过程。
○6组件集成模型利用模块化方法将整个系统模块化,复用构件库中的软件构件,通过组合手段提高应用软件系统过程的效率和质量。
○7面向方面的软件开发是一系列新兴技术,用以寻找软件系统中新的模块化特性,允许对软件系统中多种关注点进行独立描述,同时又能自动统一组合到工作系统之中。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/5cebf83731126edb6f1a10ed.png)
1 软件危机产生的原因和方法(1)原因:一方面与软件本身的抽象性和复杂性有关,这是客观原因;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因.(2)方法:既要有技术措施(包括方法和工具),又要有组织管理措施2 软件生命周期阶段(1)可行性研究(2)需求分析(3)软件设计(4)编码(5)软件测试(6)软件维护3 常见软件开发模型(1)瀑布模型(2)原型模型(3)增量模型(4)螺旋模型(5)统一软件开发过程4 软件需求分析目标和任务(1)目标:研究用户需求,得到目标系统的需求定义(2)任务:1确定目标系统的具体要求2建立目标系统的逻辑模型5 需求分析步骤(1)获取需求,识别问题(2)分析和描述系统的逻辑模型(3)需求分析的复审6数据流图有四种基本符号:(1).正方形或立方体表示数据的源点或终点;(2).圆角矩形或圆形代表数据处理;(3).开口矩形或两条平行横线代表数据存储;(4).箭头表示数据流,即数据流动得方向.7 实体-联系图(E-R图)的三个基本组成部分:(1).实体。
用矩形框表示实体;(2).关系。
用菱形框表示实体之间的关系;(3).属性。
用椭圆形或圆角矩形表示实体(或关系)之间的属性。
8 软件设计基本原则(1)抽象与分解(2)模块化和信息隐藏(3)模块独立性9 耦合和类聚的分类:(1)耦合:1数据耦合,2控制耦合,3特征耦合,4公共环境耦合,5内容耦合(2)内聚:1偶然内聚,2逻辑内聚,3时间内聚,4过程内聚,5通信内聚,6顺序内聚,7功能内聚10数据流图中数据流的分类: 变换型数据流和事务型数据流11 如何高质量的完成详细设计的目标和任务?(1)目标:设计目标系统,得出新系统软件的详细规格,同时要求设计出规格简明易懂,便于下一阶段用某种程序语言在计算机上的实现(2)任务:①算法过程的设计,②数据结构的设计,③数据库物理设计,④信息编码设计,⑤测试用例的设计,⑥其他设计,⑦编写详细设计说明书12结构化程序设计通常采用自顶向下, 逐步求精的设计方法13 软件测试的分类(1)根据程序是否运行分为:静态分析,动态分析(2)测试数据的设计依据分为:黑盒测试,白盒测试14 黑盒测试含义及分类(1)含义:又称功能测试,,是以用户的观点,从输入数据与输出数据的对应关系出发测试的,不涉及程序的内部结构(2)分类:等价类划分法,边界值分析法,决策表法,因果图法15 白盒测试含义及分类(1)含义:按照程序内部逻辑结构测试程序,检验是否程序能够按照规定正常运行(2)分类:覆盖测试,功能性测试,结构性测试(3)16 软件测试步骤(1)单元测试(2)集成测试(3)确认测试(4)系统测试17 软件维护的种类(1).改正性维护(2)适应性维护(3)完善性维护(4)预防性维护18 软件维护的策略(1) 改正性维护(2)适应性维护(3)完善性维护19 软件维护的过程(1)建立维护机构(2)用户提出维护申请并提交维护申请报告(3)维护人员确认维护类型并实施相应的维护工作(4) 整理维护记录并对维护工作进行评审(5)对维护工作进行评价20 决定软件可维护性的因素(1)可理解性(2)可测试性(3)可修改性21 统一建模语言UML是用一组专用符号描述软件规模的语言,这些符号统一、直观、规范,可以用于任何软件开发过程22. UML分为结构图和行为图,其中共有六种结构图和七种行为图。
软件工程复习提纲(附答案)
![软件工程复习提纲(附答案)](https://img.taocdn.com/s3/m/0b4b845f8f9951e79b89680203d8ce2f00666530.png)
软件工程复习提纲(附答案)软件工程第一章软件工程介绍1、软件的特性:P3软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。
2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P135、软件的定义:P3软件是:指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。
第二章过程综述1、软件工程的三个要素:工具,过程,方法P8过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。
工具:为过程和方法提供自动化或半自动化的支持。
2、通用软件过程框架:沟通,策划,建模,构建,部署P9沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。
建模:它包括创建模型和设计两方面。
创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。
构建:它包括编码和测试。
部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P19沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/62cd9efe49649b6648d74773.png)
软件工程复习提纲第一章软件与软件工程1. 什么是软件工程?构成软件工程的要素是什么?2. 什么是软件危机?软件危机有那些表现?3.软件开发的三种最主要方法是什么?4.软件工程实践中的五个面向理论的含义是什么?5.用图表方式说明软件的生存周期6.结合软件生存周期理论,阐述几个重要的软件开发模型的特点及适用条件(如瀑布模型、快速原型模型、增量模型、迭代模型等)第四章需求分析基础1.什么是软件需求?软件需求的属性是什么?2.需求分析阶段的一般工作流程是什么?3.什么是需求分析?需求分析的任务、目的是什么?4.什么是需求定义?5.简述软件需求分析的任务与步骤,并以图书管理系统为例说明6.需求的分析的方法与切入点?(过程分析、对象分析;功能分析、对象分析、数据分析?)7.需求分析的描述工具?8.什么是业务流程图?业务流程图的主要绘图元素有哪几种?9.什么是数据流图?数据流图的绘图元素有哪几种?10.分别画出图书管理系统的业务流程图和数据流图11.画出图书管理系统的用例图12.画出一个网上招聘系统(招聘网站)的用例图第五章面向数据流的分析方法1. 阐述数据流图、数据字典和E-R图的构成2. 阐述基于数据流图进行需求分析的大致过程。
3. 归纳总结CASE工具的核心思想。
4. 如何判断数据流图的一致性和完全性?可否用CASE工具自动或半自动地完成这两类检查?如果可以,请给出相应的软件设施途径。
5. 设计一个简单图书信息系统上网E-R模型第六章面向对象的需求分析1. 基本概念:对象、类、消息、继承、聚集2. 简述利用UML尽心需求分析的主要步骤。
3. 简述面向对象的消息传递机制在程序设计语言中的实现过程。
4. 绘制表示“书籍”的UML类图,“书籍”可以描述为:一本书由许多部分组成,每一部分又由许多章组成,每一张由许多节组成。
部分、章和节都具有标题和序号属性。
第八章软件设计基础1.什么是软件设计?软件设计过程的输入和输出是什么?2.理解软件设计的原理3.什么是软件架构?理解软件的三层架构的内容及特点4软件设计有两大类方法是什么?5.面向过程设计的主要任务和内容和方法是什么?6.面向对象设计的内容和步骤是什么?第九章面向数据流的设计方法1. 简述SD方法将数据流图转换为软件结构的过程与步骤。
软件工程复习纲要
![软件工程复习纲要](https://img.taocdn.com/s3/m/233a7f154a73f242336c1eb91a37f111f1850dd5.png)
软件工程复习纲要第一章、概述1、软件危机的概念与主要原因(1)软件危机是指在计算机软件开发与维护时所遇到的一系列问题。
(2)软件危机产生的原因:软件规模、方法、技术、软件开发人员;客观:规模,环境,需求变化;主观:开发技术,管理。
✓软件产品规模庞大,开发与维护带来客观困难✓软件使用同期相对较长,期间可能出现开发没料到的问题,需要与时维护✓软件开发技术落后,生产方式与开发工具落后✓软件开发人员忽视软件需求分析的重要性,轻视软件维护2、软件、软件工程、软件工程学的概念(1)软件是指计算机程序与其有关的数据与文档。
(2)软件工程(software engineering)是计算机软件开发、运行、维护与隐退的系统方法;是指导计算机软件开发与维护的工程学科;软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。
(3)软件工程学的主要内容是软件开发技术(包含软件工程方法学、软件工具与软件开发环境)与软件工程管理(包含软件工程经济学与软件管理学)。
更多内容请见P.4;3、软件生命周期与生命周期各阶段的任务(1)软件生命周期指从设计软件产品开始到产品不能使用为止的时间周期。
包括:定义,开发,使用,维护,淘汰。
(2)软件生命周期各阶段的任务✧软件计划、软件开发与软件运行维护三个时期。
✧软件计划时期:问题定义、可行性研究、需求分析✧软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。
✧软件运行维护时期:需要不断地进行维护,使软件持久满足用户需要4、软件开发模型的几种模型与各模型的特征(1)瀑布模型(Waterfall Model) :(规范的、文档驱动方法。
开发阶段按顺序进行,适合需求分析较明确、开发技术较成熟的情况。
)特点:阶段间具有顺序性与依赖性;推迟实现编码;质量保证。
(2)快速原型模型:(快速原型系统让用户试用并收集用户意见。
获取用户真实需求。
)特点:软件产品的开发基本上是线性顺序进行的;能减少软件的总成本,缩短开发周期。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/7500c23e5bcfa1c7aa00b52acfc789eb172d9ec1.png)
软件工程复习提纲I. 软件工程概述A. 定义与目标B. 发展历程C. 软件工程原则与方法论II. 软件开发过程A. 瀑布模型1. 阶段划分与任务2. 优点与缺点B. 增量模型1. 阶段划分与任务2. 优点与缺点C. 喷泉模型1. 阶段划分与任务2. 优点与缺点III. 需求工程A. 需求获取与分析1. 用户需求调研2. 需求规格化B. 需求验证与确认1. 需求评审2. 需求跟踪与控制IV. 软件设计A. 结构设计1. 模块化设计原则2. 模块间接口设计B. 数据设计1. 数据建模2. 数据库设计C. 用户界面设计1. 人机交互原则2. 界面布局与设计规范V. 软件构建A. 编码规范与标准1. 命名规范2. 代码注释B. 单元测试与集成测试1. 测试用例设计2. 测试工具与技术VI. 软件质量保证与控制A. 质量特性及度量1. 功能性2. 可靠性3. 可维护性4. 可测试性B. 缺陷管理1. 缺陷跟踪与报告2. 缺陷分析与修复VII. 软件项目管理A. 项目规划与组织1. 范围管理2. 人力资源管理B. 项目进度与成本控制1. 进度计划与跟踪2. 成本估算与控制VIII. 软件配置管理A. 版本管理1. 版本控制工具2. 分支与合并策略B. 变更管理1. 变更控制流程2. 变更影响分析IX. 软件工程伦理与职业责任A. 代码所有权与知识产权B. 软件开发道德标准X. 结语以上是软件工程复习提纲的架构,通过对各个主题的概要介绍和论述,有助于理解软件工程的基本概念、方法和流程,并为考试或复习提供了一个清晰的框架。
在准备复习时,可以根据这个提纲,进一步深入学习和了解各个主题中的具体知识点和案例。
软件工程是一门重要的学科,对于软件开发和项目管理都有着重要的指导意义,希望通过这个提纲的复习,能够帮助你更好地掌握软件工程领域的核心知识。
《软件工程》复习大纲
![《软件工程》复习大纲](https://img.taocdn.com/s3/m/c711ea80dbef5ef7ba0d4a7302768e9951e76ea4.png)
《软件⼯程》复习⼤纲第⼀章1.软件:是能够完成预定功能和性能的可执⾏的计算机程序。
包括使程序正常执⾏所需的数据,以及有关描述程序操作和使⽤的⽂档。
即:软件= 程序+ ⽂档2.软件的特征:软件的开发不同于硬件设计、不同于硬件制造、不同于硬件维修。
3.软件危机出现的原因:软件维护费⽤的急剧上升,直接威胁计算机应⽤的扩⼤;4.软件⽣产技术进步缓慢,是家居软件危机的重要原因。
5.软件⼯程学的范畴:软件开发技术(软件开发⽅法学、软件⼯具、软件⼯程环境)、软件⼯程管理(软件管理学、软件经济学、度量学)。
6.软件⼯程:是指导计算机软件开发和维护的⼯程学科。
它采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,⽬的是为了实现按照预期的进度和经费完成软件⽣产计划,同时提⾼软件的⽣产率和可靠性。
7.软件的发展:⼤体经历了程序、软件、软件产品3个阶段。
8.⼯具和⽅法是软件开发技术的两⼤⽀柱。
9.三种编程范型:过程式编程范型、⾯向对象编程范型、基于构件技术的编程范型。
10.三代软件⼯程:①传统软件⼯程②⾯向对象软件⼯程③基于构件的软件⼯程。
第⼆章1.软件⽣存周期:计划、开发、运⾏3个时期。
2.软件⽣存周期的主要活动:需求分析—》软件分析—》软件设计—》编码测试—》软件测试—》运⾏维护注:需求分析(⽤户视⾓):功能需求、性能需求、环境约束、外部接⼝描述。
软件分析(开发⼈员视⾓):建⽴与需求模型⼀致的,与实现⽆关的软件分析模型。
软件设计:总体设计/概要设计、详细设计(确定软件的数据结构和操作)。
单元测试通常与编码同时进⾏。
软件测试:单元测试、集成测试、系统测试。
3.软件过程:围绕软件开发所进⾏的⼀系列活动。
4.瀑布模型是⼀种基于软件⽣存周期的线性开发模型。
5.瀑布模型特点:阶段间的顺序性和依赖性、推迟实现的观点、保证质量的观点。
6.瀑布模型存在的问题:只有在需求分析准确的前提下,才能得到预期的结果。
7.常见的演化模型(渐增式、迭代式):增量模型、螺旋模型。
《软件工程》复习提纲
![《软件工程》复习提纲](https://img.taocdn.com/s3/m/e8179defd4bbfd0a79563c1ec5da50e2524dd1ac.png)
《软件工程》复习提纲第一篇:《软件工程》复习提纲《软件工程》课程要点λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相关文档的集合;用于实现计算机系统所需要的逻辑方法和控制过程(2)软件危机的含义、表现、产生原因(客观、主观)答:计算机软件开发和维护过程中遇到的一系列严重问题。
软件危机的表现:①对软件开发成本和进度的估计很不准确②已完成的软件不能满足用户需求③软件质量差④软件不可维护⑤软件没有开发文档⑥软件成本在计算机系统总成本中所占的比例逐年上升⑦软件生产率跟不上硬件的发展和计算机迅速普及的趋势与软件的特点有关(客观原因):①软件是计算机系统中的逻辑部件,缺乏“可见性”,管理和控制软件开发过程相当困难②软件在使用期间不存在机械磨损和老化问题,一旦发现错误,通常意味着修改原来的设计,因此软件难维护③软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)与软件开发和维护的方法不正确有关(主观原因):① 开发无计划② 忽视软件需求分析的重要性③ 轻视软件维护④ 无过硬评测手段⑤ 缺乏有力的开发方法和工具⑥ 不重视开发文档等软件配置(3)软件工程学科包括的内容(三要素)、解决的主要问题答:(1)软件工程定义:1)软件工程是指导计算机软件开发和维护的工程学科2)采用工程化的概念、原理、技术和方法来开发和维护软件3)将经过时间考验而证明正确的管理技术和开发技术结合起来,以较经济的手段开发出高质量的软件并有效维护它2)软件工程方法学的三要素:①方法:完成软件开发各项任务的技术方法1 ②工具:为方法的高效运用,而提供的自动或半自动的软件支撑环境③过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤(4)软件生命周期的含义、组成阶段及各阶段主要任务答:软件生命周期:一个软件从定义、开发、运行维护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习提纲Chapter11.开发文档都有哪些?用图来表示它们之间的关系。
2.说明软件工程研究的内容。
3.软件工程的7条基本原理有何现实意义。
4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别?5.怎样理解CMMI,如何用CMMI去管理软件企业?6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么?7.软件工程与信息系统工程有何异同?8.怎样理解元数据?Chapter21.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系?2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。
3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么?4.你对“生存周期模型裁剪指南”有什么看法?5.“图书馆信息系统”的开发选用什么开发模型合适?Chapter31.立项的具体表现形式是什么?2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员?3.什么叫风险分析,技能风险与技术风险有何区别?3.合同、任务书、立项建议书三者有何异同?有何关系?4.对软件项目和产品的“功能、性能、接口”三项指标如何理解?Chapter41.需求分析的目的是什么,需求分析的难点在哪里?2.需求分析的理论基础有哪几条?3.为什么说需求分析是面向流程的?4.解释术语:元数据、实体、中间数据。
5.用户需求报告与需求规格书有何差异?6.需求描述有哪几种工具?你喜欢哪一种,为什么?1.简述软件策划的步骤。
2.简述软件策划的方法。
3.简述对软件工作产品规模进行量化估计的方法。
4.软件工作产品和软件产品有何异同?5.名称解释:直接人工、直接费用、间接成本、制造费用、管理费用、不可预见费用。
6.怎样理解软件中的度量,它有何作用?Chapter61.概要设计说明书和详细设计说明书有何区别?2.怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?3.模块实现设计包括哪些内容?4.为什么软件设计要遵守“抽象、分解与模块化、低耦合高内聚、封装、接口和实现分离”的设计原理?Chapter71.简述UML的优缺点。
2.信息系统的业务模型、功能模型、数据模型各是什么?3.请说明“三个模型”的定义以及三者之间的关系。
Chapter81.软件实现要做的工作包括哪几项?2.界面设计应遵从哪些原则?3.软件实现管理哪些内容?Chapter99.1 软件测试的目的和目标是什么?9.4 试阐述软件测试V模型的思想及不足之处和改进办法。
9.6 试说出黑盒测试和白盒的区别和联系。
9.9 软件测试工作中要验证哪些文档?试举例。
Chapter1010.3 软件项目与软件产品有什么不同?10.4 软件产品发布的方式有哪几种?10.5 三类软件产品的发布策略有何差异?11.6 传统软件维护分哪几大类?11.8 什么叫结构化维护和非结构化维护?11.10 软件维护的副作用表现在哪4个方面?11.13 两层结构和三层结构的软件维护方法有什么不同?11.15 软件维护与软件产品版本升级有什么关系?Chapter1212.1 怎样理解“软件组织、工作产品、软件过程、软件过程源、软件过程财富”的概念?12.4 SW-CMM的5个级别各有哪些特征?12.5 CMMI的实施步骤是什么?Chapter1313.1 人们为什么越来越重视软件配置管理?13.4 软件配置管理的目的是什么?13.6 什么是配置项?什么是配置管理?13.9 基线、里程碑与检查点各是什么含义?它们之间有什么关系?13.13 软件配置管理员的职责有哪些?Chapter1414.2 针对软件质量保证问题,最有效的办法是什么?14.5 对软件质量进行“全面综合治理”有哪5种方法,哪一种方法最好,为什么?Chapter1515.2 为什么说“规范是对过程的约束,标准是对产品的约束,制度是对行为的约束”?15.3 培训与企业文化有什么关系?15.4 培训文档与培训管理文档有什么差别?Chapter1616.6 “项目管理提供给人们一种解决问题的思路和方法”。
请论述其中的思路和方法。
16.16 请说明软件企业的工作流。
第一部分软件工程内容与方法、生存周期及开发模型、立项与合同(参见补充资料)本章学习目标:1.对软件的定义及其特点有比较全面、客观的认识。
2.认真分析计算机软件发展的三个时期的演进过程,提高对软件工程化的认识。
3.简述软件危机产生的原因。
4.阐释软件生存期的六个步骤。
5.针对软件生存期的瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型、线性顺序模型、原型模型、RAD模型、增量模型的改进过程,指出各个模型的特点与不足,并预测软件工程开发模型的发展趋势。
6.用自己的语言叙述“螺旋模型”、“RAD模型”的实施过程。
7.比较“软件工程”的各种不同的定义,简述软件工程观念的变化。
8.论述软件工程项目的基本目标及其相互之间的关系。
9.阐释组成“基于计算机系统(Computer-based Systems)”的系统各元素及其相互之间的关系,能用这种组成原则来分析具体问题。
10.理解“计算机系统工程”的实质,认真分析其“分配方案”的评价准则,试在更广泛的学科范围应用这些准则。
11.比较用“事件流”方式描述的硬件工程过程与软件工程过程的异同,用自己的语言描述出这种异同。
12.人作为“基于计算机系统”的组成元素,其自己的构成涉及到哪些成分?通过人类工程过程的描述,加深对“用户友好性”的认识。
13.可行性研究需要考虑的范围有哪些(即可行性研究的方法及可行性研究报告的主要内容),详细论述这些范围所涉及的情况。
14.用自己的语言综合论述“系统分析”的任务、步骤和方法。
15.通用软件产品开发和定制软件开发之间有什么不同?这在实际应用中对通用软件产品用户意味着什么?16.解释为什么软件工程的基本思想适用于所有的软件系统?一、基本概念软件,软件的特点,软件生存期,软件生存期模型,瀑布模型,增量模型,迭代模型,原型模型,软件工程的基本目标,基于计算机的系统的基本内容,可行性研究,软件立项,软件策划,二、简答和练习题⒈回答下列问题⑴什么是软件危机?为什么会产生软件危机?怎样消除软件危机?⑵软件开发与写程序有什么不同?为什么应该有所不同?⑶软件生存周期为什么要划分成阶段?应该怎样来划分阶段?2. 为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算机利息并印出利息清单给储户。
请写出问题定义并分析此系统的可行性。
3. 为方便旅客,某航空公司拟开发一个机票预定系统。
旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。
请写出问题定义并分析此系统的可行性。
三、基本术语翻译四、简述题1.谈谈你对软件工程化开发的认识。
2.软件工程过程有哪几种基本活动?试加以说明。
3.试说明“软件生存周期”的概念。
4.试论述瀑布模型、增量模型、迭代模型、原型模型等软件开发方法的基本过程及优缺点。
5.简述软件工程3种开发方法、4项研究内容以及5个面向理论。
6.软件工程是开发、运行、维护和修复软件的系统化方法,它包括哪些要素?试加以说明。
7.软件工程的基本原则有哪些?试加以说明。
8.有人认为软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。
请提出你的观点并解释。
9. 比较ISO 9000、CMM/CMMI以及微软管理体系的差异。
10. 信息系统工程的层次有哪些?阐述软件工程与信息系统工程之间的关系。
11. 比较顾客、客户、用户之间的异同。
12. 一个系统分析员可以是三个来源之一;系统开发者;系统需求者;或某些外部机构。
讨论使用每一来源的正反两方面的特点。
描述一个“理想的”分析员(即分析员的职责及其应具备的条件)。
13. 人作为“基于计算机系统”的组成元素,其自己的构成涉及到哪些成分?通过人类工程过程的描述,加深对“用户友好性”的认识。
14.解释为什么增量式开发是开发商务软件系统的最有效技术?为什么这种模型不适用于实时系统工程?15.说明为什么在需求工程过程中区分用户需求开发和系统需求开发是重要的。
16.描述在软件设计过程中的主要活动以及这些活动的输出。
使用图来说明在这些活动输出之间可能存在的关系?17.让一名用户紧密参与到软件开发团队中的一个问题是“本地化”,也就是,团队成员采纳开发团队的观点而忽视用户队员的需求。
请写出3个解决建议,并讨论每一个的优点和缺点。
第二部分软件需求分析(参见补充资料)本章学习目标:1.简述需求分析的任务、过程以及常用的方法,并用自己的语言叙述图3.3(P41)软件需求分析工作的流程。
2.掌握软件需求分析的原则。
结合图3.2和图3.6阐述对用户、分析员、程序员的素质要求,他们彼此之间的关系以及各自对需求分析阶段工作的贡献。
3.理解不同需求分析方法的共性。
结合图3.9(P50)阐述快速原型方法的细化过程,并分析在软件开发周期不同阶段引入快速原型方法后的开发过程。
4.阐述软件复用的概念、范围以及复用技术。
5.掌握结构化分析方法及其所使用的工具以及这些工具的各自特点;并简述进行系统动态分析的几种方法。
6.理解不同方式的软件需求分析工具的特色,阐述自己对软件需求分析自动化的看法。
7.了解需求规格说明和需求评审的主要内容,并用自己的语言综合论述“软件需求分析”的全部过程。
一、基本概念原型化方法,软件复用及软件复用的范围,结构化分析方法,数据流图,数据词典,Warnier图,数据库的基本概念二、简述题1. 在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。
请问什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?2. 软件需求分析是软件工程过程中交换意见最频繁的步骤。
为什么交换意见的途径会经常阻塞?3. 你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。
4. 信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系统?5. 软件需求分析的操作性原则和需求工程的指导性原则是什么?6. 描述加工逻辑说明的工具有哪些?各自的特点,试分别举例说明之。
7. 数据流图和数据字典的作用是什么?数据流图的基本成分有哪些?数据字典有哪些词条?8. 传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型开发模型的主要优点是什么?9. 软件需求分析说明书主要包括哪些内容?10. 状态迁移图、时序图和Petri网的用途何在?11.利用你关于自动取款机的使用知识,设计一组用例,用来作为理解自动取款机系统需求的基础。