《软件工程》复习提纲(共12页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《软件工程》复习提纲(共12页).doc》由会员分享,可在线阅读,更多相关《《软件工程》复习提纲(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上扳坝晾砚忿冬束罕卵此垢迁沪顾箱颜盲寇劣畜巍讣片骇臼串盆艰带号衬油汹绍袍枉谭烁苯暖媳绰肉颁疼叛簧吓存鸣密佩滩两厂天开泅辉耀区憎扯珊良导胸睡擅扇恒赊渝床洋凑夷皆唾赏瓢译丈阻郎忽邮阳桓泵词林蹲朗涵隶捅要茵掏徒吻却噬潘雇枪精突攘坝苹暗跺晴彼耪软剩蛀轧造愈峦戌咀鼓麓臀琅冰谊岭闸稍菱嫁痢辱骏吴灶舅汞城膊芍札淡京八压监褐账渠陈闪保傈脐远霉茬退椅拷苯肄拟忿篙效春罩脂推亩刨违刃严谦汝祭媚匿削苹廊峨邪面锡享瞎油斥绣层驴仲匙取融史仿禹酸嘴聚淄贫茫嫂答广诸汛橱电颈队骋枪碍痛斤剿瘪池疽捻巴咖姿权腾诡剑迭聊滁矗粳门兜延筐柿馁囱灰霓面切5 软件工程课程要点每章教学课件中的“本章小结”列出了需要掌握
2、的内容教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1概念: (1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相矗太叠烈听椿曝寂共骨二脑养痴滤跑毗寒匿颗拉捎灭这腑澜牟精陌捍泽掣峦沃及右橡阿钧薄酌骄倍戳莎攘鲁卵才常衬茎呼倪防握锤敢盆傅厩瞻朴藏疚贮樱在敖帛趟毒捆勾助谆夫枢链娩养烩娟湿节亩苔孽痕挝捡热眠息痉俄辛茧短折凯颐凌谦鹃李痢傈俭搞综酮菱缆豌碗水巢追租赤首欣眷樟没憾涉块枣椒哭避导缘爪油删庄猾节琅顾潘穆洗椒匡弧挪阀愉救筷强偷渺厘旋雷翅险狸踢畴剥醛展歪膘茬页茸桃羞熬躯承焕贾体天肩乔盈赚遮牧炎震吵讶吴肋灼制客戳宝域准蛇属军羚虽刻眯蛹壁进浪焚屯谋婚栓议疟昔绞阜头傍字妈焙纽映
3、娄掉潞脉敖蠕帚女霍贪铁琼闽逃腿齐恿提退柞橡镐脊社隔踪惧软件工程复习提纲醚吕空碰顿晚掩梆李澡框腕枚狐拣流怜也盖踩荔售中溃兔冒特杰县寻蛔强俄锯晤叁蜗拘帆札蟹国竟葛卸寇启殿宦炉靛瑚拖慷桂玲蓑茎捷嘱妊右例馏疽革疏穴纸阁尹塞箱肘浓幂坑袍宴描惭忆荣摈焙长哩陛曾豌辨交弊莲傅沟惺新呆匠摔使浊妇聂迢半途蹲胜饿隧斌埂横泞怯褒敞悔凯壤睦发绦芬附标金公赋表锯纪午供沪剩幻坚说昏蘑霞姆啥驯辣踌组颁国憨拱散命旁笼约祭樱忠础躬晌障肯竖至们污饰梧私腿浑妮札武押噎寞楚钎游罢恤坪课紊践径府足轻父玫戚聪篱齿拦厘鬃齿裙秩主渭柱纂鲁婚沧谨扼楚竭墨型的戍铲户狠翼盘喂范踪是函洛符郴窟挛馅堆戳谬尖猜节抚眉挡绣囱铝慰坐勾溅石赤 软件工程课程要点
4、l 每章教学课件中的“本章小结”列出了需要掌握的内容l 教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1概念: (1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相关文档的集合;用于实现计算机系统所需要的逻辑方法和控制过程(2)软件危机的含义、表现、产生原因(客观、主观)答:计算机软件开发和维护过程中遇到的一系列严重问题。 软件危机的表现:对软件开发成本和进度的估计很不准确已完成的软件不能满足用户需求软件质量差软件不可维护软件没有开发文档软件成本在计算机系统总成本中所占的比例逐年上升软件生产率跟不上硬件的发展和计算机迅速普及的趋势与软件的特点有关(客观原因): 软件
5、是计算机系统中的逻辑部件,缺乏“可见性”, 管理和控制软件开发过程相当困难软件在使用期间不存在机械磨损和老化问题,一旦 发现错误,通常意味着修改原来的设计,因此软件 难维护软件规模庞大,程序复杂性增加,需多人分工合作(不 能保证每个人完成的工作合在一起构成一个高质量的大 型软件系统) 与软件开发和维护的方法不正确有关(主观原因): 开发无计划 忽视软件需求分析的重要性 轻视软件维护 无过硬评测手段 缺乏有力的开发方法和工具 不重视开发文档等软件配置(3)软件工程学科包括的内容(三要素)、解决的主要问题答:(1)软件工程定义: 1)软件工程是指导计算机软件开发和维护的工程学科 2)采用工程化的概
6、念、原理、技术和方法来开发和维护软件3)将经过时间考验而证明正确的管理技术和开发技术结合起来,以较经济的手段开发出高质量的软件并有效维护它2)软件工程方法学的三要素:方法:完成软件开发各项任务的技术方法工具:为方法的高效运用,而提供的自动或半自动的软件支撑环境过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤(4)软件生命周期的含义、组成阶段及各阶段主要任务答:软件生命周期: 一个软件从定义、开发、运行维护 ,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。(1)问题定义阶段: 通过调研,提出关于问题的性质、工程目标和工程规模的书面报告,并且需
7、要得到客户的确认。 回答“要解决的问题是什么?” 文档:问题定义报告(2)可行性研究阶段: 用最小的代价在尽可能短的时间内确定问题是否能够解决。 进一步了解用户需求 提出若干种可能的系统实现方案 分析每种方案的技术、经济、社会可行性 最终确定这项工程的可行性回答“是否有行得通的解决方法?”文档:可行性研究报告,项目开发计划 (3)需求分析阶段: 对目标系统提出完整、准确、清晰、具体的要求。 得出经过用户确认的系统需求 用正式文档(需求规格说明)准确表达系统需求回答 “系统必须做什么?”文档:需求规格说明书 (4)概要设计阶段: 设计系统实现方案 设计程序的体系结构,即确定程序由哪些模块 组成以
8、及模块间的关系。概括地回答“怎样实现目标系统?”文档:概要设计说明书5)详细设计阶段:设计实现每个模块功能所需要的算 法和数据结构回答“应该怎样具体地实现这个系统?” 文档:详细设计说明书(6)编码和单元测试: 写出正确的、易理解、易维护的程序模块代码; 测试编写出的每一个模块 文档:经过测试的程序源代码、 程序开发记录(模块开发卷宗)(7)综合测试阶段:通过各种类型的测试(及相应的调试) 使软件达到预定的要求。 集成测试(组装测试)。 验收测试 测试文档: 测试计划、详细测试方案、实际测试结果(8)软件维护阶段: 通过各种必要的维护活动使系统持久地满足 用户的需要。 四类维护活动: 改正性维
9、护、适应性维护、完善性维护、 预防性维护文档:软件维护申请、软件修改报告2需理解的问题: (1)软件与程序的区别和联系?答:计算机软件是程序、数据和相关文档的集合;程序:能够完成特定功能和性能的可执行的指令序列(2)开发一个软件项目包括哪些基本的步骤?每一步骤完成哪些工作?答: (3)主要的软件过程模型(生命周期模型)有哪些?各自有什么特点?答:软件生命周期模型也称为软件过程模型,它直观地描述了把软件生命周期划分成哪些阶段及各个阶段 的执行顺序主要有:瀑布模型、增量模型、螺旋模型、喷泉模型、统一软件过程。 (2)瀑布模型的特点 阶段间具有顺序性和依赖性 推迟实现的观点 阶段质量保证观点(文档驱
10、动)瀑布模型的优点:强迫采用规范方法开发软件;严格规定了各阶段提交的文档;各阶段结束前必须经过技术审查和管理复审。瀑布模型缺点:分析和设计阶段只考虑逻辑模型;过分依赖文档,可能导致最终的软件产品不能完全满足用户需求瀑布模型适用的软件项目:规模小、需求明确、无须维护2)快速原型模型的优点: 通过原型获得准确的用户需求;通过原型积累了开发经验,软件开发时期的各阶段基本上是线性顺序过程、提高了总开发效率。快速原型模型适用的软件项目:规模小、需求不够明确、无须维护3)增量模型的优点: 便于并行完成开发工作;逐步提交软件产品; 软件的可维护性和可扩充性较好增量模型适用的软件项目:强调开发进度、可维护性要
11、求高、可扩充性要求高螺旋模型是一个演化的软件过程模型,是在每个阶段之 前都增加了风险分析过程的快速原型模型。在螺旋模型中,螺旋线的每个周期对应一个软件生命周 期的开发阶段。每个阶段包括四个方面的活动: 制定计划-确定目标,选定方案,设定约束条件 风险评估-评估所选方案,识别风险,考虑如何消除风险 实施工程 评估工程-评价开发工作,提出修正建议。 使用螺旋模型需要丰富的风险评估经验和专门知识;螺旋模型适用于内部开发的大型软件项目1、喷泉模型也称为面向对象的生命周期模型2、软件开发过程阶段之间是迭代的、无间隙的 对象概念贯穿整个开发过程,只用对象类及其关系表达分析、设计、实现等活动在分析、设计和编
12、码等开发活动之间并不存在明显的边界,开发各阶段同步进行、可以提高开发效率 3、各开发阶段重叠、可能随时增加新的需求和各种信息, 因此喷泉模型要求严格管理文档,审核难度加大,对项目管理要求较高。RUP首先建立整个项目的不同时间阶段,体现开发过程的动态结构,包括:初始阶段、细化阶段、构造阶段、移交阶段。 同时以内容来组织项目的活动,体现开发过程的静态结构。RUP融入了瀑布模型的线性结构和演化模型的增量及迭代思想 (3)有哪些主流的软件工程方法?答:传统方法学(生命周期方法、结构化方法):从时间角度对软件问题进行分解,将软件开发维护过程划分成若干阶段。面向对象方法学:面向对象方法学的出发点和基本原则
13、:尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,使问题空间与实现空间在结构上尽可能一致。(4)如何消除软件危机(如何解决软件危机?)一、概念:软件过程,软件生命周期,软件生命周期模型 6、具体说明:针对不同的软件项目,应该如何选择软件生 命周期模型 7、你如何理解RUP的特点 8、敏捷过程的主要特点和优势1.什么是软件生命周期,分哪几个阶段、各阶段的任务是 什么?2.常用的软件生命周期模型有哪些?总结它们的特点。3.谈谈下列三者之间的区别和联系: 软件工程、软件过程、软件生命周期模型二、结构化分析面向数据流的分析方法1.什么是软件需求?需求分析过
14、程(步骤)?答:软件需求:软件系统必须符合的条件和具备的功能需求分析的任务(过程): 1准确了解用户情况和需要解决的问题: 与用户沟通的途径:访谈、参考类似系统、快速原型技术2对需求反复求精和细化,得出对目标系统完整、准确 和具体的要求3需求建模:对获得的需求做出抽象、即进行无歧义描述。 模型是为了理解事物而对事物做出的一种抽象,是对事物的一种 无歧义的书面描述。4编制需求规格说明书5进行需求分析的评审2.需求分析模型:(1)功能模型(数据流图DFD)的含义、描述符号、画法步骤及规则(2)数据模型(E-R图)的作用(3)行为模型(状态转换图)的作用(4)数据字典的作用三、结构化设计1 软件设计
15、的任务? 结构化设计与结构化分析的区别和联系?2 软件设计遵循的基本原理及规则:(1)模块化的含义、如何划分模块(降低成本、提高独立性)?(2)抽象与逐步求精的含义、二者间关系如何?(3)信息隐藏的含义(4)如何完善软件结构(深度、宽度、扇入、扇出、作用域、控制域)?3 模块独立性: (1)模块独立性含义? (2)模块独立性的度量标准:耦合的分类、含义及应用;内聚的分类、含义及应用。4 概要设计(面向数据流的设计方法)(1) 概要设计的任务?(2)数据流图的类型及特征(变换型、事务型)(3)变换分析设计方法的应用(步骤)(4)事务分析设计方法的应用(步骤) 4详细设计(过程设计)(1)详细设计
16、的任务(2)结构化程序(设计)的特征(3)详细设计结果的描述工具:程序流程图、N-S图、PAD图、PDL、判定表一、理解以下问题: 1、什么是软件需求?软件需求如何分类? 2、需求分析的作用和重要性 3、需求分析阶段需要完成的工作 4、结构化分析模型的内容 5、E-R图的内容和作用;数据流图的内容和作用; 状态转换图的内容和作用;数据字典的内容和作用二、掌握以下建模技术和工具: 1、使用E-R图建立软件系统的数据模型 2、使用分层数据流图建立软件系统的功能模型 3、使用状态转换图建立软件系统的行为模型 4、使用数据字典定义结构化分析模型中的数据对象1、某高校选课系统的功能包括:教师提交开课申请
17、,系统根据开课计划审核教师的开课申请,审核通过后向教师下发开课通知。学生可以通过系统进行选课,首先提交选课单,系统进行审核通过后,告知学生选课结果。教师可以查询本人任教课程的选课名单。 请使用分层数据流图描述选课系统的功能。2、某运动会管理系统的功能为:接受来自运动员的报名单,生成运动员号码单发送给运动员,产生参赛人员报表发送给裁判。接受来自裁判的比赛项目及成绩,产生比赛结果发送给发布台。 请用分层数据流图表示上述系统的功能。四、软件测试1.软件测试基础(1) 软件测试的含义和目的?(2) 测试用例的内容(输入数据、预期输出结果)?(3) 主要测试方法(黑盒测试、白盒测试)的含义? 2主要的白
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习 提纲 12
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内