软件工程导论最全复习总结

合集下载

软件工程导论知识总结

软件工程导论知识总结

软件工程导论第一章:软件工程学概论1. 软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2. 概括的说,软件危机包括两方面问题:如何开发软件已满足日益增长的需求;如何维护数量不断膨胀的已有软件。

3. 软件危机的典型表现:对软件开发成本和进度的估计常常很不准确;用户对“已完成的”软件系统不满意的现象经常发生;软件的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速不及深入的趋势。

4. 产生软件危机的原因:在软件开发和维护的过程中存在这么多严重的问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

5. 在实践过称中或多或少的采用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因。

6. 软件不同与硬件,他是计算机系统中的逻辑部件而不是物理部件。

7. 软件不同于一般程序,他的一个显著特点是估摸庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

8. 软件本身独有的特点确实给开发和维护带来一些客观困难。

9. 对用户要求没有完整的认识就匆忙着手编写程序是软件开发功臣失败的主要原因之一。

10. 一个软件从定义、开发、使用和维护,直到最终被遗弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生命周期。

11. 软件是程序、数据及相关文档的完整集合。

其中,程序是能够完成预定功能和性能的可执的指令序列;数据是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。

12. 软件工程是指导计算机软件开发和维护的一门工程学科。

13. 软件工程是:把系统的、规范的、可度量的途径应用与软件开发、运行和维护过程,也就是吧工程应用与软件;研究前面所提到的途径。

14. 软件工程的本质特性:软件工程关注与大型程序的构造;软件工程的中心课题是控制复杂性;软件经常变化;开发软件的效率非常重要;和谐的合作是开发软件的关键;软件必须有效地支持他的用户;在软件工程领域中通常由具有一种文化背景的人体另一种具有文化背景的人创造产品。

软件工程导论总复习

软件工程导论总复习

• 5.3、设计的启发规则
1、提高模块独立性 2、模块规模适中 – 3、深度、宽度、扇入、扇出适当 4、作用域在控制域内 5、降低接口的复杂程度 – 6、单出口单入口,避免内容耦合 – 7、模块功能可预测
• 5.4 描绘软件结构的图形工具
– 层次图和HIPO图
• 5.5 面向数据流的设计方法
– 变换流 – 事务流 – 变换分析和事务分析的步骤
– 状态 – 事件 – 符号
• 3.7 其他图形工具
– 层次方框图 – Warnier图 – IPO图
• 3.8 验证软件需求
– 方法、工具
练习题



什么是需求分析?需求分析阶段的基本任务是 什么? 答:所谓"需求分析",是指对要解决的问题进行 详细的分析,弄清楚问题的要求,包括需要输 入什么数据,要得到什么结果,最后应输出什 么。可以说,“需求分析”就是确定要计算机 “做什么”。 任务:确定软件项目的目标和范围。调查使用 者的要求,分析软件必须做什么,编写需求规 格说明书等它相关文档,并进行必要的需求审 查。除此之外,还包括需求变更控制,需求风 险控制,需求版本控制等对需求的管理工作


指出瀑布模型中下列任务的顺序:验收测 试,项目计划,单元测试,需求评审,成 本估计,概要设计,详细设计,系统测试, 设计评审,编码,需求规格说明书。 答:项目计划,成本估计,需求规格说明 书,需求评审,概要设计,详细设计,设 计评审,编码,单元测试,系统测试,验 收测试
第二章 可行性研究
• 2.1 任务
可行性研究是在(A)之前 • A、系统开发 B、测试 C、试运行 D、集成测试 可行性研究需要的时间长短取决于系统的 规模,一般来说,可行性研究的成本只是 预期总成本的(C)。 • A、1% B、20% C、8% D、50%

自考04735考点总结

自考04735考点总结

自考04735考点总结一、引言自考04735,即《软件工程导论》是自考软件工程专业必修课程之一。

作为软件工程专业的入门课程,04735涉及了软件工程的基本概念、方法和技术等内容。

下面将对该课程的考点进行总结,以帮助考生更好地备考和复习。

二、考点总结1. 软件工程概述•软件工程的定义和特点•软件工程的发展历程•软件危机及其产生的原因•软件工程的目标和任务在这一部分,考生需要了解软件工程的基本概念和发展历程,理解软件工程的重要性以及软件危机的原因,明确软件工程的目标和任务。

2. 软件过程与模型•软件过程的定义和特点•软件过程模型的分类和特点•瀑布模型、原型模型、增量模型、螺旋模型等具体的软件过程模型这一考点要求考生了解软件过程的基本概念和特点,掌握各种常见的软件过程模型的分类和特点,并能够理解各个模型的优缺点。

3. 需求工程•需求工程的定义和重要性•需求获取、需求分析和需求规格说明等过程•需求验证和需求管理考生需要了解需求工程的定义和重要性,掌握需求获取、需求分析和需求规格说明等过程的基本方法和技巧,并了解需求验证和需求管理的基本概念。

4. 软件设计•软件设计的基本原则和方法•结构化设计和面向对象设计•软件结构图、数据字典和程序流程图等设计工具在这一部分,考生需要掌握软件设计的基本原则和方法,了解结构化设计和面向对象设计的基本概念和特点,并能够灵活运用软件设计工具。

5. 软件测试•软件测试的目的和原则•软件测试的基本分类和测试方法•软件测试的工具和技术考生需要了解软件测试的目的和原则,掌握软件测试的基本分类和测试方法,了解软件测试的常用工具和技术。

6. 软件质量与质量管理•软件质量的定义和特点•软件质量的度量和评估•软件质量管理体系和质量保证最后一个考点要求考生掌握软件质量的定义和特点,了解软件质量的度量和评估方法,并了解软件质量管理体系和质量保证的基本原理和方法。

三、总结自考04735考试中,以上列举的六个考点是比较重要的内容,是考试中需要重点关注和准备的部分。

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)软件工程导论复习重点总结很全(第六版)软件工程是一门研究如何以系统化的、可管理的和可维护的方式来构建高质量的软件的学科。

在软件工程导论中,我们学习了软件开发的基本概念、原理和方法。

本文将对软件工程导论的重点内容进行总结,帮助读者巩固所学知识,为学习和工作提供帮助。

1. 软件工程概述软件工程的定义、目标和原则;软件生命周期和过程模型;软件开发的重要性和挑战;软件工程中的质量保证和风险管理。

2. 软件需求工程软件需求的定义和分类;需求获取、分析和建模;需求验证和确认;需求变更和配置管理。

3. 软件设计软件设计原则和方法;面向对象设计和结构化设计;软件架构设计;设计模式的应用。

4. 软件测试与调试软件测试的概念和目的;测试策略和技术;测试用例的设计和执行;测试评估和管理;软件错误调试和修复。

5. 软件项目管理软件项目管理的基本概念和流程;项目计划和进度管理;团队组织和沟通;风险管理和变更管理;质量管理和配置管理;软件工程伦理与法规。

6. 软件开发过程软件开发过程模型的选择和应用;瀑布模型、迭代模型和敏捷开发等常用模型的特点和比较;敏捷开发方法的原理和实践。

7. 软件工具与环境软件开发工具的选择和使用;集成开发环境、版本控制工具、测试工具和调试工具等的功能和特点;软件工程中的自动化工具和技术。

8. 软件工程的前沿技术软件工程的新兴技术和趋势;人工智能、大数据、云计算等技术在软件开发中的应用;软件工程的创新与创业。

通过对上述主要内容的学习和理解,我们可以全面掌握软件工程导论的核心知识和方法。

在今后的学习和实践中,我们应该注重理论与实际的结合,不断提高自己在软件开发和项目管理方面的能力。

只有不断学习和实践,我们才能成为优秀的软件工程师,为社会和企业创造更大的价值。

总结:软件工程导论是软件工程领域中的重要基础课程,通过对软件开发过程和管理原理的学习,我们可以掌握软件工程的基本概念、原则和方法。

软件工程导论知识点总结

软件工程导论知识点总结

软件工程导论知识点总结软件工程导论知识点总结1. 软件工程概述1.1 什么是软件工程软件工程是一门研究如何有效地开发、维护和管理软件系统的学科。

它基于工程原理和方法,将系统化的、规范化的方法应用于软件开发过程中,以提高软件的质量、可靠性和可维护性。

1.2 软件工程的重要性在当今日益发展的信息技术领域,软件已经成为各个行业和领域中不可或缺的核心组成部分。

软件工程的实践使得软件开发更加可控,能够满足用户需求,提高软件质量,降低开发和维护成本。

1.3 软件工程的原则软件工程有一些核心原则,包括适应性、可理解性、一致性、可复用性和可维护性。

这些原则帮助开发人员创建高质量的软件,并确保软件在不同环境下的可靠性和安全性。

2. 软件开发过程2.1 软件开发生命周期软件开发生命周期是指从软件概念形成到软件退役的整个过程。

常见的软件开发生命周期模型包括瀑布模型、迭代模型和敏捷模型。

2.2 瀑布模型瀑布模型是一种线性的软件开发过程模型,包括需求分析、设计、编码、测试和维护五个阶段。

每个阶段都有明确的输入和输出,下一个阶段在前一个阶段完成后开始。

2.3 迭代模型迭代模型是一种循序渐进的软件开发过程模型,将软件开发分为多个迭代周期。

每个迭代周期包括需求分析、设计、编码、测试和评审阶段。

每个迭代周期都会产生一个可执行的软件版本。

2.4 敏捷模型敏捷模型强调迭代和反馈,在软件开发过程中更加注重灵活性和适应性。

常用的敏捷开发方法包括Scrum和XP(极限编程)等。

3. 软件开发方法与工具3.1 需求工程需求工程是软件工程的关键环节,用于确定用户需求并转化为可行的软件规格说明。

需求工程包括需求获取、需求分析、需求建模和需求验证等阶段。

3.2 架构设计架构设计为软件系统提供了一个稳定的基础,确定系统各个组件之间的关系和交互方式。

常用的架构设计模式包括模块化、层次化、客户端-服务器和MVC等。

3.3 编程与测试编程是将设计转化为可执行代码的过程,而测试是验证代码是否达到预期功能的过程。

软件工程导论复习

软件工程导论复习

软件⼯程导论复习第1章软件⼯程概述1.软件危机定义:111软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题产⽣原因:软件本⾝特点、软件开发与维护的⽅法不正确2.什么是软件⼯程?111软件⼯程是:软件⼯程是指导计算机软件开发和维护的⼀门⼯程学科。

采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好的技术⽅法结合起来,以经济地、⾼效的开发出⾼质量的软件并有效地维护它,这就是软件⼯程。

3.软件⼯程基本原理111:1)⽤分阶段的⽣存周期严格管理。

(2)坚持进⾏阶段评审。

(3)实⾏严格的产品控制。

(4)采⽤现代程序设计技术。

(5)结果应能清楚地审查。

(6)开发⼩组⼈员应该少⽽精。

(7)承认不断改进软件⼯程实践的必要性2、软件⼯程的主要⽬标是什么?基本⽬标是什么?软件⼯程的⽬标:从管理和技术两个⽅⾯开发和维护计算机软件,⽤低成本,开发出达标、⾼性能、易于移植、可靠性⾼的软件。

软件⼯程的基本⽬标是:优质、⾼产。

3. 软件⼯程⽅法学111通常把在软件⽣命周期全过程中使⽤的⼀整套技术⽅法的集合称为⽅法学也称为“范性”。

在软件⼯程领域中这两个术语的含义基本相同。

软件⼯程⽅法学包括3个要素⽅法、⼯具和过程。

⽅法完成软件开发的各项任务的技术⽅法⼯具运⽤⽅法提供的⾃动的或半⾃动的软件⼯程⽀撑环境过程为了获得⾼质量的软件所要完成的⼀系列任务框架规定了完成各项任务的⼯作步骤⽬前使⽤得最⼴泛的软件⼯程⽅法学分别是传统⽅法学和⾯向对象⽅法学1 传统⽅法学传统⽅法学⼜称⽣命周期⽅法学或结构化范型。

软件⼯程采⽤的⽣命周期⽅法学就是从时间⾓度对软件开发和维护的复杂问题进⾏分解把软件⽣命的很长周期依次划分为若⼲个阶段每个阶段有相对独⽴的任务然后逐步完成每个阶段的任务。

对于任何两个相邻的阶段⽽⾔前⼀阶段的结束标准就是后⼀阶段的开始标准。

在每⼀个阶段结束之前都必须进⾏正式严格的技术审查和管理复审从技术和管理两⽅⾯对这个阶段的开发成果进⾏检查通过之后这个阶段才算结束如果检查迈不过则必须进⾏必要的返⼯并且返⼯后还要再经过审查。

软件工程导论复习整理(最新)

软件工程导论复习整理(最新)

第一章1..软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.软件与硬件的区别:软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

3.软件:程序、数据及相关文档的完整集合。

4.软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有校地维护它。

5.软件工程方法学三要素:方法、工具和过程。

6.传统方法学也称为生命周期方法学或结构化范型。

它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

7.面向对象方法学把数据和行为看成同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。

8.软件生命周期划分为三个时期:1软件定义(问题定义、可行性研究、需求分析),2软件开发(总体设计、详细设计、编码和单元测试、综合测试),3运行维护(软件维护)。

9.4类软件维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。

10.“瀑布模型”的缺点:它是由文档驱动的,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品;瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的产品不能真正的满足用户的需要。

11.快速原型模型的优点:原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求;开发人员通过建立原型系统已经学到了很多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。

第二章1.可行性研究的三个方面:技术可行性:使用现有的技术能实现这个系统经济可行性:这个系统的经济效益能超过它的开发成本操作可行性:系统的操作方式在这个用户组织内行得通2.数据流图的4个基本符号及画法P413.数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

软件工程导论复习知识点

软件工程导论复习知识点

软件工程导论复习知识点一、软件:软件定义:软件=程序+文档+数据软件特点:1、具有抽象性2、没有明显的制造过程3、软件的维护比硬件的维护要复杂得多4、对计算机系统有着不同程度的依赖性5、尚未完全摆脱手工艺的开发方式6、软件本身是复杂的7、软件成本相当昂贵8、相当多的软件工作涉及到社会因素软件的发展:程序设计、程序系统、软件工程软件危机:软件危机指的是软件开发和维护过程中遇到的一系列严重问题。

软件危机的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机表现:1.开发成本难以控制,进度不可预计;2.软件系统的质量和可靠性很差,难以满意;3.软件文档相当缺乏,软件系统不可维护;4.软件开发生产率很低,软件产品供不应求。

5.软件产品成本十分昂贵。

管理科学中的方法和原理进行软件生产的管理。

用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。

软件工程三要素:方法、工具和过程。

软件方法:是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

包括:传统方法学面向对象方法学需要解决的问题:软件成本、软件可靠性、软件维护、软件生产率和软件复用。

基本内容:包括理论、结构、方法、工具、环境与规范等目标:以较少的投资获得易维护、易理解、可靠和高效率的软件产品。

原则:即分解、抽象和信息隐蔽、一致性和确定性原理:工程化和系统化。

软件过程:软件过程是把输入转化为输出的一组彼此相关的资源和活动从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等,为开发软件进行的一组开发活动,在过程结束时将输入(用户要求转化为输出(软件产品。

软件工程过程包含四种基本的过程活动:Plan 软件规格说明:规定软件的功能及其运行的限制Do 软件开发:产生满足规格说明的软件Check 软件确认:确认软件能够完成客户提出的要求Action 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进软件工程的基本原理:强调使用生存周期方法学、强调使用结构分析与结构设计任务软件工程的目标:生产具有正确性、可用性以及开销合宜的产品1、付出较低的开发成本2、达到要求的软件功能3、取得较好的软件性能4、开发的软件易于移植5、需要较低的维护费用6、能按时完成开发7、及时交付使用三、软件生命周期:生命周期基本流程:问题定义→可行性研究→需求分析→总体设计(概要设计→详细设计→编码和单元测试→综合测试→软件维护。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、软件危机是指在计算机开发过程中的开发和维护过程中所遇到的一系列的严重问题。

2、软件是程序、数据及相关文档的完整集合,程序是能够完成预定功能和性能的可执行的程序序列;数据是是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。

3、软件工程学包含3个要素:方法、工具、过程。

4、目前使用最广泛的软件工程方法学是传统方法学和面向对象方法学。

5、软件工程方法学的软件过程基本上可以用瀑布模型来描述。

6、瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。

7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。

8、可行性研究的三方面:技术可行性、经济可行性、操作可行性。

9、数据流图(DFD是一种图形化技术,他描绘信息流和数据从输入移动到输出的过程中所经受的变化。

10、数据字典是关于数据信息的集合,也就是对数据流程图中所包含的所有元素的定义的集合。

11、数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据如就不严格,没有流程图,数据字典也难以发挥作用。

12、需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确的描述软件需求。

13、9、结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。

14、ER图中包含了实体、关系和属性,矩形代表实体,菱形表示关系,椭圆或圆角矩形表示属性,用直线把实体和其属性连接。

15、验证软件需求的正确性:一致性、完整性、现实性、有效性。

总体设计又称16、总体设计的基本目的是回答“概括地说,系统应该如何实现?”,为概要设或初步设计。

17、模块的独立程度可以有两个定性标量度量:内聚和耦合。

18、软件测试的目标:(1测试是为了发现程序中的错误而执行程序的过程;(2好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3成功的测试是发现可至今为止尚未发现的错误的测试。

19、软件测试步骤:模块测试、子系统测试、系统测试、验收测试、平行运行。

20、软件可靠性是程序在给定的时间点,按照规格说明书的规定,成功的运行的概率。

21、用面向对象方法开发软件,通常需要建立3种形式的模型:描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型。

22、用面向对象方法开发软件,在任何情况下,对象模型始终都是最重要、最基本的、最核心的。

23、通常,使用UML提供的类图来建立对象模型。

24、类与类之间通常有关联、泛化(继承、依赖和细化等4种关系。

25、在UML中,在一段为空心的三角形的连线表示泛化关系。

26、复杂问题的对象模型通常由:主题层、类与对象层、结构层、属性层和服务层。

27、广义的说,软件重用可分为知识重用、方法和标准的重用、软件成分的重用。

28、工程网络和Gantt图同样是安排进度和管理工程进度情况的强有力的工具。

29、3种典型人员组织方式:民主制程序员组、住程序员组、现代程序员组。

30、软件过程的输出信息可以分为3类计算机程序、描述计算机程序的文档、数据,这些项组成了软件过程中产生的全部信息,人们把他们统称为软件配置,而这些项就是软件配置项。

31、Cmm把软件过程从无序到有序的进化过程分成5个阶段,并把这些阶段排序,形成五个逐层提高的等级。

能力的成熟度的5个等级从低到高依次是:初始级(1级、可重复级(2级、已定义级(3级已管理级(4级和优化级(5级。

15、编码风格:持续内部文档、数据说明、语句构造、输入输出、效率、32、软件危机的典型表现:对软件开发成本和进度的估计常常很不准确;用户对“已完成”的软件系统不满意的现象经常发生;软件产品质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机总成本中所占的比例逐年上升;软件开发生产效率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

33、软件不同于硬件,他是计算机系统的逻辑部件而不是物理部件。

34、软件不同于一般程序,它的一个显著特点就是规模庞大。

简单题1、软件工程基本原理(1用分阶段的生存周期严格管理。

(2坚持进行阶段评审。

(3实行严格的产品控制。

(4采用现代程序设计技术。

(5结果应能清楚地审查。

(6开发小组人员应该少而精。

(7承认不断改进软件工程实践的必要性。

2、软件生命周期各阶段的基本任务软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。

(1问题定义(2可行性研究(3需求分析(4总体设计(5详细设计(6编码和单元测试(7综合测试(8软件维护3、需求分析的任务一、确定对系统的综合要求(1功能需求(2性能需求(3可靠性和可用性需求(4出错处理需求(5接口需求(6约束(7逆向需求(8将来可能提出的需求二、分析系统的数据要求三、导出系统的逻辑模型四、修正系统开发计划4、改进软件设计的启发式规则(1改进软件结构提高模块独立性(2模块规模应该适中(3深度、宽度、扇出和扇入都应适当(4模块的作用域应该在控制域之(5力争降低模块接口的复杂程度(6设计单入口单出口的模块(7模块功能应该可以预测5、面向对象设计准则和启发式原则(1模块化(2抽象(3信息隐藏(4弱耦合(5强内聚(6可重用(1设计结果应该清晰易懂(2一般-特殊结构的深度应适当(3设计简单的类(4使用简单的协议(5使用简单的服务(6把设计变动减至最小6、软件维护的几种类型(1改正性维护(2适应性维护(3完善性维护(4预防性维护7、决定软件可维护性因素(1可理解性(2可测试性(3可修改性(4可移植性(5可重用性8、软件配置项软件配置的主要任务就是控制变化,同时也负责各个软件配置项和软件各种版本的标志、软件配置审计以及软件配置发生的任何变化的报告。

(1标识软件配置中的对象(2版本控制(3变化控制(4配置审计(5状态报告设计题1、等价类有效/无效数据边界值测试2、UML类图的描述3、N-S图、PAD图论述题(1软件工程(2可行性研究问题定义阶段必须回答的关键问题是:“要解决的问题是什么”。

如果不知道问题是什么就试图解决这个问题,显然是盲目的,只会自白浪费时间和金钱,最终得出的结果很可能是毫无意义的。

尽管确切地定义问题的必要性是十分明显的,但是在实践中它却可能是最容易被忽视的一个步骤。

(3需求分析这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。

(4总体设计这个阶段的基本任务是,概括地回答“怎样实现目标系统?”这个问题。

概要设计又称为初步设计、逻辑设计、高层设计或总体设计。

(5详细设计这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。

这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码。

(6编码实现(语言,测试这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。

(7维护维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。

(8面向对象技术(9项目管理1.软件工程学:为了更有效地开发与维护软件,软件工作者早20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了一门新兴的工程学科。

2.软件危机典型变现:(1.对软件发开成本和进度的估计常常不准确.(2.用户对"已完成的"软件系统不满意的现象经常发生.(3.软件产品的质量往往靠不住.(4.软件常常是不可维护的.(5.软件通常没有适当的文档资料.(6.软件成本在计算机系统总成本中所占的比例逐年上升.(7.软件开发产生率提高的速度,远远跟不上计算机应用迅速普及深入的趋势.3.产生软件危机的原因:(1.软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件.(2.软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升.(3.软件本身独有的特点确实给开发和维护带来一些客观困难.(4与软件开发和维护有关的许多错误认识和做法形成,可以归因于在计算机系统发展的早期阶段软件开发的个体特点.4.消除软件危机的途径:(1.应该对计算机软件有一个正确的认识.(2.充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是组织良好、管理严密、各类人员协同配合、共同完成的工程项目.(3.在使用要总结出成功的技术和方法,尽快消除错误概念和做法.(4.开发和使用更好的软件工具5.软件工程的本质特性:(1.软件工程关注于大型程序的构造.(2.软件工程的中心课题是控制复杂性.(3.软件经常变化.(4.开发软件的效率非常重要.(5.和谐地合作是开发软件的关键.(6.软件必须有效地支持它的用户.(7.在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品.6.软件工程的原理:(1.用分段的生命周期计划严格管理.(2.坚持进行阶段评审.(3.实行严格的产品控制.(4.采用现代程序设计技术.(5.结果应能清楚地审查.(6.开发小组的人员应该少而精.(7.承认不断改进软件工程实践的必要性.7.软件生命周期:由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段.8.软件开发时期4个阶段:总体设计,详细设计,编码和单元测试,综合测试.9.软件维护,维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要.10.瀑布模型的特点:(1.阶段间具有顺序性和依赖性.(2.推迟实现的观点.(3.质量保证的观点.11.快速原型模型:是快速建立起来的可以在计算机运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集.12.快速模型的主要优点是不带馈环的,软件产品基本上是线性顺序进行的.13.可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决.14.可行性的解法:(1技术可行性.(2经济可行性.(3操作可行性.15.可行性研究过程步骤:(1.复查系统规模和目标.(2.研究目前正在使用的系统.(3.导出新系统的高层逻辑模型.(4.进一步定义问题.(5.导出和评价供选择的解法.(6.推荐行动方针.(7.草拟开发计划.(8.书写文档提交审查.16.系统流程图:是概括地描绘物理系统的传统工具.它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件.17.数据流图(DFD:是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换.18.数据字典:是关于数据的信息的集合,就是对数据流图中包括的所有元素的定义的集合.19.数据字典组成元素:(1数据流.(2数据流分量.(3数据存储.(4处理.20.定义数据的方法:定义绝大多数复杂事物的方法,都是用被定义的事物的成分的某种组合表示这个事物,这些组成成分又由更底层的成分的组合来定义.21.数据字典最重要用途:作为分析阶段的工具。

相关文档
最新文档