当前位置:文档之家› 软件工程实践者的研究方法知识要点

软件工程实践者的研究方法知识要点

软件工程实践者的研究方法知识要点
软件工程实践者的研究方法知识要点

软件与硬件的区别:本质逻辑与物理;软件是设计开发的;软件不会磨损;大部分软件是按需定制的。IEEE定义:(1)将系统化、规范化、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件;(2)在(1)中所述方法的研究。

框架活动:沟通、策划、建模、构建、部署

成熟级别:第0级:不完全级、1已执行级、2已管理级、3已定义级、4已定量管理级、5优化级软件生命周期:软件计划与可行性研究、需求分析、软件设计、编码、软件测试、运行与维护

瀑布模型:特点—文档驱动优点:消除非结构化软件;降低软件的复杂度,促进软件开发工程化缺点:实际项目开发中很少遵守瀑布模型提出的顺序;客户难以清楚的描述真正的需求;客户要等到开发周期的晚期才能看到程序运行的测试版本;在线性过程的开始和结束,容易发生“阻塞状态”RAD缺点:1、对于大型项目,需要大量人力资源来创建相对独立的RAD团队

2、如果开发者和客户没有做好短时间急速完成系统的准备,则可能导致失败

3、因为是构件式开发,如果一个系统不能合理的模块化,会带来很多问题

4、如果系统需求是高性能的,并且需要通过调整构件接口的方式来提高性能,则不能采用RAD模型

5、技术风险高的情况下,不宜采用RAD模型,如项目开发使用大量的新技术

敏捷团队成员特点:基本能力、共同目标、精诚合作、决策能力、模糊问题解决能力、

相互信任和尊重、自我组织

4个框架活动:策划、设计、编码和测试设计原则:KIS

结对编程:两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计

优点:结对的两人完成其工作,所开发代码和其他工作集成。有些情况下,这种集成工作由集成团队按日实施,还有一些情况下,结对者自己负责集成,这种“连续集成”策略有助于避免兼容性和借口问题,建立能及早发现错误的“冒烟测试”环境

Scrum原则:1组织小团队,以达到“沟通最大化,负担最小化,非语言描述、非形式化知识”

2过程对技术和业务变化具有适应性,以“保证制造具有最好可能的产品”

3过程生产频繁发布“可检查、可调整、可测试、可文档化、可构建”的软件增量

4开发工作和开发人员划分为“清晰的、低耦合的部分或包”

5坚持在产品构建中进行测试和文档化

6提供在任何情况下都能完成产品的能力

宏要素:基于计算机的系统,它作为更大的基于计算机的系统的一部分

系统工程的层次结构:全局视图、领域视图、要素视图、详细视图

导出需求遇到的问题:范围问题、理解问题、易变问题

协同需求收集会议的基本原则:1软件工程师和客户共同举办和参与 2制定筹备与参与会议的规则3拟定一个会议议程:既涵盖重点,又鼓励自由交流4由一个主持人控制会议

分析模型的三个目标:1)描述客户需要什么2)为软件设计奠定基础

3)定义在软件完成后可以被确认的一组需求

实体类:表示系统存储和管理的永久信息;描述必须存贮的信息及其相关行为;通常对应现实世界中的“事物”

边界类:表示参与者与系统之间的交互;描述外部的参与者与系统之间的交互

控制类:表示系统在运行过程中的业务控制逻辑

设计质量的指导原则:

1 设计应展示出这样一种结构:a已经使用可使别的系统风格或模式创建b由展示出良好设计特征的构件构成c能够以演化的形式实现,从而便于实现和测试

2设计应该模块化 3设计应该包括数据、体系结构、接口和构件的清楚的表示

4设计应导出数据结构,这些数据结构适于要实现的类,并由可识别的数据模式提取

5设计应导出显示独立功能特征的构件

6设计应导出接口,这些接口降低了构件之间以及与外部环境连接的复杂性

7设计的导出应根据软件需求分析过程中获取的信息采用可重复使用的方法进行

8应使用有效传达其意义的表示法来表达设计

功能独立:两个标准:内聚和耦合。内聚性显示了某个模块相关功能的强度,耦合性显示了模块的

相互依赖性

数据流类型决定映射方法:变换映射、事务映射

基于类的构件设计基本原则:开关、Liskov替换、依赖倒置、接口分离、发布复用等价性、

共同封装、共同复用原则。

功能内聚:主要通过操作来表现,当一个模块完成一种且只一种运算并返回结果时发生这个级别上的内聚

数据耦合:当操作需要传递较长的数据参数时就会发生

设计概念(重要)

抽象过程抽象:指具有明确和有限功能的指令序列数据抽象:描述数据对象的冠名数据集合

体系结构(扇入、扇出、宽度、深度:腰鼓形)模式(设计模式)模块化:分而治之的策略(高内聚低耦合)

信息隐蔽原则:每个模块都对其他模块隐藏自己的设计决策

求精自顶向下地设计策略重构重新组织的技术,简化构建的设计,而无需改变其功能或行为

设计类:分类(5个)和特征(4个)

用户接口类业务域类过程类持久类系统类

完整性与充分性原始性高内聚性低耦合性

白盒测试基于过程细节的封闭检查,提供检查特定条件集和(或)循环的测试用例,测试贯穿软件的逻辑路径和构件间的协作。侧重于内部逻辑的测试语句覆盖路径覆盖

用例图

电信计费用例图学生选课系统用例图

数据流图

状态图电水壶、

计算机、打印机、

复印机的工作

异常1 异常2 顺序图饮料自动销售系统、ATM 机取款等等

正常顺序

不通电 通电 烧坏

turn-on

turn-off

《土木工程概论》综合复习

《土木工程概论》综合复习题 一、名词解释 1.绿色建材 2.单向板、双向板 3.胶凝材料 4.虎克定律 5..建筑工程 6.柔性路面和刚性路面 7.荷载、荷载效应 8.建设监理 9.人防工程 10.先张法 11.可变荷载 12.钢材的疲劳及疲劳强度 13.特种结构 14.柔性路面和刚性路面 15.荷载、荷载效应 16.定位轴线 二、简答题

1.高层与超高层结构的主要结构形式有哪些? 2.简述钢筋和混凝土之所以可以共同工作的原因? 3.简述桥梁技术的发展方向? 4.简述工程荷载一般分为哪几类? 5.简述一般建筑用的钢筋混凝土的优点和缺点? 6、简述现代土木工程的特点有哪些? 7、基础的结构形式有哪些? 8、简述地基处理的主要目的? 9、简述土木工程结构失效的几种形式? 10、简述我国土木工程基本建设程序的阶段。 11、大跨度建筑主要有哪些结构形式? 12、桥梁的结构形式有哪些? 13、水利工程的特点? 14、什么是房屋建筑中的围护结构和受力结构,请举例说明? 15、伸缩缝、沉降缝、抗震缝有什么异同? 16、简述工程建设监理的特点有哪些? 17、我国抗震设计的基本原则是什么?并简要解释其含义。 18、房屋建筑的层高与净高的区别?

三、综合分析题 1、谈谈对未来从事土木工程专业应具备的基本素质和你对未来职业规划的设想。相关要求如下: (1)字数原则上要求800字以上。 (2)论文要求论点明确,论据充分。 《土木工程概论》综合复习题答案 一、名词解释 1、绿色建材是指在原料采取、生产制造、使用或者再循环以及废料处理等环节中对地球环境负荷最小和有利于人类健康的材料 2、单向板指板上的荷载沿一个方向传递到支撑构建的板上;双向板指板上的荷载沿两个方向传递到支撑构建的板上 3、凡能在物理化学作用下,从浆体变为坚固的石状体,并能交接其他物料而具有一定机械强度的物质,统称为胶凝材料 4、虎克定律:固体材料受力之后,材料中的应力与应变(单位变形量)之间成线性关系。许多材料在不超过它的弹性极限时,服从虎克定律。 5、为新建、改建或扩建房屋建筑物和所附属构筑物设施所进行的规划、勘察、设计和施工、竣工等各项技术工作和完成的工程实体,也是指各种房屋、建筑物的建造工程。 6、柔性路面指的是刚度较小、抗弯拉强度较低,主要靠抗压、抗剪强度来承受车辆荷载作用的路面。刚性路面指的是刚度较大、抗弯拉强度较高的路面。一般指

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

《土木工程概论》考试大纲知识点

第一章绪论 1.识记:(1)土木工程的内涵 土木工程在英语里称为Civil Engineering,译为“民用工程”。它的原意是与“军事工程”( Military Engineering)相对应的。在英语中,历史上土木工程、机械工程、电气工程、化工工程都属于Civil Engineering,因为它们都具有民用性。后来,随着工程技术的发展,机械、电气、化工都已逐渐形成独立的学科,Civil Engineering就成为土木工程的专用名词。 (2)土木工程建设的含义(★重点掌握) 土木工程是指建造各类工程设施的科学技术的总称。它既指所应用的材料、设备和所进行的勘测、设计、施工、保养维修的等技术活动;也指工程建设的对象,即建造在地上或地下、陆上或水中、直接或间接为人类生活、生产、军事、科学研究服务的各种工程设施。 (3)我国古代建筑的特点 木结构占主导地位 2.领会:(1)土木工程基本属性(★重点掌握) 1)综合性 2)社会性 3)实践性 4)技术上、经济上和建筑艺术上的统一性 (2)现代土木工程的特点 1)土木工程功能化 2)城市建设立体化 3)交通运输高速化 3.简单应用:无 4.综合应用:无 第二章土木工程主要类型 1.识记:(1)土木工程的主要类型(★重点掌握) 建筑工程、桥梁工程、公路与道路工程、铁路工程、隧道工程、水利工程、港口城、海洋工程、给水及排水工程和环境工程等。 (2)钢筋混凝土楼盖按施工方法的分类

分为现浇整体式楼盖和装配式楼盖。 (3)常见网架节点的种类 网架的节点构件有焊接球节点和螺栓球节点两种。焊接球节点有焊接钢板节点和焊接空心球节点。 (4)路面的排水坡度要求(★重点掌握) 为了排水,路面及路肩应做一定的坡度,i1及i2。它随路面的平整度而异,如混凝土路面i1为1%~1.5%;沥青路面i1为1.5%~2.5%;i2一般较i1大1%~2%。 2.领会:(1)房屋工程的分类(★重点掌握) 房屋工程按其层数分,有单层、多层、高层、超高层。 房屋工程按其材料分,则有砌体结构的、木结构的、混凝土结构的、钢结构和混合结构的。 (2)楼梯的常见种类 楼梯有板式、梁式、剪刀式及螺旋式。 (3)变形缝的种类(★重点掌握) 按其作用不同分为温度缝、沉降缝和防震缝。 (4)桥梁工程的不同类别和结构形式(★重点掌握) 板梁桥、刚架桥、拱桥、桁架桥和桁架拱、索桥 (5)板梁桥的几种常见截面形式 钢筋混凝土简支板桥、板梁式体系、箱形截面桥 3.简单应用:(1)房屋的构造组成(★重点掌握) 房屋工程的构造组成:它主要由基础、墙或柱、楼板、楼地面、楼梯、屋顶、隔墙、门窗等部分组成。 (2)多层及高层建筑的结构形式(★重点掌握) 砌体结构、框架体系、剪力墙体系、内芯与外伸体系、筒式体系、混合体系。 (3)桥墩台的概念及作用(★重点掌握) 桥梁结构的支承,在两端的称为桥台,中间的称为桥墩。桥台的作用是将荷载传递给地基基础,使桥梁与路基相连,并承受桥头填土的水平土压力。桥墩连接相邻两孔桥跨结构,除了要承受桥面上的荷载,还要承受水流压力乃至船只的撞击力。 (4)路面结构层的组成及各部分的作用(★重点掌握) 路面结构层分为面层、基层、底层和垫层。各层作用不同。面层由承重层、磨耗层和保

软件工程导论复习知识点

一、软件: 软件定义: 软件=程序+文档+数据 软件特点: 1、具有抽象性 2、没有明显的制造过程 3、软件的维护比硬件的维护要复杂得多 4、对计算机系统有着不同程度的依赖性 5、尚未完全摆脱手工艺的开发方式 6、软件本身是复杂的 7、软件成本相当昂贵 8、相当多的软件工作涉及到社会因素软件的发展: 程序设计、程序系统、软件工程 软件危机: 软件危机指的是软件开发和维护过程中遇到的一系列严重问题。 软件危机的问题: 如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机表现: 1.开发成本难以控制,进度不可预计; 2.软件系统的质量和可靠性很差,难以满意; 3.软件文档相当缺乏,软件系统不可维护; 4.软件开发生产率很低,软件产品供不应求。 5.软件产品成本十分昂贵。

软件危机产生原因: 1、软件本身的特点 2、对软件开发与维护存在许多错误认识和做法 3、软件开发与维护的方法不正确 解决软件危机途径: 1、将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。 2、研究和推广成功的软件开发技术和方法。 3、开发和使用好的软件工具。 软件生命周期: 软件所经历的定义、开发、使用和维护直到废弃所经历的时期。 程序设计环境: 源程序编辑,编译或解释,链接,调试和运行工具的集合 软件工程环境: 软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合 二、软件工程: 软件工程定义: 研究如何应用一些科学理论和工程上的技术来指导软件的开发,用较少的投资获得高质量的软件的一门学科。 软件工程性质: 涉及计算机科学、工程科学、管理科学、数学等领域,着重于如何建造一个软件系统。用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。用管

软件工程复习知识要点

1 软件及软件工程概念 集合,程序只是软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。 2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序及数据是分离的。程序的最小单位是类。 3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。 4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。 5.什么是软件工程?(课后题) 软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来 开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合 起来,以经济地开发出高质量的软件并有效地维护它。 6.可以用功能性、可靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。 功能性是指软件所实现的功能达到它的设计规范和满足用户需求的程度。 可移植性是指软件从某一环境转移到另一环境时所作努力得程度。 7.软件生存期由软件定义、软件开发和运行维护三个时期组成。 开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。 开发过程中的典型文档包括:项目计划、软件测试计划、软件设计说明书、用户手册。 8.需求分析的基本任务? (1)建立分析模型,了解系统的各种需求细节。 (2)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试计划和初步的系统 用户手册,并提交管理机构进行分析评审。 2 软件工程方法及工具 1.面向对象方法的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和 过程尽可能接近人类认识问题和解决问题的方法及过程,从而使描述问题的问题空间及其解 空间在结构上尽可能一致。 2.形式化方法的主要特点是:(课后题)

软件工程知识点汇总

软件工程知识点汇总 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.(1)我国古代建筑的特点:木结构占主导地位 (2)土木工程建设的含义:土木工程是指建造各类工程设施的科学技术的总称。它既指所应用的材料、设备和所进行的勘测、设计、施工、保养维修的等技术活动;也指工程建设的对象,即建造在地上或地下、陆上或水中、直接或间接为人类生活、生产、军事、科学研究服务的各种工程设施。 (3)土木工程的内涵:土木工程在英语里称为Civil Engineering,译为“民用工程”。它的原意是与“军事工程”( Military Engineering)相对应的。在英语中,历史上土木工程、机械工程、电气工程、化工工程都属于Civil Engineering,因为它们都具有民用性。后来,随着工程技术的发展,机械、电气、化工都已逐渐形成独立的学科,Civil Engineering就成为土木工程的专用名词。 2.(1)土木工程基本属性1)综合性2)社会性3)实践性4)技术上、经济上和建筑艺术上的统一性2) 现代土木工程的特点1)土木工程功能化2)城市建设立体化3)交通运输高速化3.简单应用:无4.综合应用:无 第二章土木工程主要类型 1.(1)钢筋混凝土楼盖按施工方法的分类分为现浇整体式楼盖和装配式楼盖。 (2)常见网架节点的种类网架的节点构件有焊接球节点和螺栓球节点两种。焊接球节点有焊接钢板节点和焊接空心球节点。 (3)路面的排水坡度要求为了排水,路面及路肩应做一定的坡度,i1及i2。它随路面的平整度而异,如混凝土路面i1为1%~1.5%;沥青路面i1为1.5%~2.5%;i2一般较i1大1%~2%。 (4)土木工程的主要类型:建筑工程、桥梁工程、公路与道路工程、铁路工程、隧道工程、水利工程、港口城、海洋工程、给水及排水工程和环境工程等。 2.(1)房屋工程的分类房屋工程按其层数分,有单层、多层、高层、超高层。房屋工程按其材

软件工程概论复习总结

第一章软件和软件工程的概念 (1)计算机软件的定义与组成部分; 软件是程序、数据及先挂文档的完整集合。 软件=程序+相关文档+数据+领域知识 (2)软件危机的典型表现: 1.缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。 2.软件人员与用户交流存在障碍,缺少合适的交流的工具。 3.软件开发过程不规范,缺少方法论和规范的指导。 4.随着软件规模的增大,其复杂性往往会成指数级升高。 5.缺少有效地软件评测手段,提交用户的软件质量差,运行中暴露出大量的问题。(3)软件工程的概念与性质; IEEE的定义:软件工程是开发、运行、维护、和修复软件的系统方法。 (4)软件工程的目标; 运用先进的软件开发技术和管理方法来提高软件的质量和生产率。 (5)软件生命周期的概念和组成阶段; 软件生命周期是由软件定义、软件开发和运行维护三个时期组成。 软件定义:问题定义、可行性研究、需求分析; 开发时期:概要设计、详细设计、编码和测试; 维护时期:改正性维护,适应性维护,完善性维护,预防性维护。 (6)软件生存期模型; 瀑布模型、快速模型、增量模型、螺旋模型喷泉模型。 第二章软件工程方法和工具 (1)软件工程三要素: 软件工程从方法角度来看的三要素:方法、工具、过程。 (2)类与对象: 类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为。 类与对象的关系:类是对象的抽象和模板,对象是类的实例。 对象是包含现实世界物体特征的抽象实体,它反映了系统位置保存信息和与它交互的能力。 可以将现实生活中的对象经过抽象,,映射为程序中大的对象。对象在程序中是通过一种抽象数据类型描述的,则中抽象数据类型称为类。 (3)封装、继承和多态 封装的定义: 1)清楚地辩解,所有对象的内部信息被限定在这个边界内; 2)接口,即对象向外界提供的方法,外界可以通过这些方法与对象进行交互; 3)受保护的内部实现,即软件对象功能的实现细节,实现细节不能从类外访问。 继承是一种联接类的层次模型,味蕾的重用提供了方便,它提供了明确表述不同类之间共性的方法。 多态是指一个程序中同名的不同方法共存的情况。主要通过子类对父类方法的覆盖来实现多态。

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

土木工程概论复习题及答案

土木工程概论——复习提要 第1章绪论练习题 名词解释题 1、土木工程; 2、基本建设; 3、信息化施工; 4、可持续发展。 单项选择题 1、()是建造各类工程设施的科学技术的总称。 A、土木工程; B、基本建设; C、信息化施工; D、可持续发展。 2、中国的北京故宫属于() A、钢结构 B、砖石结构 C、木结构 D、钢筋混凝土结构 3、以下著作中不属于土木工程著作的是() A、《考工记》 B、《史记》 C、《营造法式》 D、《论建筑》 4、1825年、法国的纳维建立的土木工程结构设计方法是() A、容许应力法 B、极限应力法 C、最大强度设计法 D、基于概率的极限状态设计法 5、()是指“既满足当代人的需要,又不后代人满足其需要的发展构成危害”。 A、土木工程; B、基本建设; C、信息化施工; D、可持续发展。 6、()向轻质、高强、多功能化发展。 A、工程材料; B、土木工程; C、技术; D、设计。 7、居住建筑,按层数来划分:()层及以上为高层建筑。 A、10 B、9 C、15 D、30 8、用土木工程分析的仿真系统的技术指导设计可大大提高工程结构的()。 A、可靠性; B、真实性; C、观赏性; D、实用性。 9、()应具有信息收集,快速处理,优化决策,大型可视化系统等功能。 A、智能化建筑; B、信息化施工; C、仿真系统; D、智能化交通。 10、无论住宅建筑还是公共建筑,建筑物高度超过()时均为超高层建筑 A、100m B、120m C、150m D、90m 多项选择题 1、建筑物可以按其功能性质分为() A、工业建筑 B、农业建筑 C、民用建筑 D、公共建筑 2、现代土木工程的特点有()。 A、功能要求多样化; B、城市建设立体化; C、交通工程快速化; D、工程设施大型化。 3、在建设与使用土木工程过程中与()有密切关系,贯彻“可持续发展”原则影响很大。 A、能源消耗; B、资源利用; C、环境保护; D、生态平衡。 简答题 1、什么是“土木工程”? 第2章土木工程材料练习题 判断与改题 1、水泥浆体在常温下会逐渐变稠直到开始失去塑性,这一现象称为水泥的凝结。() 2、既能在空气中又能在水中硬化的称为气、水硬性胶凝材料,如水泥。() 3、功能材料是承受荷载作用的材料。() 名词解释题 1、天然砂; 2、硅酸盐水泥; 3、绿色建材。

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

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

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

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

大连理工大学城市学院软件工程导论期末考试复习重点

软件工程导论重点 第一章重点: 软件的概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。 软件危机概念:软件危机暴发于上个世纪六十年代末。 主要表现为:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。软件开发周期长、成本高、质量差、维护困难。 软件工程概念: 概括地说,软件工程是指导计算机软件开发和维护的工程学科。 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程的目标: 软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。 基本目标: 付出较低的开发成本 达到要求的软件功能 取得较好的软件性能 开发的软件易于移植 需要较低的维护费用 能按时完成开发工作,及时交付使用 软件生存期概念和包含内容: 软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。 软件生存期分为三个时期 软件定义 软件开发 运行维护

软件工程的方法: 软件工程包含技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科。 通常将软件开发全过程中使用的一整套技术方法的集合称为方法学(methedology),也称为范型(paradigm)。 目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。 软件工程三要素: 三要素:方法、工具和过程。 第二章重点: 生存期模型有哪些: ?瀑布模型 ?快速原型模型 ?增量模型 ?螺旋模型 ?喷泉模型 ?统一过程 ?基于构件的开发模型 ?敏捷过程 前四种面向过程后四种面向对象 给一个模型,判断出是哪一模型的 第三章重点: 结构化分析方法的概念: 传统的分析建模方法称为结构化分析(structured analysis,SA)方法。 三大建模:(未完待续!!!) 功能建模: 功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型

软件工程知识点总结

软件工程知识点总结 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。接下来是为大家收集的软件工程知识点总结,以供大家学习! 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素

3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件) 1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。

《土木工程概论》复习题及答案

《土木工程概论》复习题及答案 一、填空题 1、土木工程包括、、 和等工程。 2、土木工程结构中常用的结构及构件形式包括、、 、和等。 3、钢筋混凝土结构主要包括框架结构体系、、、 等。 4、特种结构包括烟囱、、、、 、等。 5、桥梁结构主要包括、、、、 等。 6、我国第一条开工建设的高速公路是。 7、隧道工程的施工方法有和等几种。8.工程规范分为,、和四级。 9.土木工程抗灾主要是和工程结构在受灾以后的 与等。 10.建设程序是指建设项目从、、、 、、到竣工验收,投入生产的整个建设过程中,各项工作必须遵守先后次序的法则。 11、岩石按成因分为、、。 12、路基可分为、和三种。 13、3级以上的地震称,5级以上的地震称。 14.项目管理基本目标有三个最主要的方面:, 和。 15.建设监理是指受的委托对或 进行监督和管理的活动。 16.建设项目管理的核心内容可概括为“三控制、二管理、一协调”,即、、、、、 和。 17.年月日国家建设部颁发了 《》,这是我国第一个建设监理的法规性文件。 18.工程建设监理的中心任务是、和。 答案: 1、建筑工程、道路工程、桥梁工程、给水排水工程、地下工程、铁路工程、隧道工程、港口工程、机场工程(任意4个即可) 2、墙、板、梁、柱、拱、壳、杆(填出5个即可) 3、剪力墙结构体系、框架剪力墙结构体系、筒体结构体系

4、冷却塔、水池、水塔、料斗、筒仓、桅杆结构(填出其中5个即可) 5、梁式桥、桁架桥、拱桥、刚架桥、悬索桥、斜拉桥(填出其中5个即可) 6、沈阳至大连高速公路 7、明挖、暗挖、盖挖、顶进、盾构(填出其中2个即可) 8.全国性的建设规范,地方性建设规范,地方性建设规章,各主管机构制定的规范。9.工程结构抗灾,检测,加固。 10.立项、报建;可行性研究;选择建设地点;编制设计任务书;编制勘察设计文件;建设施工 11、岩浆岩、沉积岩、变质岩。 12、路堤、路堑、半挖半填。 13、有感地震,破坏性地震。 14.专业目标,工期目标,费用目标。 15.监理单位、建设单位、工程建设全过程、项目实施阶段。 16.进度控制、质量控制、费用控制、合同管理、信息管理、组织协调。 17.1989、7、28、《建设监理试行规定》。 18.工程质量控制、工程投资控制、建设工期控制。 二、不定项选择题 1,土木工程包括() A,工程建设的对象 B,工程应用的材料设备 C,工程中进行的勘测设计D, 工程施工 2,砖、瓦、砂、石、灰属于() A,地方材料 B,结构材料 C,功能材料 D,工程材料 3,工程地质勘查的目的主要有() A,查明工程地质条件 B,分析存在的地质问题 C,寻找适宜的施工地区 D,对建筑地区做出地质评价 4,属于建筑基本构件的有() A, 板 B, 梁 C, 柱 D, 桩 5,中国的北京故宫属于() A, 钢结构 B, 砖石结构 C, 木结构 D, 钢筋混凝土结构 6,土木工程全面引入信息和智能化技术大致表现在() A, 信息化施工 B, 智能化建筑 C, 智能化交通 D, 工程分析仿真系统 7,砖砌体中使用的砂粒直径应小于() A, 1.5 mm B, 2 mm C, 2.5 mm D, 3 mm 8,可用于制造砂浆的胶凝材料是() A, 石灰 B, 水泥 C, 沥青 D, 石膏 9,浅基础按基础刚度的不同可分为() A, 刚性基础 B, 柔性基础 C, 扩展基础 D, 拓展基础 10,现在发现我国古代曾使用过的地基处理方法有() A, 夯实法 B, 预压法 C, 搅拌法 D, 振冲法 答案:1ABCD 2A 3ABD 4ABC 5C 6ABCD 7C 8ABD 9AC 10A 三、单项选择题

软件工程概论知识点

软件工程概论知识点总结 第一章 软件定义:是计算机系统中及硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。 软件特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。 软件分类。 (1) 系统软件 (2) 应用软件 (3) 支撑软件 (4) 可复用软件 软件危机的原因:1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。2)软件人员及用户的交流存在障碍,除了知识背景的差异,缺少合适的交流方法和需求描述工具也是重要的一个原因。3)软件开发过程不规范,缺少方法论和规范的指导,软件难以维护。4)随着软件规模的增大,其复杂性往往会呈指数级升高。5)缺少有效的软件评测手段,提交用户的软件质量差 软件工程的定义: 1.指导软件开发和维护的工程性学科,它以计算机科学理论和其他相关学科的理论为指导,采用工程化的概念、原理技术和方法进行软件的开发和维护,把经过时间考虑而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以较少的代价获得高质量的软件并维护 2.软件工程的目标:运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。 3.软件的生存周期:软件孕育、诞生、成长、成熟、衰亡的生存过程。由软件定义、软件开发和运行维护三个时期组成。软件定义:解决“做什么”的问题;软件开发:解决“如何做”的问题,分为概要设计、详细设计、编码和测试四个阶段;维护:使软件持久的满足用户的需求。 4.开发过程中的典型文档 a.软件需求规格说明书:描述将要开发的软件做什么。 b.项目计划:描述将要完成的任务及其顺序,并估计所需要的时间及工作量。 c.软件测试计划:描述如何测试软件,确保软件应实现规定的功能,并达到预期的性能。 d.软件设计说明书:描述软件的结构,包括概要设计及详细设计。 e.用户手册:描述如何使用软件 各阶段基本任务:问题定义及可行性研究、需求分析、软件设计、程序编码和单元测试、集成测试和系统测试。 5.软件生存期模型: 瀑布模型。优点:强迫开发人员规范化方法、严格规定每个阶段必须提交的文档、要求每个阶段交出的所有产品必须经过验证。缺点:完全依赖书面规格说明,可能会导致产品及用户需求有差异、只适用于项目开始时需求已确定的情况。需求分析、规格说明、设计、编码、综合测试、维护 快速原型模型。优点:易于满足用户真实需求、已通过及用户的交互验证,能正确描述用户需求、产品开发基本上按线性顺序、规格文档说明正确描述了用户需求,后期错误率和返工率很低、开发人员建立原型

软件工程复习知识点

1.软件危机的概念,内容,原因及消除的途径;软件危机的概念: 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。概括地说,软件危机包含两方面问题: 如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机产生的原因: 软件本身的复杂性、难衡量的特点; 2. 软件开发与维护的方法不正确。消除软件危机的途径: (1)对计算机软件应当有一个正确的认识; (2)应当有组织、有计划、通过严格的管理手段进行软件的开发; (3)及时总结软件开发的成功技术和方法并加以推广; (4)开发和使用更好的软件工具; 总之,为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。 2.软件工程的定义,基本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科。基本原理:软件工程的7 条基本原理: (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 6)开发小组的人员应该少而精 7) 承认不断改进软件工程实践的必要性 3.软件工程方法学的基本概念、内容;基本概念:把在软件生命周期全过程中使用的一

整套开发和管理技术方法的集合成为软件工程方法学,也称为范型。软件工程方法学包含3 个要素:方法、工具和过程。 内容:目前使用得最广泛地软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学或结构化范型。 4.软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程例子来理解做 软件项目主要分那几个个阶段。 ①问题定义:确定要求解决的问题是什么 ②可行性研究:决定该问题是否存在一个可行的解决办法 ③需求分析:深入了解用户的要求,在要幵发的目标系统必须做什么问题和用户取得完全一致的看法。 ④概要设计:概括回答怎样实现目标系统。概要设计又叫逻辑设计、总体设计、高层设计。 ⑤详细设计:把解法具体化,设计出程序的详细规格说明。详细设计也叫模块设计、底层设计。 ⑥编码和单元测试:编写程序的工作量只占软件幵发全部工作量的10沧20%。 ⑦综合测试:软件测试的工作量通常占软件幵发全部工作量的40沧50%。 ⑧软件维护:软件维护的费用通常占软件总费用的55 %-70% ①②③为软件定义时期,④⑤⑥⑦为软件幵发阶段。④⑤为系统设计,⑥⑦为系统实现。 5.理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速原型模型、 螺旋模型、喷泉模型等;瀑布模型内容:瀑布模型是带“反馈环”的。优点:(1)可强迫开发人员采用的规范的方法(结构化技术)。 (2)严格地规定了每个阶段必须提交的文档。

软件工程概论

软件工程 1 、软件危机:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。包含两方面的问题:(1 )如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。 2、软件危机的主要表现: ( 1 )对软件开发成本和进度的估计经常很不准确; ( 2 )用户对“已完成的”软件系统不满意的现象经常发生; ( 3 )软件产品的质量往往靠不住; ( 4 )软件常常是不可维护的; ( 5 )软件通常没有适当的文档资料; ( 6 )软件成本在计算机系统总成本中所占的比例逐年上升; (7 )软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3、产生软件危机的原因 ( 1 )从软件特点上看,软件是逻辑部件,不是物理部件; ( 2 )软件是很大的程序,复杂且有很多技术问题,但缺少严格而科学的管理; (3 )软件的参与人员多且成分复杂(需求人员,开发人员,用户,维护人员等); (4 )在软件实践过程中或多或少的采用的错误的(但当时无法知晓的)方法和技术(这是主要原因) 4、消除软件危机的途径 ( 1 )首先应该对计算机软件有一个正确的认识; ( 2 )更重要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目; ( 3 )应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误概念和做法; ( 4 )应该开发和使用更好的软件工具总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 5、软件工程:软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。(1 )1968 年NATO 会议:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。 ( 2 )1993IEEE 定义:软件工程是①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 6、软件工程的本质特征 (1)软件工程关注于大型程序的构造; (2)软件工程的中心课题是控制复杂性; ( 3 )软件经常变化; (4)开发软件的效率非常重要; (5)和谐地合作是开发软件的关键; (6)软件必须有效地支持它的用户; (7)在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。 7、软件工程的基本原理 (1)用分阶段的生命周期计划严格管理 ( 2 )坚持进行阶段评审 (3)实行严格的(阶段性)产品控制 (4)采用现代程序设计技术 ( 5 )结果应能清楚地审查 (6)开发小组的人员应该少而精 (7)承认不断改进软件工程实践的必要性

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