中南大学软件工程教材知识点整理

中南大学软件工程教材知识点整理
中南大学软件工程教材知识点整理

中南大学软件工程教材知识点整理

可行性研究

1、软件工程项目可行性研究实质是一次大大压缩和简化了的分析和设计过程,主要在较高层次上以较抽象的方式进行,其目的是在尽可能短的时间内以最小的代价确定该项目是否能够开发,是否值得开发。

2、可行性研究不是去开发一个软件项目,而是研究该项目能否在给定的资源和给定的时间开发,是否能够开发,是否值得开发。

3、可行性研究的内容:技术可行性(相关技术分析、资源有效性分析、风险分析);经济可行性(成本估计、效益分析);操作可行性,又称社会可行性和运行可行性(就政治意识形态、法律法规、社会道德、民族意识以及系统运行的组织机构或人员等,分析系统能否运行及运行好坏程度)。

4、可行性研究的步骤:对系统目标和范围的定义→对现行系统进行分析研究→导出新系统的逻辑模型→设计新系统的物理方案→推荐可行的方案。

5、可行性研究阶段,成本估计的方法:

①基于已完成的类似项目进行估算;(自顶向下估计)

缺点:对开发中某些局部问题难以预估,导致考虑不周

②使用简单的“分解技术”来进行成本及工作量的估算;(自底向上估计)

③使用经验模型进行成本及工作量的估算。(经验算法估计)

主要经验模型:静态单变量模型;动态多变量模型;COCOMO模型。

COCOMO模型:Boehm将软件成本估算分成3个由粗到细的层次:基本层、中间层和详细层。每个层次又按软件项目的应用领域和复杂程序分成3种类型:组织型、半独立型和嵌入型。

6、效益分析:系统的效益有两部分:经济效益和社会效益。经济效益是指用使用新系统而增加的收入,包括使用新系统节省的运行费用,是一种有形的效益。(经济效益度量指标:货币的时间价值、纯收入、投资回收期、投资回收率);社会效益是一种无形的效益,主要从性质上、心理上进行衡量,很难直接量化,但在某些情况下,无效的效益能转化成有形的效益。

7、系统流程图是描绘物理系统的传统工具,可以采用系统流程图来描述项目的大概业务处理流程,其基本思想是用图形符号以黑盒子形式描绘系统各部件(如程序、数据库、文档、人工过程等)。系统流程图表达的是信息在系统中各部件之间流动的情况,而不是对信息进行加工处理的控制过程。(信息有流动无处理)8、数据流图描述的是系统的逻辑模型,图中没有具体的物理元素,只是描绘信息在系统中的流动和处理情况。(数据流图是逻辑系统的图形表示)

软件项目计划

1、软件项目计划的目标就是提供一个框架,使管理者有能够对资源、成本、风险及进度进行合理的估算分析和调度,为软件工程过程提供管理依据。项目计划一般由软件项目的管理员、系统分析员与用户经过“可行性研究后”共同制订,并在“需求分析”阶段确定软件系统的详细需求后定稿,随着项目的进展定期更新。

2、软件项目计划的主要内容:风险分析、进度安排和项目组织。

3、风险分析活动:风险标识(项目风险、技术风险和商业风险)、风险估计、风险评价和风险管理与监控。

4、进度安排方法:PERT技术和Gantt图方法(看看书上的过程)。

5、小结:由于经过风险分析,能够做到“知已知彼”(彼即风险),从而“百战不殆”,使得开发者能够战胜风险带来的损失,使项目成功。进度安排的落空不仅会造成项目开发成本的提高,造成有形的经济损失,而且会使客户的不满意度、不信任度增加,造成无形的经济损失。在软件开发过程中,人是最活跃的部分。

需求分析

1、需求分析是指开发人员通过细致的调查分析,详细、准确和完整地理解用户需要什么样的软件,将用户非形式的需求陈述转化为完整的需求定义,再将需求定义转换到相应的需求规格说明的过程。

2、通常,把一整套的需求分析方法、技术和工具等的集合称为建模方法。

3、需求收集的方式:访谈(程式化的访谈和非程式化的访谈);问卷调查;使用用例;用户资料收集;建立快速原型。

4、需求分析主要任务:问题分析、需求描述、需求评审。

5、需求分析主要目的:确定用户需要系统做什么。

6、需求规格说明:需求分析的主要成果是得到需求规格说明(SRS)。需求规格说明为用户、分析人员、设计人员和测试人员之间的理解和交流提供了方便,是系统设计、测试和验收的依据。

大量统计数字表明,软件系统中15%的错误起源于需求的错误。一个有效的需求规格说明应具有如下特征:正确性、无歧义性、完整性、一致性、可验证性、可理解性、可修改性、可追踪性和注释等。

需求分析说明书的作用:①用户与开发人员之间的合同②概要设计的依据③软件验收测试的依据。

数据流建模(功能建模)

7、数据流建模:数据流建模方法是一种结构化分析方法(SA);自顶向下、逐层分解地定义系统需求;主要是利用数据流图(DFD)来对用户需求进行分析。

8、数据流图:数据流图描述的是系统的逻辑模型,图中没有具体的物理元素,只是描绘信息在系统中的流动和处理情况。(数据流图是逻辑系统的图形表示)9、数据流图的四种基本符号:数据流(用箭头表示);加工(加工一般用一个圆圈或圆角方框来表示);数据存储(一般用开口的矩形框或双划线来表示);数据的源点和终点(一般用正方形或立方体来表示)。

10、分层数据流图:将数据流图分为顶层数据流图,中间层数据流图以及底层数据流图,可以避免一次引入过多的细节,有利于控制问题的复杂度,从而便于对大型系统描述的实现。

①顶层数据流图:主要描述整个系统的作用范围,说明系统的边界,反映系统和外部环境之间的关系,即系统的输入和输出数据流。顶层数据流图只有一张。

②中间层数据流图:通过分解高层加工得到的,其中有些加工还需进一步分解。

③底层数据流图:底层数据流图由一些不必再进行分解的加工组成。

11、数据流建模步骤:原则上是由外向里、自顶向下去模拟问题的处理过程.

画顶层数据流图;画分层数据流图;用数据词典定义数据流图中的所有数据;用加工说明描述数据流图中的基本加工。

12、数据词典:又称数据字典,是关于数据信息的集合,是对数据流图中的每个数据,包括数据流和数据存储,进行严格定义的场所,以保持数据在系统中的一致性。

数据字典的作用:①为用户与开发人员之间统一认识②作为概要设计的依据③便于需求分析阶段定义各类条目

13、加工说明:数据流图中的“基本加工”由于没有进一步分解得到子图,因而需要加工说明来对其进行描述。加工说明是描述基本加工如何把输入数据流变换成输出数据流的加工规则,是描述实现加工的策略而不是实现加工的细节。

IPO图、结构化语言(PDL,伪代码,是一种介于自然语言和形式语言之间的一种半形式语言)、判定表、判定树等均可作为加工说明的工具。

IDEF0图(功能建模)

14、IDEF0功能建模:IDEF方法是一套用来对复杂系统进行建模分析和设计的系统方法:IDEF0进行功能建模,IDEF1X用来建立数据模型,IDEF4方法则用于面向对象设计,等等。

15、IDEF0方法用严格的自顶向下、逐层分解的方式来构造系统的功能模型,用IDEF0图来描述。

IDEF0图:只能反映系统做什么,系统功能由谁做,但不能反映系统如何

做,因为盒子内部的结构如何无从得知。

16、IDEF0图:也称为活动图形。主要元素是简单的盒子及箭头。盒子代表系统的功能(活动)。箭头表示系统处理的数据约束,可以是具体的事物,也可以是抽象的信息。IDEF0功能建模方法要求一张IDEF0图中的盒子最多只能有6个(子图形还要求不少于3个)。

17、IDEF0建模步骤:IDEF0方法在详细的功能需求调研基础上,用严格的自顶向下、逐层分解的方式来进行;确定建模的范围、观点及目的;建立系统的内外关系图,即A-0图;建立A0图的一系列子图;书写文字说明。(P49)

IDEF1X(数据建模)

18、IDEF1X数据建模:IDEF1X方法是IDEF1方法的扩展版本。IDEF1用来表示系统的信息结构和语义。IDEF1X方法增强了图形的表达能力,丰富了语义和简化了开发过程。

19、IDEF1X图:实体是具有相同属性或特征的现实或抽象事物的集合,这个集合中的一个元素便称为实体的一个实例。在一张IDEF1X图中,一个实体只能在图中出现一次。属性:表示现实或抽象的事物一种特性或性质。

IDEF1X建模步骤:0阶段——确定建模目标和计划;1阶段——定义实体;2阶段——定义联系;3阶段——定义键;4阶段——定义属性。

需求分析(2)面向对象方法

1、UML建模语言:是一种可以应用于任面向对象软件开发方法的标记法和语义语言。

2、UML各种图:动态模型图(反映系统行为):用例图、顺序图、协作图、状态图、活动图。静态模型图(反映系统结构):类图、包图、组件图、部署图、对象图。

3、UML特点:统一了面向对象方法的基本概念(UML融合了Booch方法、OMT方法和OOSE方法中的有关概念);具有更强的建模能力(正如G. Booch 在他的一本书中所说:“如果你有好的思想,那它也是我们的。”);独立于特定的开发语言和开发过程。

4、UML应用:需求分析(用例图---功能的需求;类图---静态结构;状态图、顺序图和协作图等---类之间所需的协作,实现用例。);设计(定义软件系统中的技术细节用到的类,如引入处理用户交互的类、处理数据的类、处理通信和并行性的类等。);实现(组件图---代码组件的物理结构以及组件之间的关系;部署图---硬件的拓扑结构和组件的分布。);测试(类图---单元测试;组件图、协

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 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.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

中南大学软件学院Java WEB 考点

1、HTTP协议请求报文以及响应报文 2、JAVA Socket编程Socket以及ServerSocket 3、WEB服务器概念Tomcat服务器目录结构和基本配置server.xml文件 4、什么是Servlet? 怎样实现一个自定义Servlet? 5、Servlet基本配置 6、ServletAPI 包括HttpServlet、HttpServletRequest、HttpServletResponse、ServletConfig、 ServletContext 7、service方法以及doGet和doPost方法 8、servlet生命周期 9、怎样获取网页提交的参数? 10、会话HttpSession和Cookie 11、调用一个已定义好的Servlet有哪些方式 12、表单提交数据到Servlet 中文乱码处理 13、客户端页面向服务端servlet传递参数有哪些方式 14、JSP的运行原理以及基本语法 15、JSP隐式对象 16、JavaScript基本语法 17、JavaScript中的对象 18、JavaScript与AJAX 19、基于对象的Javascript以及继承的实现 客户端/服务器的优势在于: 服务器和客户端分摊任务,分别负责部分处理工作; 服务器可以同时为多台客户端服务; 多个客户端可以同时访问服务器上的相同数据。 IP 网络ID:网络ID标识了计算机或网络设备所在的网段; 主机ID:主机ID标识了特定的主机或网络设备 特殊IP地址: 0.0.0.0和127.0.0.1就是两个此类地址,第一个称为缺省路由,后一个是环回地址;127.0.0.1被保留用于用户主机的本地IP话务,它被分配给一个特殊接口,即起到闭合电路作用的环回接口 端口 端口使用一个16位的数字来表示,它的范围是0~65535,1024以下的端口号保留给预定义的服务,如:http使用80端口; https://www.360docs.net/doc/e04890475.html,包 https://www.360docs.net/doc/e04890475.html,包可以实现Java的网络功能,

路基路面工程-中南大学网络教育学院网上作业模拟练习题

某砂类土挖方边坡, ,KPa,KN/m3,m,采用边坡1︰0.5。假定。 ①验算边坡的稳定性; ②当时,求允许边坡坡度; ③当时,求边坡允许最大高度。 解:据题意,砂类土挖方边坡适用于直线滑动面解析法稳定性系数计算公式求算。 ;; ;=63°26′。 ①求边坡最小稳定性系数 > 因此,该边坡稳定。 ②当=1.25时,求最大允许边坡坡度 经整理得: 解得:,取 因此:当=1.25时,求最大允许边坡坡度为1:0.41。 ③当=1.25时,求边坡允许最大高度

经整理得: 解得:, 由: 得: 因此:当=1.25时,边坡允许最大高度为。 某路堤填料,边坡1:1.5,砂类土,判断是否失稳。 解:据直线滑动面稳定性系数计算式 对于砂类土,取C=0, 则 取K=1.25, 则 因<, 该路堤边坡角的正切值小于填料摩擦系数的0.8倍,故该边坡不会滑动,因而是稳定的。 某路堤填料KPa,KN/m3,,m。试分析边坡稳定性。 解:设滑动圆弧通过坡脚,据已知条件适合用圆弧法的表解法解题。由题意知边坡斜度 ,查表4-2得:

,若,则边坡稳定; 若,则边坡不稳定。 可以先假定,利用表解法反求值或边坡高度值。 如本例中取,不变,取 所以: 同样,假定,改变坡率以减缓边坡,计算值,直到 什么是最佳含水量?为什么最佳含水量可以获得好的压实效果?怎样控制含水量? 使土体产生最大干密度时的含水量,称之为最佳含水量。最佳含水量能得到最好的压实效果,这是因为:当土中含水量较小时,主要为粘结水,形成包裹在土颗粒外围很薄的水膜,土颗粒间的摩阻力较大,因而土颗粒难以挤密,不容易压实。随着含水量逐渐增大,水在土颗粒间起着润滑作用,土体变得易于压实。若土中含水量进一步增大,土中空隙被自由水充盈,压实效果反而降低。因此,只有在最佳含水量条件下,才能获得最好的压实效果。实际工作中,当填料含水量小于最佳含水量时,可以在整型工序前12~24h 均匀洒水,闷料一夜后再行碾压;如果填料含水量小于最佳含水量,应翻拌晾晒或掺石灰,使含水量略大于(0.5%~1.0%)时进行碾压。 在重复荷载作用下,路基将产生什么样的变形结果?为什么? 路基在重复荷载作用下,将产生弹性变形和塑性变形。每一次荷载作用之后,回弹变形即行消失,而塑性变形不再消失,并随荷载作用次数的增加而累积逐渐加大,但随着荷载作用次数的增加,每一次产生的塑性变形逐渐减小。产生的变形结果有两种: ①土粒进一步靠拢,土体进一步逐渐密实而稳定; ②累积变形逐步发展成剪切破坏。 出现哪一种变形结果取决于三种因素: ①土的类别和所处的状态(含水量、密实度、结构状态)。 ②应力水平(亦称相对荷载)。相当于一次静载作用对的应力极限δ极重复作用的应力程度。

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 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、白盒测试技术(逻辑覆盖、基本路经测试)

(完整)中南大学软件学院架构复习大全,推荐文档

●使用Hibernate框架进行ORM,可大幅度减少开发时手工使用SQL和JDBC的出错。优点:简单。缺 点:多了查询,慢(但实际对于一个JAVA EE应用而言,hibernate通常的处理流程是:从数据看里加载记录->将信息发送到表现层供用户修改或删除->将所做修改重新保存到数据库。在这种处理流程下,应用本身就需要两条SQL语句)。 ●iBats---半自动化ORM框架提供了基于JDBC之上的一层简单抽象,是一种基于SQL语句映射的 低级别ORM方案,使用原生态SQL作为查询语言。 ●OGNL是Object Graph Navigation Language,对象图导航语言。ONGL是一种强大的表达式语言,它通 过简单一致的表达式语法来读取和设置Java对象的属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。WEB容器是指一种安装在服务端计算机中的特定软件。此类软件遵循HTTP 协议,主要功能是负责侦听指定端口,接收客户端的请求并解析,然后将指定的响应页面发送到客户端。EL表达式EL是一种简单而强大的语言,提供了在JSP脚本元素范围外使用运行时表达式的功能。 Web Services应用程序组件,使用开放协议进行通信,独立的并可自我描述,可通过使用UDDI来发现,可以被其他应用程序使用,XML是其基础。 ●Mybatis一个持久数据映射框架,提供了基于JDBC之上的一层简单抽象,是一种基于SQL语句映射 的低级别ORM方案,使用原生态SQL作为查询语言,用来完成数据持久化MyBaits基本原理:在XML 文件中定义SQL语句,预留参数占位符;在运行时,占位符被指定的参数值取代,参数可能来自参数映射表、JavaBean属性、或者简单的参数对象。在执行SQL查询时,结果字段被映射到对象,映射的方式与参数映射一样。 ●ORM框架ORM, Object-Relational Mapping, 对象-关系数据库映射框架。在关系型数据库和业务实体对 象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。 ●拦截器(Interceptor)是Struts2的一个重要特性。Struts2的大多数核心功能都是通过拦截器来实现的, 如类型转换、对象组装、输入校验、文件上传等。Struts2将其大多数核心功能通过拦截器来实现,而不是分散在Action中实现,有利于系统的解耦,实现“hot-plug”。需要某个功能就“plug-in”一个拦截器,而不需要修改和业务相关的Action代码。编写一个用于安全验证的拦截器第一步:修改UserAction第二步:编写拦截器类AuthenticationInterceptor extends AbstractInterceptor第三步:配置拦截。 ●DI强制将组件的构建和使用分开。(组件的生产、组件的使用、接口的定义、运行时注入)。借 助spring框架,实现工厂的效果。如果类与类之间没有依赖(不能提取接口),则不用IOC(如果横向有依赖,即action与action之间有关系,说明没有设计好)功能太小,也不用IOC,spring是做大系统的。DI有两种最常用的方式:构造注入——保留依赖的先后顺序。Set注入——更多使用步骤:定义组件接口:墨盒接口ink;纸张接口paper;使用接口开发打印机:printer(使用ink和paper接口)组装打印机:在printer里。给ink和paper创建set方法创建或得到ink和paper的实现类。组装——在src下创建applicationContext.xml(依赖注入)。运行打印机 ●Spring框架的一项最基本的功能就是充当创建对象的工厂,具体步骤为:第一步:读取并 分析spring配置文件(如XML配置文件);第二步:通过反射机制,创建并集成上述配置文件中的对象;第三步:将创建的对象传回给应用代码。

软件工程知识点汇总

软件工程知识点汇总 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.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

UML-软件体系结构-实验1-中南大学-软件学院

实验1 UML实验(1) 实验学时: 2 每组人数: 1 实验类型: 3 (1:基础性2:综合性3:设计性4:研究性) 实验要求: 1 (1:必修2:选修3:其它) 实验类别: 3 (1:基础2:专业基础3:专业4:其它) 一、实验目的 1.学会安装和使用建模工具PowerDesigner,熟练使用PowerDesigner绘制常用的UML 图形,熟悉常用的UML符号; 2.构建用例模型来描述软件需求,包括绘制用例图,撰写用例文档并制作用例检查矩阵; 3. 绘制状态图描述对象的状态及转换。 二、实验内容 1. 某酒店订房系统描述如下: (1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订; (2) 前台服务员可以利用系统直接在前台预订房间; (3) 不管采用哪种预订方式,都需要在预订时支付相应订金; (4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付; (5) 利用信用卡进行支付时需要和信用卡系统进行通信; (6) 客房部经理可以随时查看客房预订情况和每日收款情况。 绘制该酒店订房系统的用例图。 2. 根据以下场景绘制用例图: 某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。该系统功能描述如下: (1) 企业的任何员工都可以查看菜单和今日特价; (2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证; (3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统; (4) 菜单管理员是餐厅员工的一种,可以管理菜单;

中南大学专升本《路基路面工程》2014年必做题及答案

作业练习一 一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的。) 1、按照强度构成原理划分下列路面结构层,其中只有_______为嵌锁型。() A.二灰土 B.级配碎石 C.填隙碎石 D.天然砂砾 2、基层顶面当量回弹模量是表征_________强度和刚度的力学指标。() A.基层 B.土基 C.垫层 D.综合A、B、C 3、对于土质地基,基础埋置深度应符合下列要求() A.无冲刷时,应在天然地面以下至少1m B.有冲刷时,应在天然地面以下至少1m C.对土质地基,如受冻胀影响时,应在冻结线以下不少于0.5m D.对碎石、砾石和砂类地基,基础埋深不宜少于1.5m 4、新建公路路基干湿类型的初步判断的方法采用()。 A.填方或挖方高度 B.含水量 C.路基临界高度 D.分界相对稠度 5、水泥混凝土路面现行设计规范采用()理论。 A.弹性层状体系 B.极限荷载 C.经验法 D.弹性地基板 6、某路基已知路床顶以下80cm的平均相对含水量为20%,此种粘性土的塑限为15%,液限为35%。已知稠度分界值为Wc1=1.1,Wc2=0.95,Wc3=0.80,则该路基处于()状态。 A.干燥 B.中湿 C.潮湿 D.过湿 7、我国公路自然区划的一级区划是按( )。 A.潮湿系数 B.地理位置、经济状况 C.各地方的自然特点、人口数量 D.水热平衡和地理位置 8、公路路基用土中,最好的填料为( )。 A.砂 B.石质土和砂质土 C.粉性土 D.粘性土 9、路基边沟、截水沟、取土坑或路基附近的积水,主要通过( )排除到路基以外的天然河沟中。 A.涵洞 B.跌水 C.排水沟 D.盲沟 10、护坡道的宽度一般不小于( )。 A.2.5m B.2m C.1.5m D.1m 11、在原有路面上铺筑水泥混凝土路面时,板下基础当量回弹模量可以通过( )确定。 A.查表法 B.承载板或弯沉检测

软件工程基础知识点总结

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

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

中南大学软件学院软件体系结构实验1UML实验-参考答案

《UML实验》参考答案 1. 某酒店订房系统描述如下: (1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订; (2) 前台服务员可以利用系统直接在前台预订房间; (3) 不管采用哪种预订方式,都需要在预订时支付相应订金; (4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付; (5) 利用信用卡进行支付时需要和信用卡系统进行通信; (6) 客房部经理可以随时查看客房预订情况和每日收款情况。 绘制该酒店订房系统的用例图。 参考答案: 顾客 在线预订房间 前台预订房间通过现金支付订金 通过信用卡支付订金 查看客房预订情况 查看每日收款情况 2. 根据以下场景绘制用例图: 某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业联网使用该系统。该系统功能描述如下: (1) 企业的任何员工都可以查看菜单和今日特价; (2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证; (3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;

(4) 菜单管理员是餐厅员工的一种,可以管理菜单; (5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。 参考答案: <> 查看菜单 查看今日特价 在线订餐 注册工资支付 修改订餐信息 删除订餐信息 工资系统 备餐 生成付费请求 请求送餐 管理菜单 打印送餐说明 记录送餐信息 记录收费 注册 登录

软件工程导论复习知识点

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

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

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

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

中南软件java实验报告2

中南大学软件学院实验报告 课程名称Java面向对象程序设计SSD3 实验项目名称实验2《一维数组》 学生姓名专业班级学号 实验成绩日期 实验学时: 2 每组人数: 1 实验类型: 1 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它) 实验类别: 2 (1:基础2:专业基础3:专业4:其它) 一、实验目的 学习一维数组的用法。 二、实验内容 1. (P182, 6.3)编写程序,读取1-100之间的整数,然后计算每个数出现的次数。假 package java_shiyan_two; import java.util.Scanner; public class Jscs_6_3 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.print("Enter the integers between 1 and 100 :");

int list[]=new int[88]; Scanner input=new Scanner(System.in); for (int i=0;i<=list.length;i++){ list[i]=input.nextInt(); if(list[i]==0){ break; } if (list[i]<1||list[i]>100){ System.out.print("WRONG"); continue; } } int[] list1=insertionSort (list); cout(list1); } /* * 数组排序 */ public static int[] insertionSort (int[] list){ int[] result=new int [list.length]; for (int i=0 ;i=0&&list[k]>c;k--){ list[k+1]=list[k]; } list [k+1]=c; } for (int d=0;d

黑色路面施工整体解决方案

沥青混凝土路面工程施工方案 沥青混凝土路面施工中存在的工艺问题。结合现场施工,介绍沥青混合料转运车对改善沥青混合料温度和级配分布及路面施工质量的影响。根据沥青混凝土路面施工工艺及机械运行规律,提出了机群智能控制系统结构方案。 我国高速公路将仅次于美国,跃居世界第二位;2010年,“五纵七横”国道主干线将基本建成,到2020年,公路总里程将达到145万公里,其中高等级、次高级路面占公路总里程的50%以上。 在已通车的高速公路中,刚性和半刚性基层沥青路面约占80% 。与国外沥青路面相比较,我国沥青路面的整体质量不高,包括高速公路在内的绝大部分沥青路面在交付使用2~3年后就出现路面早期损坏,严重影响道路的使用率和通行率,同时带来巨大的经济损失。因此,提高沥青路面的施工质量,延长道路的使用寿命,已经成为我国公路行业发展的当务之急。 1、目前沥青路面施工中存在的问题 传统的沥青路面铺筑施工工艺是将沥青混合料设备生产的沥青混合料由自卸卡车运输到施工现场,并卸至沥青摊铺机的料斗中,经摊铺机进行摊铺后,由压路机对路面进行最终压实。国内外的施工实践证明,用这种传统工艺铺筑成形的路面早期破损现象比较严重,致使道路的维修费用大大增加,寿命缩短,使用率降低。造成路面早期损坏的主要原因有如下三个方面: (1)自卸车在装料、运输及卸料过程中导致沥青混合料出现三次材料离析和温度离析。 (2)因摊铺机料斗容量小、自卸卡车数量少等因素导致摊铺机停机待料,

摊铺工作不能连续进行,造成路面结合处粘接力及其他力学性能的差异。 (3)自卸车卸料时对摊铺机进行碰撞和顶推,造成的路面的横向接缝(即纵向波)。 影响沥青混凝土路面铺筑施工质量及施工成本的因素除施工工艺外,单机性能及机群协同性方面也有重要作用。在为沥青路面施工提供全新的控制与监测工具。整个控制系统由地面子系统(GSS)、定位子系统(PSS)和机载子系统(OBSS)组成[1]。 在国家863计划“机群智能化工程机械”重大专项经费支持下,以追求最终产品质量最优为目标,分别从“沥青路面施工工艺”、“单机智能化”和“机群监控与优化调度”三个方面,研究生产过程中各要素的约束机制及影响产品质量的工艺因素,寻求生产线中各环节的最优匹配与协调及单机最优状态调整的控制策略,旨在为施工企业和业主提供沥青路面施工的整体解决方案。 2、沥青混合料转运车及转运—摊铺工艺 为了提高沥青路面面层的施工质量,欧美国家提出了转运摊铺的施工工艺。三一重工股份有限公司在国内率先倡导这种工艺,并开发了国内第一台沥青混合料转运车LHZ25。 新工艺是在运料汽车与摊铺机之间增加转运车。转运车的二次搅拌使得在前面环节中造成的温度和级配离析的沥青混合料得到充分的拌合。同时,避免了运料汽车对摊铺机的碰撞。转运车的供料速度不受其它因素的干扰,保证摊铺机上的混合料数量始终是恒定的,拌和机和运料汽车在供料方面的不均衡通过转运车的料斗储存量得以调节,确保了摊铺机匀速稳定的摊铺,

软件工程知识点总结

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

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

中南大学软件工程基础实验报告

中南大学软件工程基础实验报告

————————————————————————————————作者:————————————————————————————————日期:

软件工程基础实验报告 软件工程基础实验报告 指导老师:王春生 姓名: 学号: 专业班级: 完成日期: 2015.6.11 学院:信息科学与工程

目录 实验一熟悉Visio的工作环境-------------------------------------------3 实验二运用Visio建模工具进行功能分析和建模-----------------8实验三完成用例图、uml类图、数据流图(DFD)------------13

实验一熟悉Visio的工作环境 一、实验目的 1.了解visio 工具软件的功能特色、工作环境和基本操作等各方面知识 2.掌握应用Visio工具绘制软件开发图形的基本操作,了解系统开发模板和建模 方法 二、实验内容 1、了解Visio的工作环境 2、了解Visio软件的菜单、工具、绘图等操作 3、按照实验步骤绘制图形,完成用例图、ER图、数据流图 4、了解类图和状态图在visio下的基本绘图操作 5、(选做)绘制状态图* 三、实验步骤 1.绘制用例图 用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。 2.绘制ER图(实体关系图) E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n 或m:n)。 由于Visio 默认的绘图模板并没有E-R图这一项,但是画E-R图必须的基本图形Visio还是有的,所以我们就得先把必要的图形添加到“我的模板”。以添加椭圆和矩形为例,打开Visio,在主界面的选择绘图类型下选择“框图”,然后选择“基本框图”。 完成下面ER图:

(完整版)路基路面工程技术复习题及答案

中南大学现代远程教育课程考试(专科)复习题及参考答案 《路基路面工程技术》 一名词解释 1路基 2路基临界高度 3 设计弯沉值 4路堤和路堑 5半刚性基层 6高级路面 二. 填空 1路基路面应具有、、、 和等基本性能。 2路基按其干湿状态不同,分为、、和四类。 为保证路基路面结构的稳定性,一般要求路基处于或状态。 3公路自然区划的原则是、和。 4路基防护与加固设施主要有、和_____________三类 5水泥混凝土板接缝按位置分为___________和___________,按其作用分为____________,_________和______________三种. 6路基横断面的典型形式有、、三类。 7路基边坡稳定性分析方法可分为和两类。 8按照挡土墙的设置位置,挡土墙可分为、, 和_________等类型。 9从路面结构的力学特性和设计方法的相似性出发,路面可划分为、和三类。 10水泥混凝土路面设计理论是 11表征土基强度的主要参数有___________、___________和____________。 12提高重力式挡墙抗倾覆稳定性的措施________、_______、_________等。 13路基为路面提供坚实、稳固的基础,要求具有一定的强度、 __________ 和__________ 。 14高温使沥青路面强度和 _________ 大大降低,低温会使路面 ________ 。 15路基的自重应力大小是随着深度而逐步 __________ ,汽车荷载在路 基内产生轮重的应力,其大小是随着深度而逐步 __________ 。 16作用在重力式挡土墙上的外力,按其各力作用的性质可分为 __________ 力、 __________ 力和特殊力。

软件工程知识点

第一章软件工程概述 一、软件的定义和特性(P2—P3) 定义:软件=程序+数据+文档 程序:按照事先设计的功能和性能要求执行的指令或语句序列 数据:程序能正常操纵信息的数据结构 文档:描述程序操作和使用的文档 特性: (1)软件是一种逻辑实体,具有抽象性,不是一般的物理实体; (2)软件的成产与硬件存在某些相同点,但有根本上的不同,软件开发是人的智力的高度发挥,而不是传统意义上的制造,它更依赖于开发人员的素质,智力,人员和组合,合作和管理; (3)软件维护与硬件维修有着本质的差别,软件维护没有硬件维护那样有可替换的标准零件; (4)软件在运行和使用期间没有硬件那样的机械磨损,老化问题,但存在退化问题; (5)基于构件的开发方法由于其自身的特点越来越受到人们的重视,这些技术可以减少开发时间、提高质量,并提高复用水平。 * 掌握P4图1-2(b)软件失效率曲线 二、计算机软件的发展经历了几个阶段?各有何特征?(P1—P2) 共经历了四个阶段 特征:第一阶段——程序规模小且主要采用个体工作方式,开发的系统大多采用批处理技术 第二阶段——引入人机交互的概念,实时系统出现,产生了第一代数据库管理系统,程序编制采用了合作的工作方式,出现了早期的软件危机 第三阶段——分布式系统出现,嵌入式系统得到广泛应用,低成本硬件 第四阶段——强大的桌面系统和计算机网络迅速发展时期,面向对象技术得到广泛应用,人工智能技术和专家系统开始应用于软件。 三、什么是软件危机?其产生的原因是什么? 定义:软件危机是指由于落后的软件生产方式无法满足迅速增长的计算机软件应用需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(P4) 原因:(P5) (1)用户对软件需求的描述不准确、不全面,甚至有错误,以及在开发过程中,不断提出或者修改需求; (2)用户和开发人员对软件需求的理解存在差异,导致所开发的软件产品和用户需求不一致; (3)大型软件项目需要组织一定的人力共同完成,各类人员的信息交流不及时、不准确,有时还可能产生误解,软件开发人员对大型软件缺少开发经验,管理人员缺少相应的管理经验; (4)软件开发人员不能有、独立自主的处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误; (5)开发技术落后,缺乏有效的方法学和工具方面的支持,过分依赖程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化 (6)软件产品的特殊性和人类智力的局限性,导致人们无法处理“复杂问题”,因为软件是逻辑产品,软件开发进展情况较难衡量、软件开发质量难以评价、管理和控制软件开发过程相当困难。 四、什么是软件工程?它的目标和内容是什么? 定义:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,并对方法的研究。(P6) 目标:在给定的成本和进度前提下,开发出具有可修改性、可理解性、可维护性、有效性、可靠性、可适用性、可重用性、可移植性、可跟踪性和互操作性并且满足用户需求的软件产品。(P7) 内容:主要内容包括软件开发技术和软件工程管理两方面。(P6) 要素:方法,工具,过程 五、什么是软件生存周期?它有哪几个活动? 定义:(software life cycle)把软件产品从形成概念开始,经过定义、开发、使用和维护直到最后退役的全过程。 活动:软件定义、软件开发、软件使用维护和退役(P9)

相关文档
最新文档