当前位置:文档之家› 软件工程概论 整理

软件工程概论 整理

软件工程概论 整理
软件工程概论 整理

软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,包括两方面问题:一、如何开发软件,以满足不断增长,日趋复杂的需求;二、如何维护数量不断膨胀的软件产品。

软件危机的主要表现:

1、对软件开发成本和进度的估计不准确;

2、开发的软件不能满足用户的要求;

3、软件产品质量很低;

4、开发的软件可维护性差;

5、软件通常没有适当的文件资料;

6、软件的成本不断提高;

7、软件开发生产率的提高赶不上硬件的发展和人们需求的增长。

软件工程:为了有效地控制软件危机的发生而被提出来的,她的中心目标就是把软件作为一种物理的工业产品开发,要求“采用工程化的原理与方法对软件进行计划、开发和维护”。为了消除软件危机,既要有技术措施,又要有必要的组织管理措施。

软件工程三段论:软件项目管理论、软件项目开发论、软件过程改进论。

开发过程是软件人员生产软件的过程;管理过程是项目管理者桂花软件开发、控制软件开发的过程;过程改进相对于对软件开发过程和软件管理过程的“工艺流程”进行管理和改进。

软件开发的路线图:

从需求开始,需求是项目开发的基础,概要设计为软件需求提供了实施方案,详细设计对概要设计的细化,是为编码提供依据,编码是软件的具体实现,测试是验证这个软件的正确性,提交(发布)是将软件提交给使用者,在软件的使用过程中有问题需要维护。

在进行复用规划是,要考虑的因素:

1、软件开发进度要求;

2、软件生存期的考虑;

3、考虑开发团队的背景、技能和经验;

4、考虑如那件的风险和非功能的需求;

5、考虑应用领域;

6、考虑系统运行的平台。

可行性研究的任务是从技术可行性、经济可行性、社会可行性、操作可行性等方面研究软件项目可行性。

软件需求是指用户对软件的功能和性能的要求。

从软件需求按层次来分:业务需求、用户需求、功能需求、软件需求规

格。

从项目开发角度分:功能需求和非功能需求。

软件需求工程的管理分为5个独立过程:需求获取、需求分析、需求规格编写、需求验证、需求变更管理。

需求获取的主要任务:和用户方的领导层、业务层人员的访谈式沟通,目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等具体情况和客观的信息,以建立起良好的沟通渠道和方式。

需求获取需要执行的活动:

1、了解客户方的所有用户类型以及潜在的类型;

2、对用户进行访谈和调研;

3、需求分析人员对收集到的用户需求作进一步的分析和整理;

4、需求分析人员将调研的用户需求以适当的方式呈交给用户方和开发方的相关人员。

进行需求获取时要注意的问题:

1、识别真正的用户;

2、正确理解客户的需求;

3、具备较强的忍耐力和清晰的思维;

4、使用符合客户语言习惯的表达;

5、提供需求开发评估报告;

6、尊重开发人员和客户的意见,妥善解决矛盾;

7、划分需求的优先级;

8、说服和教育客户。

UML的4种关系:关联、泛化、依赖和实现。

UML有10种图。其中,可定义需求的视图有:用例视图、顺序图、状态图、协作图、活动图等。

用例图,活动图(会画) P54、55

概要设计方法概论:1、结构化的设计方法;2、面向对象的设计方法。

结构化的设计方法:自顶而下,逐步求精的设计方法,从问题本身开始,逐步细化,将解决问题的步骤分解为基本程序结构模块结构化程序框图。

在进行对象分析和设计的时候,可以总结出如下的步骤:

1、识别对象;

2、确定属性;

3、定义操作;

4、确定对象之间的通

信;5、完成对象定义。

设计模型主要包括四类模型:数据设计、构架设计、界面设计、模块设计。

数据模型可以分为概念数据模型和物理数据模型,概念数据模型设计的目标是产生反应系统信息需求的整体数据库概念结构,即概念数据模型就是数据库的逻辑设计,描述的主要工具是E-R图。物理数据模型是将概念结构转换成特定DBMS(数据管理工具系统)所支持的数据模型的过程,是数据库的物理设计,即物理表。

界面管理的三个黄金原则:1、控制用户的想法;2、尽可能减少用户记忆量;3、界面最好有连续性。

模型(Model)视图(View)控制器(Controller)

MVC的优点:1、低耦合性;2、高重用性和可适用性;3、较低的生命周期成本;4、快速的部署;5、可维护性;6、有利用软件工程化管理。

软件工程导论(第5版)课后习题答案

1-5 根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算: (1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少? (2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。 (3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。 ●(1)在1985年对计算机存储容量的需求,估计是 M=4080e0.28(1985-1960)=4474263(字) ●如果字长为16位,则这个存储器的价格是 ●P=0.048*0.72 1985-1974*4474263=$5789 ●(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。 ●在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人 每月可开发出10×20条指令。 ●为了开发出4474263条指令以装满存储器,需要的工作量是: 4474263/200=22371(人月) ●程序员的月平均工资是4000美元,开发出4474263条指令的成本是 22371*4000=¥89484000 ●(3)在1995年对存储容量的需求估计为: M=4080E0。28(1995-1960)=73577679(字)=4080E9.8 ●如果字长为32位,则这个存储器的价格是: P=0.003*32*0.72(1995-1974)*73577679=$7127 ●如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。 ●在1995年一名程序员每天可开发出30条指令,每月可开发出600条指令,为了开 发出可装满整个存储器的程序,需要的工作量为 73577679/600=122629(人月) ●开发上述程序的成本为: 122629*6000=$735776790 1-6 什么是软件过程?它与软件工程方法学有何关系?

软件工程问题整理版

1、软件危机定义、发生原因、常见表现,如避免软件危机? (1)软件危机定义:课本Page 8(开发和维护过程) (2)发生原因、常见表现:课本Page 8-9,练习册Page 1 (3)如避免:Page 10 (采用软件工程的法) 答案(由于大部分答案参考ppt,故仅供参考,下同) 软件危机定义:是指在计算机软件的开发和维护过程中所遇到的一系列重问题。 表现在: (1)对于软件开发的成本和进度的估计很不准确。 (2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。 (3)开发的软件可靠性差。 (4)软件通常没有适当的文档。 (5)软件的可维护性差。 (6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 原因: (1)软件的规模愈发庞大; (2)软件开发的管理困难。 (3)成功的软件开发经验没被很好地应用。 (4)软件开发和维护中千金错误认识和法的形成可以归结与计算机发展早期软件开发的个体化特点。 (5)软件开发技术落后。 (6)生产式落后。 (7)开发工具落后,生产率提高缓慢。 如避免(参考,可以自己总结): 从软件开发的工程化法入手,即用现代工程的概念原理、技术和法去指导软件的开发、管理和维护,这就是软件工程思想和法。具体措施: (1)使用好的软件开发技术和法; (2)要有良好的组织、密的管理,各类人员协同配合,共同完成任务; (3)使用好的软件开发工具,提高软件生产率; (4)建立格的文档资料,重视软件开发过程的阶段评审。 2、软件生命期模型(软件生命期?)的组成,每个阶段的容? (1)组成:Page 21 (2)容:Page 22—25) 答案: 软件生存期定义: 一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存期。 软件生存期一般可分为以下阶段: (1)问题定义(2)可行性研究(3)需求分析(4)概要设计(总体设计) (5)详细设计(6)编码(7)测试(8)维护 也可以分为四个大的阶段:软件分析、软件设计、编码与测试、运行与维护

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

南京信息工程大学滨江学院李振宏《软件工程》期末复习 个考点完整版

选择20题,每题1分;填空10题,每题1分;简答5题,每题8分;设计题3题,每题10分(流程图的设计、流图设计和环形复杂度的计算、语句覆盖和判定覆盖测试用例的设计)。 1.详细设计中,过程设计的工具,N-S图,PAD图及判定表和判定树各有何特点和适用情况?(第六章) (1)盒图(N-S图): 一种不允许违背结构程序设计精神的图形工具,又称为N-S图。它有下述特点: ①功能域(作用域)明确,可以从盒图上一眼就看出来。 ②盒图没有箭头,因此不允许随意转移控制。 ③很容易确定局部和全程数据的作用域。 ④很容易表现嵌套关系,也可以表示模块的层次结构。 适用:对大部分设计均有适用性,常用于软件工程详细设计中,提供一种结构化的方式,便于思考和解决问题。 (2)PAD图: PAD是问题分析图(problem analysis diagram) ,它用二维树形结构的图来表示程序的控制流。PAD图的主要优点如下: ①使用PAD符号设计的程序必然是结构化程序。 ② PAD图所描绘的程序结构十分清晰。最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸。每增加一个层次,图形向右扩展一条竖线。图中竖线的总条数就是程序的层次数。 ③PAD图表现的程序逻辑,易读、易懂、易记。程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。 ④容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成。 ⑤既可表示程序逻辑,也可描绘数据结构。 ⑥支持自顶向下、逐步求精方法的使用。 适用:为FORTTAN,COBOL,PASCAL等每种常用的高级程序设计语言提供了一套相应的图形符号。 开始时可以定义一个抽象的程序,随着设计的深入,使用def符号逐步增加细节,直至完成详细设计,如图6.6所示。 (3)判定表(P127有例子): 适于表示复杂的条件组合与应做的动作之间的对应关系。特点是: ①能够间接而又无歧义的描述处理故意则。 ②并不适用于作为一种通用的设计工具。 ③一张判定表由以下四部分组成:左上部列出所有条件,左下部是所有可能的动作,右

软件工程导论(第五版)课后习题测验答案

《软件工程导论》课后习题答案 第一章软件工程概论 1-1 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.软件危机有那些典型表现? (1)对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 1-3、

软件工程复习考试题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法?B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

《软件工程导论》第五版-张海藩-编著-总结

《软件工程导论》第五版张海藩编著总结 分类:Computer System2011-01-04 10:14 6417人阅读评论(10) 收藏举报 测试数据结构工具任务文档软件测试 总结重点: ?Unit1 ?软件危机包含两方面の问题:一是如何开发软件,怎样满足人们对软件日益增长の需求?二是如何维护软件,使它们持久地满足人们の要求。 ?软件工程学定义:把软件当作一种工业产品,采用工程学の原理来管理和组织软件の开发和维护,称为软件工程。 ?软件是指程序、数据和文档三者共同构成の配置。 ?包含与数据处理系统操作有关の程序、规程、规则以及相关文档の智力创作称为软件。文档是描述程序开发过程の,是智力创作の真实记录,是创作活动の历史档案和结晶。 ?软件の描述性定义:软件由计算机程序,数据结构和文档组成。 ?软件质量定义为“与软件产品满足规定の和隐含の需求能力有关の特征和特性の全体” 具体来说: 1)软件产品中能满足给定需求の性质和特性の总体; 2)软件具有所期望の各种属性の组合程度。 ?将软件质量属性划分为六个特性(功能性、可靠性、易用性、效率、维护性和可移植性),这六个属性是面向用户の观点——面向管理の观点,且是定性描述の。 ?软件质量度量体系:内部度量可用于开发阶段の非执行软件产品,外部度量只能在生存周期过程中の测试阶段和任何运行阶段使用。 ?软件工程项目の基本目标:(1)低成本;(2)满足功能要求;(3)高性能;(4)易移植;(5)易维护。 ?软件工程方法学就是要从技术和管理上提供如何去设计和维护软件。 ?软件开发方法:面向数据流(约旦)方法、面向数据结构方法、面向对象方法。 ?结构程序设计是进行以模块功能和处理过程设计为主の详细设计の基本原则。它の主要观点是采用自顶向下、逐步求精の程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。 ?用来辅助软件开发、运行、维护、管理、支持等过程中活动の软件称为软件工具(CASE)。 ?软件生存周期定义:软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用の整个过程。各阶段の任务彼此间尽可能の相对独立,同一阶段内各项任务の性质尽可能の相同。软件の开发就是“按软件顺时间发展の过程分阶段进行”の。 ?软件生存周期模型: 瀑布模型(阶段间具有顺序型和依赖性,清楚地区分逻辑设计与物理设计、尽可能推迟程序の物理实现,是文档驱动模型,遵循结构化设计);

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

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

(最后部分为每年必考题) 第一章 1. .软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的. 2. 软件危机的概念:软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。 3. 产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4. 面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。4.对象彼此间仅能通过发送消息互相联系。 5. 软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要) 6. 瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。 7. 微软过程把软件生命周期划分为成5个阶段:规划阶段,设计阶段,开发阶段,稳定阶段,发布阶段。 第二章 1.可行性包括:技术可行性,经济可行性,操作可行性。 2. 系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形势描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。4. 书库流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示。 5. 用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。有数据元素组成的数据的方式只有下述3种基本类型:顺序(即以确定次序连接两个或多个分量)。选择即从两个或多个可能的元素中选取一个重复即把指定的分量重复零次或多次

工程资料合同范本

协议书 发包方:(以下简称甲方) 承包方:(以下简称乙方) 根据《中华人民共和国合同法》及相关法律规定,结合本工程实际情况,经双方协商特定本协议。 一、承包范围 甲方将开发的位于 的 工程资料(含监理资料、安全资料、施工资料,工程变更及签证文件除外)按元/m2,约m2,共约 元发包给乙方。建筑面积按甲方与建设单位结算面积为准。 二、质量要求: 各项资料要求应以甲方工程质量为准,与甲方工程质量相符。 三、付款方式: 基础结构验收后付合同总价的10%,主体结构验收后付到合同总价的50%,档案馆存档后付到合同总价的85%,验收备案后15天内付清所有余款。 四、本协议签定地点及时间 地点:工地项目部 时间:年月日 五、甲乙双方的责任和义务 1、乙方提供档案馆、建设单位技术及备案资料各一套。 2、乙方工作内容是一名资料员应做的所有事情。即:购买相关表格,整理甲方、监理及主管部门的相关资料文件。 3、乙方在甲方开工时购买文具、办公用品、各项资料表格。在工程施工过程中各种与资料相关的复印、打字、装订的费用均由乙方自己承担。 4、乙方应积极配合甲方,参加各种验收,并出示相关资料,及时办理相关手续。 5、在工程施工中,由于检测方(相关方)刁难,甲方进场材料不合格,出现材料等不合格现象,所发生的费用由甲方承担,事故由甲方负责处理,乙方需积极配合。 6、甲方提供乙方办公场所、办公桌、椅及存放资料的文件柜,工程蓝图图纸贰套(含竣工图)。 7、甲方需购买黄陂区质量监督站要求做的资料软件,各栋各一套。 8、各项检测(包括送检材料时的车费)、上级检查验收、资料交档案馆、取得备案证等费用由甲方或建设方承担。

软件工程复习资料-完整版

一、选择题: 1、用例图中,用来表示用例的符号为(B)。 A B. C. D. 2、协作图中包含的元素包括(A)。 A. 对象 B. 链 C. 激活 D. 消息 3、在类图中,哪种关系表达整体与部分的关系(D)。 A.泛化 B. 实现 C. 依赖 D. 聚合 4、下列各种图形符号中,用来表示组成关系的符号为(B)。 A. B. C. D. 5、(A)工具在软件的详细设计中不能使用。 A.DFD B. N-S图 C. 流程图 D. PDL 6、“软件危机”是指(C)。 A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。

A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。 A. 对象 B. 参与者 C. 消息 D. 激活 9、下列UML图形中,(ABCD)属于UML的动态视图。 A. 协作图 B. 状态图 C. 活动图 D. 顺序图 10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。 A. 数据库设计 B. 数据通信 C. 数据关系描述 D. 数据定义 11、详细设计与概要设计衔接的图形工具是(D)。 A. DFD图 B. 程序图 C. PAD图 D. SC图 12、UML中,大多数建模者把节点分为(AC) A. 设备 B. 构件 C. 处理器 D. 显示器 13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。 A.时间图 B. 流程图 C. 活动图 D. 状态图 14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。 A. 状态图 B. 序列图 C. 协作图 D. 活动图 15、下列特点属于描述用例的特点的是(D)。 A. 相对独立:不需要与其他用例交互,即功能是完备的

(完整版)软件工程导论(第5版)习题二答案

P53 习题二 4.目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于 不能随时观察病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。 医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏体温血压心电图等)定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围试向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。 答: 问题定义:某医院打算开发一个以计算机为中心的患者监护系统是为了更好地让医生监护病人的生理信号(脉搏、血压、心电图等)的变化,定时记录病人情况以形成患者日志,防止没能及时发现危重病人的病情恶化而耽误抢救时机的现象出现;当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。 可行性研究: (1)技术可行性:开发系统的计算机硬件已经非常普及,现在的计算机各方面的技术都非常成熟,相对来说开发此系统的技术也要求比较简单,因此在技术方面是可行的;同时医院还必须有一定量的系统管理和维护的专业人员。医院的患者监护系统由三部分构成:监护中心、护士监听部分和 Internet医疗网站。监护中心通过Internet与护士监护部分、Internet连接、把监听到的患者声音、视频信息以及影像资料通过通讯网络实时传送到护士监听部分(便于护士随时掌握患者的生理状况)和Internet医疗中心(有利于实现生理数据的共享)。 因此技术上分析是可行的。 (2)经济可行性:随着经济越来越发达,人们可以支付的治疗疾病的花费也挺高了,因此其开发具有广阔的市场。目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察病人的病情变化,还可能会延误抢救时机。当前的社区医疗保健系统还不够完善,大多数据收集工作主要采取手工方式;并且信息不利于共享,采集的资料存在一台计算机里,社区中心与居民之间不能建立起随时访问和被采访的关系。 (3)操作可行性:计算机的普及使人们对以计算机为中心的患者监护系 统的使用做了铺垫,系统的操作人员需要经过专业的人员指导以及培训。 (4)法律可行性:医院想要使用患者监护系统需要购买正版的软件,机 器设置也需要通过正当途径购买。 5.北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成, 第1位数字不是零;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本地电话再接着拨8位数字(第一位不是0),若是外地电话则拨3位区码再拨8位电话号码(第一位不是0)。 用2.5.2小节讲诉的数据定义的方法,定义上述电话号码。 答:电话号码=[校内电话号码|校外电话号码]

软件工程整理

第一章 软件工程研究的主要内容:为了在有限的资金、资源和时间条件下开发满足客户要求的高质量软件,需要研究与软件开发和管理相关的模型、方法、技术等。 在《计算机科学技术百科全书》中,对计算机软件作出如下定义:计算机软件指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述。任何以计算机为处理工具的任务都是计算任务。处理对象是数据或信息。处理规则一般指处理的动作和步骤。文档是为了便于了解程序所需的阐述性资料。 软件工程的定义:⑴IEEE在软件工程术语汇编中的定义:①软件工程是将系统化的的方法用于软件的开发、运行和维护,即将工程化应用于软件;②在①中所述方法的研究⑵软件工程是应用计算机科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源等管理。 软件工程的框架:目标,过程和原则 软件工程目标是指生产具有正确性、可用性、和开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜指软件开发、运行的整个开销满足用户要求的程度。 软件工程原则包括围绕工程设计、工程支付和工程管理所提出的以下4条基本原则 (1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支撑 (4)重视软件工程的管理 软件生存周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。 软件生存周期分为6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护 软件过程是生产一个最终满足需求且达到工程目标的软件产品所需的步骤。 软件过程是软件生存周期中的一系列相关的过程。过程是活动的集合,活动是任务的集合。软件过程有3层含义:一是个体含义,即指软件产品或系统在生存周期中的某一类活动的集合;二是整体含义,即指软件产品或系统在所有上述含义下的软件过程的总体;三是工程含义,即指解决软件过程的工程,应用软件工程的原则、方法来构造软件过程模型、并结合软件产品的具体要求进行实例化,以及在用户环境,并结合软件产品的具体要求进行实例化,以及在用户环境下运作,以此进一步提高软件生产率,降低成本。 软件过程模型也称软件开发模型,是软件开发全部过程、活动和任务的结构框架。典型的软件过程模型有:瀑布模型、演化模型(如增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 瀑布模型是1970年由W.Royce提出的,它给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段的活动过渡,最终得到所开发的软件产品。其特征是:接受上一阶段活动的结果作为本阶段活动的输入 依据上一阶段活动的结果实施本阶段应完成的活动 对本阶段的活动进行评审 将本阶段活动的结果作为输出,传递给下一阶段 瀑布模型也逐渐暴露出它的不足(1)不少软件的需求存在着不确定性,(2)如果发现不满足客户需求的问题,那么修改软件的代价是巨大的 演化模型,是从构造初始的原型出发,逐步将其演化成最终软件产品的过程。演化模型适用于对软件需求缺乏准确认识的情况。典型的演化模型有:增量模型、原型模型、螺旋模型 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的“增量”版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 增量模型融合了瀑布模型的基本成分和演化模型的迭代特征,强调每一次增量都发布一个可运行的产品。特征:(1)适用于需求经常发生变化的软件开发(2)在市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品,此时也适宜用增量模型进行开发(3)能有计划的管理技术风险

某公路工程资料整理范本

工工程程资资料料整整理理范范本本

目录 第一章交桩和复测报告 第一节交桩 (1) 第二节复测报告 (4) 第二章开工报告 (12) 第三章原材料出厂质量证明和工地试验报告 第一节原材料出场质量证明 (24) 第二节工地原材料抽检试验报告 (24) 第四章路基工程施工资料 第一节路基检验记录整理顺序 (26) 第二节路基排水资料整理顺序 (44) 第三节挡土墙、防护工程资料整理顺序 (52) 第四节小桥和涵洞资料整理顺序 (60) 第五章路面工程施工资料 第一节水泥稳定粒料基层(底基层)资料整理顺序 (80) 第二节沥青混凝土面层资料整理顺序 (88) 第三节水泥混凝土面层资料整理顺序 (93) 第四节路缘石资料整理顺序 (97) 第五节路肩资料整理顺序 (100) 第六章桥涵工程施工资料 第一节施工试验报告 (102) 第二节施工检验资料整理顺序 (107) 一、基础及下部构造资料整理顺序 (107) 二、上部构造预制和安装资料整理顺序 (145) 三、总体、桥面系和附属工程资料整理顺序 (157) 第三节悬索桥资料整理顺序 (181) 第七章施工检验结果汇总表 第一节施工抽检试验结果汇总表 (213) 第二节施工检验结果汇总表 (217) 第八章监理资料 第一节监理行政管理文件 (223) 第二节合同管理文件 (237)

第三节进度管理文件 (252) 第四节质量管理文件 (259) 第五节计量支付文件 (286) 第六节监理原始资料 (302) 第九章内业资料整理规定 (303) 第一节科技档案归档须知 (303) 第二节科技档案分类 (305) 第三节公路工程竣工文件材料立卷归档管理办法 (308) 第四节河北省公路工程竣(交)工验收办法实施细则 (320) 第五节内业资料归档程序表格 (353)

软件工程导论复习试题库完整

a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是 A) 路径的集合 B)循环的集合C)目标的集合D)地址的集合 c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序 I.功能测试Ⅱ. 结构测试 A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱ a(3)检查软件产品是否符合需求定义的过程称为 A)确认测试B)集成测试C)验证测试D)验收测试 c(4)下述陈述中,哪一个不是软件健壮性的度量指标? A)失败后重新启动所需的时间B)引起失败的时间所占的百分比 D)失败前的平均工作时间D)在一次失败中数据恶化的概率 b(5)对软件是否能达到用户所期望的要求的测试称为 A) 集成测试B) 有效性测试C) 系统测试D) 验收测试 a(6)在面向数据流的软件设计方法中,一般将信息流分为 A)变换流和事务流B)变换流和控制流 C)事务流和控制流D)数据流和控制流 d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容 I.数据描述Ⅲ. 模块描述 II.功能描述Ⅳ. 性能描述 A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ (8)软件测试一般分为三类,即 I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试 设计测试用例对程序进行测试,应属于 A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ (9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。 A)模块间联系程度B)模块的功能强度 C)信息隐蔽程度D)模块的复杂程度 (10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具 I.结构图Ⅱ. 实体关系图Ⅲ. IPO图 II.Ⅳ. 流程图Ⅴ. N-S图 A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部 A (2)C (3)A (4)C (5) B (6)A (7)D (8)B (10)C (11)试判断下列论述中哪个(些)是正确的 I.软件系统中所有的信息流都可以认为是变换流 II.软件系统中所有的信息流都可以认为是事务流 III.事务分析和变换分析的设计步骤基本类似 A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ (12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书 C)总体设计报告D)有效性测试要求 (13)软件设计中的软件过程其主要描述的是 A)模块间关系B)模块操作细节 C)模块控制方法D)模块类型 (14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?

软件工程复习题及答案完整

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统

《软件工程导论第五版》张海潘pdf版(第五版清华大学出版社课后答案)

第一章 z 软件工程方法学(3个要素) :通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学, 也称范型。三要素:方法、工具和过程。 z 软件生命周期模型 – 瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件3.要求每 个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 – 缺点:传统的瀑布模型过于理想化,是由文档驱动的。 – 快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反 馈意见的方法,获取用户真正的需要。 – 增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用 户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。 – 螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只 是螺旋模型中另一个周期。 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-2 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-3 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2种): 1. 传统方法学:也称为生命周期方法学或结构化范型。 优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作; 促进了软件重用。 1-4 软件生命周期划分成哪些阶段 z 软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。 1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析 2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。 3. 维护时期:主要任务是使软件持久地满足用户的需要。 1-5 什么是软件过程?它与软件工程方法学有何关系? z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-6 传统“瀑布模型”的主要缺陷是什么?试说明改进的方法。 传统的瀑布模型过于理想化了。增加“反馈环” 第二章 z 可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 z 可行性研究的任务:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统 实现方案4.研究每种实现方案的可行性: z 技术上的可行性 ——使用现有的技术能实现这个系统吗? z 经济上的可行性 ——这个系统的经济效益能超过它的开发成本吗? (投资与效益) z 操作可行性 ——系统的操作方式在这个用户组织内行得通吗? z 社会、政策允许的可行性 5.为每个可行的解决方案制定一个粗略的实现进度 6.对以后的行动方针提出建议 方法:1.系统流程图 2.数据流图:(DFD ) 符号 数据流 第 1 页https://www.doczj.com/doc/ac6226442.html,

相关主题
文本预览
相关文档 最新文档