2011王立福的软件工程课件(自学考试)
- 格式:ppt
- 大小:3.53 MB
- 文档页数:255
湖北省高等教育自学考试实践(技能)课程大纲课程名称:软件工程课程代码:02334一、实践能力的培养目标加深对软件工程课程基础理论、基本知识的理解,提高分析和解决问题的能力,培养学生严谨的工作作风和实事求是的科学态度,使学生熟悉软件工程的规范、项目管理和团队协作开发,为后继的毕业设计和未来的科学研究及软件开发的实际工作打下良好的基础。
二、实践(技能)课程教学基本要求。
(含学时、学分要求)32学时,1学分具体要求如下:第1章概论(1学时)要求:(1)了解软件开发的本质(2)了解软件、软件工程、模型等基本概念第2章软件需求与软件需求规格(2学时)要求:(1)了解软件需求和需求规格的基本概念;(2)掌握需求和需求规格的基本特征;(3)掌握需求发现的基本技术和表达规约需求的基本手段;(4)针对一个小型简单的系统,运用合适的需求发现技术,按一定要求的规格说明格式,给出该系统的需求规约第3章结构化方法(5学时)要求:(1)掌握结构化分析方法并能运用该方法给出小型简单系统的功能模型;(2)掌握结构化设计方法,并基于功能模型给出系统的总体设计;(3)能应用详细设计工具给出若干模块的详细设计。
第4章面向对象方法UML(5学时)要求:掌握在创建系统/产品模型中用于表达信息的基本术以及用于表达模型的用况图、类图、顺序图和状态图。
第5章面向对象方法-RUP(5学时)要求:(1)掌握在创建系统/产品需求获取模型、需求分析模型和设计模型中的基本活动和任务,并能运用RUP建立小型简单系统的用况模型、需求分析模型,。
(2)了解RUP设计模型的基本结构以及在设计中如何处理共性的非功能需求第6章软件测试(5学时)要求:(1)掌握三种软件测试技术(2)针对小型简单系统创建系统的事物流测试模型(3)针对一个特定的软件模块,运用白盒法测试技术,创建该模块的被测试对象模型,并给出相应的测试用例(4)针对一个简单的程序,运用等价类划分技术创建其测试模型并给出相应的测试用例第7章软件生成周期过程管理(5学时)要求:(1)了解围绕软件开发所需的过程、活动和任务(2)基本掌握一个软件项目的过程规划和监控(3)针对一个小型简单系统的开发,建成该项目的生存周期过程第8章集成化能力成熟度模型(CMMI)(4学时)要求:掌握过程改善所基于的基本思想,针对开发的CMMI有关“最佳实践”的组织以及两种过程改善的路劲– 能力等级和成熟度等级。
《软件工程》串讲讲义应考指导一、课程介绍1、课程性质《软件工程》是全国高等教育自学考试计算机及应用(独立本科段)的一门专业课。
软件工程是研究软件开发的一门课程,其主要容包括:软件开发所需要的过程、活动和任务,以及这些活动和任务的组织、实施和管理。
2、指定教材本课程指定教材为《软件工程》,全国高等教育自学考试指导委员会组编,王立福主编,机械工业出版,2011年版。
新版教材与2000年版相比,无论是容还是容的组织,都有了很大的变化。
整个知识体系、章节安排、容选取都不一样,这是考生一定要注意的。
新版教材的容组织特点主要体现在:基于对软件开发本质的认识,讲解软件工程的两大技术问题:一是开发逻辑,二是开发途径。
开发逻辑涉及软件生存周期过程、软件生存周期模型(有关过程、活动和任务的组织框架)以及项目软件生存周期的规划与监控。
开发途径涉及结构化方法和面向对象方法,以及支持软件评估所需要的软件测试技术等。
3、章节体系本课程共有8章:第1章:回答什么是软件开发的本质第2章:软件需求与软件需求规约第3章:结构化方法第4章:面向对象方法-UML第5章:面向对象方法-RUP第6章:软件测试。
第7章:软件生存周期过程及管理第8章:集成化能力成熟度模型CMMI二、考情分析1.历年真题的分布情况由于教材刚刚经过改版,新教材刚经过2011年10月、2012年01月、2012年10月三次考试。
通过对2011年10月、2012年01月这两次真题的分析,各章所占分值的分布情况如下表所示:25%左右。
第1章和第8章的考核知识点相对较少。
2.题型分析本课程的考试题型分为:(1)单项选择题,共15小题,每小题2分,共30分(2)填空题,共20个空,每空1分,共20分(3)简答题,共6小题,每小题5分,共30分(4)综合应用题,共2题,每题10分,共20分3.复习方法(1)以教学大纲为准绳。
自学考试的原则是:考试围既不超出大纲又不超出教材围。
重庆工商大学试卷《软件工程》课程第B套考试题参考答案与评分细则一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2分,错误不得分,共40分)1 C 2.B 3. C 4.C 5.C 6.A 7.B 8.C 9.B 10.D 11.B 12.A 13.A 14.D 15.C16.D 17.B 18.D 19.B 20.B二、填空题(每空1分,错误不得分,共10分)。
1.数据加工 2.动态 3. 白盒测试法(或白盒法) 4. OOD(或面向对象设计)5方法.6.类7.设计说明书8. 高内聚和低耦合9. 编码副作用10. 可行性分析三、判断题(正确划√否则划Χ每小题1分,错误不得分,共10分)1.Χ 2.Χ 3.√ 4.Χ 5.√ 6. √ 7. Χ 8. Χ 9. Χ 10. √四、简答题,共15分。
1.什么是模块独立性?模块分解最终目的是什么? (4分)所谓模块的独立性,是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。
即功能专一,模块之间无过多的相互作用的模块。
模块分解最终目的就是提高块内联系,降低块间联系。
模块化的目的是将系统“分而治之”,模块化能够降低问题的复杂性,使软件结构清晰,易阅读、易理解,易于测试和调试,因而也有助于提高软件的可靠性。
2.UML有什么特点?(5分,给出要点就可以了,可以不阐述)(1) 统一标准UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示,有利于面向对象方法的应用和发展。
(2) 面向对象UML还吸取了面向对象技术领域中其它流派的精华,集合面向对象技术的众家之长。
删除了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。
(3) 可视化、表示能力强系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。
自考2011王立福软件第4章:面向对象方法---UML4.1UML术语表4.1.1表达客观事物的术语1.类和对象2.接口3.协作4.用况5.主动类6.构件7.制品4.1.2表达关系的术语关联泛化细化依赖4.1.3表达组合信息的术语---包4.2UML的模型表达格式类图用况图状态图顺序图4.3本章小结4.4习题1.解释一下术语,并举例说明(1)类及其属性和操作类是一组具有相同属性、操作、关系和语义的对象的描述。
类的属性是类的一个命名特征,该特征是有该类的所有对象所共享、用于表达对象状态的数据(2)接口接口是操作的一个集合,其中每个操作描述的类、构件或子系统的一个服务(3)关联及其链关联是类目之间的一种结构关系,是对一组既有相同结构、相同链的描述链是对象之间具有特定语义关系的描述(4)泛化泛化是一般性类目(称为超类或父类)和它的较为特殊类目(称为子类)之间的一种关系,有时称为“is a kind of”关系(5)聚合聚合是关联的一种特殊形式,表达的是一种“整体/部分”关系(6)依赖依赖是一种使用关系,用于描述一个类目使用另一个类目的信息和服务2.简要回答以下问题(1)为了表达客观事物,UML给出了那些基本术语?为了支持抽象分析和设计中的事物,UML给出了8个基本术语,即类、接口、协作、用况、主动类、构建、制品、结点,并给出了这些基本术语的一些变体。
(2)为了表达客观事物之间的关系,UML给出了那些基本术语?这些术语之间是什么关系?关联、泛化、细化和依赖,以及它们的一些变体(3)什么是对象的构成与表示?并举例说明。
类是一组具有相同属性、操作、关系和语义的对象的描述。
对象是类的一个实例。
(4)什么是类图的构成成分?类图是可视化地表达系统表态结构模型的工具,通常xx类、接口、关联、泛化和依赖(5)什么是状态图的构成成分?(6)什么是顺序图的构成成分顺序图是一种交互图,即有一组对象以及按时序组织的对象之间的关系组成,其中还xx这些对象之间所发送的信息(7)如何描述对象之间的关联语义?(8)用况之间有那几种关系?(9)在什么情况下需要建立状态图?状态图用于创建有系统(或系统成分)的行为生存周期模型,表达有关系统(系统成分)的一种动态结构,给出有关系统(系统成分)在生存期间有哪些阶段、每一个阶段可从事的活动以及对外所呈现的特性等方面的信息(10)对象操作和对象状态之间的关系是什么?(11)在一个类的描述中,同时引入“操作”和“方法”的目的是什么?表达模型包之间的关系(12)为什么使用包?如何划分包?(13)使用UML可以从那些角度来刻画一个系统的行为,为什么?(14)在描述客观事物方面,面向对象方法与结构化的方法提取信息的不同角度是什么?各自的角度将对建造的系统模型产生什么影响?(15)比较面向对象方法与结构化方法在控制信息组织复杂性方法所引入的机制?3.理解题(1)类和对象之间的关系,试举例说明。
正确认识软件开发,是从事软件开发实践和软件工程项目管理的思想基础。
1.1软件工程概念的提出与发展1.2软件开发的本质1.解释术语:(1)软件计算机软件一般是指计算机系统中的程序及其文档。
其中,程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料。
(2)软件工程软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对照的学科。
(3)软件危机20世纪60年代以来,随着计算机的广泛应用,软件生产率、软件质量远远满足不了社会发展的需求,称为社会、经济发展的制约因素,人们通常把这一现象称为“软件危机”。
2.简答题:(1)简述软件开发的本质即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
(2)简述实施软件开发的基本途径系统建模:是指运用所掌握的知识,通过抽象,给出该系统的一个结构---系统模型。
因此,模型是一个抽象。
该抽象是在意图确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
(3)简述何谓模型以及软件开发中所涉及的模型模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分与成分之间所具有的特定语义关系,及包含对该系统边界的描述。
所谓模型,简单地说,是待建系统的任意抽象,其中包括所有的基本能力、特性或其他一些方面,而没有任何冗余的细节。
进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内个模型元素以及它们之间关系的语义描述。
在软件来发领域,系统模型分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
软件模型有可进一步分为设计模型、实现模型和部署模型等。
(4)简述软件开发所涉及的两大类技术软件开发所涉及的问题类技术为:一是求解软件开发逻辑,而是求解软件的开发手段。