天津专升本2012软件工程导论

上传人:F****n 文档编号:100561429 上传时间:2019-09-24 格式:DOC 页数:37 大小:1.61MB
返回 下载 相关 举报
天津专升本2012软件工程导论_第1页
第1页 / 共37页
天津专升本2012软件工程导论_第2页
第2页 / 共37页
天津专升本2012软件工程导论_第3页
第3页 / 共37页
天津专升本2012软件工程导论_第4页
第4页 / 共37页
天津专升本2012软件工程导论_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《天津专升本2012软件工程导论》由会员分享,可在线阅读,更多相关《天津专升本2012软件工程导论(37页珍藏版)》请在金锄头文库上搜索。

1、软件工程导论目 录第1章 软件工程学概述- 1 -第2章 可行性研究- 4 -第3章 需求分析- 11 -第4章 总体设计- 17 -第5章 详细设计- 21 -第6章 实现- 29 -第7章 软件测试- 30 -第8章 软件维护- 35 -在已确定的场地上,采用多种手段查明场地工程地质条件;采用综合评价方法,对场地和地基稳定性做出结论;对不良地质作用和特殊性岩土的防治、地基基础形式、埋深、地基处理等方案的选型提出建议;提供设计、施工所需的岩土工程资料和参数。第1章 软件工程学概述1、软件的定义软件=程序+数据结构+文档:(1)完成特定功能的程序;(2)适合程序处理的数据结构;(3)描述程序功

2、能、如何操作和使用的相关文档。2、什么是软件危机?它的典型表现有哪些?产生它的原因是什么?软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。典型表现:(1)对软件开发成本和进度的估计极不准确;(2)软件产品质量较差,可靠性低;(3)用户对开发出来的软件产品不满意;(4)开发出来的软件几乎是不可维护的;(5)软件产品缺少应有的文档资料;(6)软件产品的供不应求。客观原因(软件的特征):软件是开发的,而不是制造的;软件不磨损,但退化;自定义特性使其不同于其他的硬件产品的标准化,软件都规模庞大,而程序的复杂性是随其规模的扩大呈指数增加。主观原因:对用户要求没有完整和准确的认识就匆忙编写

3、程序;对软件的开发过程的认识不准确;对软件质量的重视不够是造成软件开发成本激增的主要原因;轻视软件维护将是一个重大的错误。3、什么是软件工程?它的本质特征有哪些?软件工程:采用工程的概念、原理、技术和方法,并结合正确的管理技术和能够得到的最先进的技术方法,经济有效地开发和维护软件的一门新兴工程学科。本质特征:一般更关注于大型软件系统的开发;其中心任务是控制整个软件系统的复杂性;提高软件开发的效率;加强人员和技术的管理;更好地满足用户的需求。4、简述软件工程的基本原理。(分别在每个要点后补充说明)用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代设计技术;结果应能清楚

4、地审查;开发小组的成员应该少而精;承认不断改进软件工程实践的必要性。5、软件工程方法学:主要包含3个要素,方法、工具和过程;应用最广泛的有传统方法学;面向对象方法学。6、什么是软件生命周期?它分为哪三个阶段,每个阶段又包含哪几个时期?软件生命周期:一个软件从定义、开发、使用和维护,直至最终被废弃,需要经历的漫长时期。软件定义问题定义:明确软件系统需要解决的问题是什么。确定问题的性质;软件目标和规模;形成书面报告。可行性研究:确定软件系统是否值得去解。高层次的系统分析和设计;估算系统的成本和效益;产生文档可行性研究报告。需求分析:解决这些问题需要系统做什么。与用户交流;生成系统逻辑模型;产生文档

5、软件需求规格说明书。软件开发总体设计(概要设计):应该怎样实现目标系统。设计出实现目标系统的方案;设计软件结构,确定模块及之间关系。详细设计(模块设计):如何具体地实现这个系统。详细的设计每个模块的算法和数据结构。编码和单元测试:写代码,测试每个模块。选取程序设计语言;写出容易理解和维护的程序模块;对每一个模块进行严格的测试)。综合测试:通过各类测试和调试来完善软件。集成测试 + 验收测试(用户参加);保存测试计划、测试方案和测试结果。运行维护软件维护:通过各种必须的维护活动使系统持久地满足用户的需要。维护活动有:改正性维护;适应性维护; 完善性维护;预防性维护。7、软件生命周期的模型瀑布模型

6、(线性模型之一)特点:(1)各阶段之间有依赖性和严格的顺序性;(2)推迟实现 典型特点;(3)严格的阶段质保;(4)文档驱动。 问题:(1)实际的项目很少顺序严格;(2)用户往往难以给出具体、正确、完整的要求;(3)开发人员“阻塞状态”严重。(快速)原型模型特点:(1) 出品速度快;(2) 逐步求精;(3) 开发阶段迭代。问题:(1) 实现过程中不应有的折衷方案;(2) 开发者急于完成原型而忽略了整体设计和可维护性;(3) 用户的参与过多也造成了软件开发管理的混乱。 适用范围:结构和算法不复杂的系统增量模型(渐增模型)特点:(1) 结合了线性模型和原型模型的特点;(2) 每个增量可以结合原型法

7、;(3) 系统的问世提前“增量1”问题:开放的软件体系结构;中心思想:“渐进开发,逐步完善”喷泉模型:典型的面向对象的软件过程模型之一,“喷泉”较好地体现了面向对象软件开发过程迭代和无缝的特性。第2章 可行性研究1、为什么要进行可行性研究?目标:“用最小的代价和尽可能短的时间判断问题是否值得去解?”实质:高层次的系统分析和设计主要任务:(1)分析和澄清问题定义;(2)导出系统的逻辑模型;(3)探索各种解法并研究每种解法的可行性;(4)制定粗略的进度、建议和计划。2、研究软件工程项目的可行性要从哪几个方面着手?技术可行性;经济可行性;操作可行性;社会可行性3、简述软件工程的可行性研究的步骤?(1

8、)复查系统规模与目标:访问关键人员,复查确认系统规模和目标 ;清晰描述对目标系统的一切限制和约束。(2)研究目前正在使用的系统:了解现有系统,实地考察;注意现有系统与目标系统之间的接口(功能);运行费用。(3)导出新系统的高层逻辑模型:从现有的物理系统出发导出目标系统的逻辑模型。(4)导出与评价各种方案:(逻辑模型 物理解法)评估解决方案的可行性 ;给出实现进度表。(5)推荐行动方针:作为结果之一是否继续开发? 对推荐的系统详细的成本/效益分析。(6)草拟初步的开发计划:制定工程进度表;开发人员需求;设备与软件的需求(使用情况说明);估计软件生命周期每个阶段的成本;给出下一个阶段的进度表/成本

9、估计。(7)编写可行性研究报告并提交审查4、可行性研究的工具(什么是数据流图、由哪几部分组成、含义是什么?)(1)系统流程图:用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程)。注:系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程(程序流程图)。 (2)数据流程图:数据流图(Data Flow Diagram)是一种用图形符号表示数据流从输入到输出的移动变换过程,即数据流图描绘数据在软件中流动和被处理的逻辑过程。 源点/终点(名词):表示图中要处理数据的输入来源或处理结果要送往何处。它是数据流图的外围环境中的实体。 加工/变换(动宾

10、结构):使用椭圆或圆角矩形表示。它是以数据结构或数据内容作为加工对象的,是对数据进行处理的单元,是对数据流进行某些操作或变换。 数据存储(名词):和数据流一样都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。 数据流(名词):沿箭头方向传送数据,指明被加工的数据与流向。(3)熟记DFD的检查和修改原则及设计它的注意事项(p16-17)。5、成本/效益分析可用哪些指标进行度量? 成本估计:从经济角度评价开发一个新的软件工程项目是否可行代码行技术:软件成本=每行代码的平均成本源代码行数任务分解技术:软件开发成本=任务1的成本+任务2的成本+自动估计成本技术:使用

11、软件工具效益分析:有形效益和无形效益。有形效益用货币时间价值、投资回收期、纯收入等指标进行度量。无形的效益主要是从性质上、心理上进行衡量,很难直接进行量化。现在价值将来值年利率n年后货币的时间价值( F=P(1+i)n )P=F/(1+i)n投支回收期:累积的经济效益(现在值)最初的投资所需的时间纯收入=(软件在整个生存期之内系统的)总累积经济效益(现在值)- 最初投资6、在企业管理中使用制图系统来取代大部分人工工作,每年可节省2000元。若软件生存期5年,则5年可节省1万元。开发这个系统共投资6000元。设年利率是6%,利用上面计算货币现在价值的公式,可以算出引入制图系统后,每年预计节省的钱

12、的现在价值。如下表所示,试计算投资回收期和纯收入。年将来值(万元)(1+i)n现在值(万元)累积的现在值(万元)10.21.060.18870.188720.21.12360.17800.366730.21.19100.16790.534640.21.26250.15840.693050.21.33820.14950.8425解:由表中数据得第三年的经济效益为0.5346万元,还差0.6-0.5346=0.0654万元,则还需0.0654/0.1584=0.4129年,所以投资回收期为3.4129年;纯收入为0.8425-0.6=2425元7、p19第8题顶层数据流图:一级DFD:P20第9题

13、:顶层DFD:存单存款单储户银行储蓄系统储户取款单利息清单Data Flow Diagram:P20第10题顶层DFD:最终DFD:Entiy-Relation图:第3章 需求分析P30 1、需求分析阶段的基本任务是什么?怎样理解此阶段的任务是“做什么”而不是“怎么做”?任务:完整、准确、清晰、具体地确定系统所要完成的工作。(1)确定对系统的综合要求;(2)分析系统的数据要求;(3)建立软件的逻辑模型;(4)编写软件需求规格说明书;(5)需求分析评审:验证一致性、完整性、现实性、有效性。2、需求获取的方法分为几类,并说出各种方法的特点?、访谈:最原始的获取用户需求的技术,时间长、片面性;、问卷

14、调查:通常与用户访谈组合使用,片面性、面广;、观察用户工作流程:需要对复杂流程加深了解或对关键人物理解不清楚时使用,耗时长;、建立联合分析小组:由软件开发方和客户方共同组成;、快速原型法:需要多次修改。3、什么是结构化分析方法?该方法使用什么工具描述?结构化分析技术是面向数据流自顶向下逐步求精进行需求获取的方法,适合于大型数据处理类型系统的需求分析。实体-联系图E-R、数据流图DFD、数据字典DD ,描述加工逻辑的结构化语言、判定表和判定树等。4、什么是E-R图,由哪几部分组成,含义各是什么?ER图,是一种面向问题的数据模型,是按照用户观点对数据建立的模型。 实体:对软件必须理解的复合信息的抽象; 属性:数据对象的性质; 联系:数据对象彼此之间相互连接的方式,一对一1:1、一对多1:N、多对多M:N。5、什么是数据字典DD,作用是什么,有哪些条目?DD对数据流图加以补充说明,是关于数据的信息的集合。基本功能(作用):定义数据。复杂数据元素的组成方式:顺序;选择;重复;可选。内容:定义DFD中每一个被命名的图形元素包含名字及别名、数据描述、数据定义、数据位置、补充说明等。P31第6题:DFD DD:购书单 = 学生信息 + 教材信息学生

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号