864软件工程导论考试大纲
864软件工程

西安理工大学计算机科学与工程学院硕士研究生入学考试课程《软件工程》考试大纲第一部分考试说明一、考试目的《软件工程》是计算机各专业的核心课程。
考核目的是测试软件工程及相近各专业的本科毕业生对于该课程的知识掌握程度,以保证被录取者具有本学科基本的专业理论基础及软件需求定义、设计、开发的工程化基本能力,并方便软件工程学科及相近学科的导师择优选拔硕士研究生。
考试对象为参加全国硕士研究生入学考试的本科毕业生和具有同等学力的在职人员。
二、考试范围考试范围涵盖软件工程相关的基本概念、过程模型,以及利用结构化方法、面向对象方法对软件系统进行可行性分析、需求定义、设计、实现、测试、维护、质量保证的基本技能、方法及工具。
三、考试形式与试卷结构1.答卷方式:闭卷,笔试。
2.答题时间:180 分钟。
3.考查内容及其考查比例基本概念、基本知识、基本方法约占60%~70%;综合应用约占40%~30%。
4.试卷结构与考试题型试卷共150分,可能包含的基本题型有:(1)填空题;(2)名词解释;(3)选择题;(4)简答题;(5)论述题;(6)综合设计应用题。
四、教材和参考书教材: 《软件工程导论》(第6版),张海藩编著,清华大学出版社,2013.8第二部分考查要点1.软件工程学基本概念和术语●掌握软件工程、软件特征、软件工程方法学的基本概念;●掌握软件过程瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RUP模型、敏捷过程,以及各个模型的优缺点与适应场合。
●理解软件危机产生的原因,消除软件危机的途径,认知软件工程的基本原理;●了解2014年2月IEEE计算机协会发布的软件工程知识体系SWEBOK V3中所涉及的15个知识域,以及软件工程所涉及的相关学科。
2.可行性研究与分析●深入理解软件系统可行性分析的目的与任务,熟知应从哪些方面进行可行性研究与分析;●掌握数据流图(DFD)的基本符号、分层细化原则及数据字典的内容,并能运用数据流图与数据字典描述实际软件系统。
软件工程导论期末复习大纲

软件工程导论期末复习大纲第一章软件工程概述〔软件=程序+数据+文档〕1.软件危机:定义:电脑软件的开发和维护过程中所遇到的一系列严重问题。
表现:软件开发的成本和进度估计常常不准确;用户对“已完成的”软件系统不满意的现象经常发生;软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件产品供不应求,跟不上电脑普及速度。
产生原因:与软件本身的特点;与关软件开发与维护的方法不正确有关。
解决方法:消除各自为阵的理念;使用在实践中总结出来的成功的经验,探索更有效地技术和方法;开发和使用更好的软件工具。
2.软件工程:定义:指导电脑软件开发和维护的一门工程学科。
七条基本原理:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组的人员应该少而精;承认不断改良软件工程实践的必要性。
3.软件工程方法学:定义:通常把在软件生命周期全过程中使用的一整套技术方法的集合。
两种方法学:传统方法学、面向对象方法学。
优点传统方法学:把软件生命周期划分成假设干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,降低了整个软件开发过程的困难程度;在每个阶段都采用科学的管理技术和良好的技术方法,每个阶段都从技术和管理两个方面进行严格审查,保证软件的质量;提高了软件的可维护性,提高开发成功率。
面向对象方法学:符合人们通常的思维方式,提高了软件的可理解性;对象是相对独立的实体,重用性好;可维护性好。
三种要素:方法、工具、过程。
4.软件生命周期:软件定义〔系统分析〕:问题定义、可行性研究、需求分析;软件开发:总体设计+详细设计〔——系统设计〕、编码和单元测试、+测试〔——系统实现〕;运行维护:软件维护。
5.软件过程:生命周期模型:瀑布模型快速原型模型增量模型螺旋模型喷泉模型 RUP模型优点瀑布模型:可强迫开发人员采用标准的方法,严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证;它基本上是一种文档驱动的模型。
中国科学院大学2020考研大纲:864程序设计

中国科学院大学2020考研大纲:864程序设计考研大纲频道为大家提供中国科学院大学2019考研大纲:864程序设计,本《程序设计》考试大纲适用于中国科学院大学计算机科学与技术类的硕士研究生入学考试更多考研资讯请关注我们网站的更新!中国科学院大学2019考研大纲:864程序设计本《程序设计》考试大纲适用于中国科学院大学计算机科学与技术类的硕士研究生入学考试。
程序设计是计算机科学与技术及相关学科的重要基础,主要内容包括数据结构和C程序设计两大部分。
要求考生对计算机科学与技术及相关学科的基本概念有较深入、系统的理解,掌握各种数据结构的定义和实现算法,对C语言的基本知识有较深入的了解,掌握程序设计的基本方法,并具有综合运用所学知识分析问题和解决问题的能力。
一、考试内容数据结构1、绪论(1)数据结构的基本概念,数据的逻辑结构、存储结构。
(2)算法的定义、算法的基本特性以及算法分析的基本概念。
2、线性表(1)线性关系、线性表的定义,线性表的基本操作。
(2)线性表的顺序存储结构与链式存储结构(包括单链表、循环链表和双向链表)的构造原理。
在以上两种存储结构上对线性表实施的最主要的操作(包括三种链表的建立、插入和删除、检索等)的算法设计。
3、堆栈与队列(1)堆栈与队列的基本概念、基本操作。
(2)堆栈与队列的顺序存储结构与链式存储结构的构造原理。
(3)在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作对应的算法设计。
4、串(1)串的基本概念、串的基本操作和存储结构。
(2)串的模式匹配算法和改进的KMP算法5、数组和广义表(1)数组的概念、多维数组的实现(2)对称矩阵和稀疏矩阵的压缩存储(3)广义表的基本概念6、树与二叉树(1)树的定义和性质(2)二叉树的概念、性质和实现(3)遍历二叉树和线索二叉树(4)树和森林(5)赫夫曼树及其应用(6)树的计数7、图(1)图的定义,基本概念,图的分类,常用名词术语。
(2)图的邻接矩阵存储方法、邻接表存储方法的构造原理。
《软件工程导论》期末考试试题和答案(整理)

得分评卷人一、填空题1.软件生计周期一般可分为 __问题定义 __、可行性研究、 _需求剖析 _____、设计编码、 __ 测试 ________、运转与保护阶段。
2.按软件的功能进行区分,软件能够区分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和决断。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常有的软件纲要设计方法有 3 大类:以数据流图为基础结构模块结构的___结构化设计方法 _________,以数据结构为基础结构模块的__jackson 方法 __________ ,以对象、类、继承和通讯为基础的 __面向对象设计方法 __________。
6.__数据流图 ________和 __数据词典 ___共同组成系统的逻辑模型。
7.软件测试的方法有 __剖析方法 ________和 ___非剖析方法 _______(即黑盒法)。
8.单元测试一般以 ___白盒 _____________测试为主, ___黑盒 ______测试为辅。
9.成本预计方法主要有 __自底向上预计 ________、_自顶向下预计 _________和算法模型预计三种种类。
得分评卷人二、单项选择题1.以下哪个阶段不属于软件生计周期的三大阶段(C)。
A 、计划阶段B 、开发阶段C、编码阶段 D 、保护阶段2.需求剖析是( A)。
A、软件开发工作的基础B、软件生计周期的开始C、由系统剖析员独自达成的D、由用户自己独自达成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法对比较,更需要( B)。
A、明确的需求定义B、完好的生命周期C、较长的开发时间D、娴熟的开发人员4.软件保护时,对测试阶段未发现的错误进行测试、诊疗、定位、纠错,直至改正的回归测试过程称为(A)。
A 、更正性保护B、适应性保护C、完美性保护D、预防性保护5. 一般说来,投入运转的软件系统中有错误(A)。
中科院864程序设计考研大纲

中国科学院大学硕士研究生入学考试《程序设计》考试大纲本《程序设计》考试大纲适用于中国科学院大学计算机科学与技术类的硕士研究生入学考试。
程序设计是计算机科学与技术及相关学科的重要基础,主要内容包括数据结构和C 程序设计两大部分。
要求考生对计算机科学与技术及相关学科的基本概念有较深入、系统的理解,掌握各种数据结构的定义和实现算法,对C语言的基本知识有较深入的了解,掌握程序设计的基本方法,并具有综合运用所学知识分析问题和解决问题的能力。
一、考试内容数据结构1、绪论(1)数据结构的基本概念,数据的逻辑结构、存储结构。
(2)算法的定义、算法的基本特性以及算法分析的基本概念。
2、线性表(1)线性关系、线性表的定义,线性表的基本操作。
(2)线性表的顺序存储结构与链式存储结构(包括单链表、循环链表和双向链表)的构造原理。
在以上两种存储结构上对线性表实施的最主要的操作(包括三种链表的建立、插入和删除、检索等)的算法设计。
3、堆栈与队列(1)堆栈与队列的基本概念、基本操作。
(2)堆栈与队列的顺序存储结构与链式存储结构的构造原理。
(3)在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作对应的算法设计。
4、串(1)串的基本概念、串的基本操作和存储结构。
(2)串的模式匹配算法和改进的KMP算法5、数组和广义表(1)数组的概念、多维数组的实现(2)对称矩阵和稀疏矩阵的压缩存储(3)广义表的基本概念6、树与二叉树(1)树的定义和性质(2)二叉树的概念、性质和实现(3)遍历二叉树和线索二叉树(4)树和森林(5)赫夫曼树及其应用(6)树的计数7、图(1)图的定义,基本概念,图的分类,常用名词术语。
(2)图的邻接矩阵存储方法、邻接表存储方法的构造原理。
(3)图的遍历操作。
(4)最小生成树,最短路径,AOV网与拓扑排序。
8、文件及查找(1)数据文件的基本概念和基本术语,数据文件的基本操作。
(2)顺序文件、索引文件、散列(Hash)文件。
软件工程考试大纲

软件工程》考试大纲一、课程性质与设置目的(-)主要参考书及题型1. 主要参考书《软件工程导论》(第五版),清华大学出版社,张海藩著2.题型及分数比例选择题 20%填空题 20%名词解释 15%论述题 45%(二)课程性质和特点软件工程是农业信息化专业的一门重要课程,主要讲述建造软件系统的方法、技术、流程、工具、规范等,本课程的任务是使应考者掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。
本课程是一门实践性很强的课程,它是各种软件开发经验的总结与提炼,应考者不但应注重概念、原理、方法、技术的掌握,也应注重方法、技术的实际应用。
(三)课程的基本要求1.从总体上了解软件工程的产生、软件生产发展史、软件生存周期、各种方法和生存周期模型、软件工程面临的问题。
2.系统掌握软件开发最基本的内容:可行性研究和软件计划、需求分析、概要设计、详细设计、编码、测试、维护,系统掌握这些阶段的目标、任务、特点、步骤和文档。
3.掌握增量模型的基本内容、基本思想、运行机制、开发过程和步骤。
4.掌握结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则,能够应用相应的图形表示工具开发小型软件项目。
5.初步掌握面向对象方法的基本思想、基本概念、基本模型,面向对象分析、面向对象设计、面向对象实现的任务、内容和步骤,能够应用相应的图形工具。
6.了解Jackson方法的基本思想、开发过程和步骤、能够应用相应的图形表示工具。
7.了解软件工程的质量保证中的各种基本概念和方法,了解软件工程管理中的思想和方法,了解软件开发环境与工具。
要求切实掌握课程内容的基本思想、基本概念、基本方法,能够应用相应的图形表示工具进行小型项目的开发,特别是实用方法与技术的应用。
二、课程内容与考核目标第1章绪论第1节软件工程的产生1.软件的特点。
中国科学院大学考研大纲:864程序设计
考研大纲频道为大家提供(tígōng)中国科学院大学2022考研大纲:864程序设计,本?程序设计?考试大纲适用于中国科学院大学计算机科学与技术类的硕士研究生入学考试更多考研资讯请关注我们网站的更新!中国科学院大学2022考研(kǎo yán)大纲:864程序设计本?程序设计?考试大纲适用于中国科学院大学计算机科学与技术类的硕士研究生入学考试。
程序设计是计算机科学与技术及相关学科的重要根底,主要(zhǔyào)内容包括数据构造和C程序设计两大部分。
要求考生对计算机科学与技术及相关学科的根本概念有较深化、系统的理解,掌握各种数据构造的定义和实现算法,对C语言的根本知识有较深化的理解,掌握程序设计的根本方法,并具有综合运用所学知识分析问题和解决问题的才能。
一、考试内容数据构造(shù jù jiéɡòu)1、绪论(xùlùn)(1)数据构造的根本概念,数据的逻辑构造、存储构造。
(2)算法的定义、算法的根本特性以及算法分析的根本概念。
2、线性表(1)线性关系、线性表的定义,线性表的根本操作。
(2)线性表的顺序存储构造与链式存储构造(包括单链表、循环链表和双向链表)的构造原理。
在以上两种存储构造上对线性表施行的最主要的操作(包括三种链表的建立、插入和删除、检索等)的算法设计。
3、堆栈与队列(1)堆栈与队列的根本概念、根本操作。
(2)堆栈与队列的顺序存储构造与链式存储构造的构造原理。
(3)在不同存储构造的根底上对堆栈与队列施行插入与删除等根本操作对应的算法设计。
4、串(1)串的根本概念、串的根本操作和存储构造。
(2)串的形式匹配算法和改良的KMP算法5、数组和广义表(1)数组的概念、多维数组的实现(2)对称矩阵和稀疏矩阵的压缩存储(3)广义表的根本概念6、树与二叉树(1)树的定义和性质(2)二叉树的概念、性质和实现(3)遍历二叉树和线索二叉树(4)树和森林(5)赫夫曼树及其应用(yìngyòng)(6)树的计数(jì shù)7、图(1)图的定义(dìngyì),根本概念,图的分类,常用名词术语。
软件工程导论提纲
软件工程导论提纲一、所有的“课件内容”都在考核范围:以课件内容为主。
不要死记硬背,理解的基础上自由表达;基本的概念,也需要背记一些的。
二、数学的重要性数学既是一种文化、一种“思想的体操”,更是现代理性文化的核心数学是工具、是科学的仆人数学对于思维的逻辑严密性有较强的要求,学习数学有益于提高人们的分析问题能力与思辨能力数学修养对于一般科技工作者,甚至经营管理者、决策者都很重要数学文化是一种真正创新的文化三、思维1、什么是思维、抽象思维、计算思维、哪些问题是计算思维思维(思维方式)思维方式是看待事物的角度、方式和方法,它对人们的言行起决定性作用抽象思维是人们在认识活动中运用概念、推理、判断、直觉等思维形式,对客观现实进行间接的、概括的反映的过程。
又称逻辑思维计算思维运用计算机科学的基础概念进行问题求解,系统设计,以及人类行为的理解等涵盖计算机科学之广泛性的一系列思维活动。
计算思维若干例:a)计算机科学是关于什么的科学?计算与计算机b)计算机怎么计算?算法与数据结构c)人如何指挥计算机进行计算?程序设计语言d)计算机解决问题有没有通用的方法?算法策略e)是计算机出错还是人出错?算法正确性f)什么是计算机解题的“代价”?算法的时空复杂度2、对问题的理解、解决问题的思维、问题表达的能力问题:就是理想状态和现实状态之间的差别解决问题的思维:把单一思维模式切换成多重思维模式(问题到底是什么?找到问题所属的层面。
注意你所表达的含义。
)搞清楚问题所在,表述问题是其中之一3、科学的定义、什么是自然科学、人文科学、社会科学什么是科学?【汉语词典】如实反映自然、社会、思维等的客观规律的知识体系【达尔文】科学就是整理事实、从中发现规律并做出结论【爱因斯坦】设法对人们杂乱无章的感觉经验加以整理,使之符合逻辑一致的思想体系自然科学以自然界为主要研究对象,运用实证、理性、和臻美(即到达完美之意)等方法,揭示自然的奥妙,获取自然的真知人文科学以人类作为主要研究对象,运用实地考察、诠释和启示等方法,认识人、人性、人生的意义,提升人的精神素质和思想境界社会科学以社会领域为主要研究对象,运用调查、统计、归纳等方法,把握社会规律、解决社会问题、促进社会进步4、学科的定义、计算机学科、ACM、IEEE学科a)指高等学校中讲授或研究知识的分科,b)它是高校教学和科研的细胞组织计算机学科Discipline研究计算机的设计与制造以及利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科。
软件工程导论期末复习提纲(精)
第一章绪论软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
软件工程:是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是两个问题:1. 如何开发软件,怎样满足对软件的日益增长的需求。
2. 如何维护数量不断膨胀的已有软件。
主要表现:1. 对软件开发成本和进度的估计不准确2. 用户不满意3. 软件质量不高、可靠性差4. 软件常常不可维护、错误难以改正5. 缺乏适当的文档资料6. 软件成本占系统总成本的比例逐年上升7. 软件开发速度跟不上计算机发展速度产生软件危机的原因1. 与软件本身的特点有关:软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。
因此,管理和控制软件开发过程相当困难。
2. 软件不易于维护:(1软件维护通常意味着改正或修改原来的设计,客观上使软件较难维护。
(2软件不同于一般程序,它的规模大,不易于维护。
3. 在软件开发过程中,或多或少地采用了错误的方法和技术。
4. 对用户需求没有完整准确的认识,就匆忙着手编写程序。
解决软件危机的途径:⑴研制新一代体系结构的智能计算机,以改变软件的实现方式,降低软件的复杂性。
目前尚未研制成功。
⑵采用工程化、规范化的开发方法来指导软件的开发:这就是产生“软件工程学”的背景,并在70年代形成了结构化分析、设计方法。
⑶在求解方法上采用面向对象的软件设计方法。
即在软件开发中,以客观世界的问题空间入手进行软件设计,以减少求解方法空间与客观世界问题空间存在的“鸿沟”。
“生命周期法”的起源:软件工程采用的“生命周期法”,就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后再逐步完成每个阶段的任务.生命周期划分的原则:任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。
《软件工程》复习大纲
《软件⼯程》复习⼤纲第⼀章1.软件:是能够完成预定功能和性能的可执⾏的计算机程序。
包括使程序正常执⾏所需的数据,以及有关描述程序操作和使⽤的⽂档。
即:软件= 程序+ ⽂档2.软件的特征:软件的开发不同于硬件设计、不同于硬件制造、不同于硬件维修。
3.软件危机出现的原因:软件维护费⽤的急剧上升,直接威胁计算机应⽤的扩⼤;4.软件⽣产技术进步缓慢,是家居软件危机的重要原因。
5.软件⼯程学的范畴:软件开发技术(软件开发⽅法学、软件⼯具、软件⼯程环境)、软件⼯程管理(软件管理学、软件经济学、度量学)。
6.软件⼯程:是指导计算机软件开发和维护的⼯程学科。
它采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,⽬的是为了实现按照预期的进度和经费完成软件⽣产计划,同时提⾼软件的⽣产率和可靠性。
7.软件的发展:⼤体经历了程序、软件、软件产品3个阶段。
8.⼯具和⽅法是软件开发技术的两⼤⽀柱。
9.三种编程范型:过程式编程范型、⾯向对象编程范型、基于构件技术的编程范型。
10.三代软件⼯程:①传统软件⼯程②⾯向对象软件⼯程③基于构件的软件⼯程。
第⼆章1.软件⽣存周期:计划、开发、运⾏3个时期。
2.软件⽣存周期的主要活动:需求分析—》软件分析—》软件设计—》编码测试—》软件测试—》运⾏维护注:需求分析(⽤户视⾓):功能需求、性能需求、环境约束、外部接⼝描述。
软件分析(开发⼈员视⾓):建⽴与需求模型⼀致的,与实现⽆关的软件分析模型。
软件设计:总体设计/概要设计、详细设计(确定软件的数据结构和操作)。
单元测试通常与编码同时进⾏。
软件测试:单元测试、集成测试、系统测试。
3.软件过程:围绕软件开发所进⾏的⼀系列活动。
4.瀑布模型是⼀种基于软件⽣存周期的线性开发模型。
5.瀑布模型特点:阶段间的顺序性和依赖性、推迟实现的观点、保证质量的观点。
6.瀑布模型存在的问题:只有在需求分析准确的前提下,才能得到预期的结果。
7.常见的演化模型(渐增式、迭代式):增量模型、螺旋模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江西师范大学硕士研究生入学考试初试科目
考试大纲
科目代码、名称: 864 软件工程导论
适用专业: 083500 软件工程
一、考试形式与试卷结构
(一)试卷满分及考试时间
本试卷满分为150分,考试时间为180分钟。
(二)答题方式
答题方式为闭卷、笔试。
试卷由试题和答题纸组成;答案必须写在答题纸相应的位置上。
(三)试卷内容结构
单项选择题:10小题,每小题3分,共30分
简答题: 5小题,每小题8分,共40分
分析设计题:5小题,共80分
二、考查目标(复习要求)
软件工程专业学术型研究生入学考试科目为《软件工程导论》,该科目要求考生系统掌握本课程的基本知识、基础理论和基本方法,并能运用相关理论和方法分析、解决软件工程中的实际问题。
三、考查范围或考试内容概要
第1章软件工程学概述
1.软件危机
2.软件工程
3.软件生命周期
4.软件过程
第2章可行性研究
1.可行性研究的任务
2.可行性研究过程
3.系统流程图
4.数据流图
5.数据字典
6.成本/效益分析
第3章需求分析
1.需求分析的任务
2.与用户沟通获取需求的方法
3.分析建模与规格说明
4.状态转换图
5.验证软件需求
第4章总体设计
1.设计过程
2.设计原理
3.启发规则
4.描绘软件结构的图形工具
5.面向数据流的设计方法
第5章详细设计
1.结构程序设计
2.人机界面设计
3.过程设计的工具
4.面向数据结构的设计方法
5.程序复杂程度的定量计算
第6章实现
1.编码
2.软件测试基础
3.软件测试过程
单元测试,集成测试,确认测试3.软件测试技术
白盒测试技术,黑盒测试技术4.调试
第7章维护
1.软件维护的定义
2.软件维护的特点
3.软件维护的过程
4.软件的可维护性
第8章面向对象方法学
1.面向对象建模
对象模型,动态模型,功能模型
2.面向对象分析
面向对象分析的基本过程,建立对象模型,建立动态模型,建立功能模型
3.面向对象设计
面向对象设计的准则,启发规则,软件重用,设计与优化
4.面向对象实现
程序设计语言,程序设计风格,测试策略
第9章软件项目管理
1.估算软件规模
2.工作量估算
3.进度计划
4.人员组织
5.质量保证
6.软件配置管理
7.能力成熟度模型
参考教材或主要参考书:
张海藩.软件工程导论(第五版).北京:清华大学出版社,2008
四、样卷
一.单项选择题(本大题共10小题,每小题3分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.在需求分析阶段,分析员需要从用户那里解决的最重要的问题是
A.要让软件做什么B.要给该软件提供哪些信息
C.要求软件工作效率如何D.要让软件具有什么样的结构
2.在结构化分析方法中,用以表达系统内数据的流动和处理情况的工具是A.数据流图B.数据字典
C.结构化英语D.判定表与判定树
3.结构化设计(SD)方法提出的模块结构质量的最终目标是
A.块间联系大,块内联系大B.块间联系大,块内联系小【】【】【】
C .块间联系小,块内联系大
D .块间联系小,块内联系小
4.在软件设计过程中,用于表示模块间调用关系的图形工具是 A .PAD 图 B .SC 图
C .HIPO 图
D .N-S 图
5.模块的独立性可以由以下哪个标准度量
A .模块的复杂性
B .模块的大小
C .模块的参数
D .内聚和耦合
6.路径测试法是借助于以下哪个工具设计测试用例的一种白盒测试方法。
A .程序图 B .程序流程图
C .数据流图
D .软件结构图
7.软件维护绝不仅限于纠正使用过程中发现的错误,事实上在全部维护活动中一半以上是以下哪种维护。
A.改正性维护 B .适应性维护
C .完善性维护
D .预防性维护 8.在软件开发中,软件运行环境的要求应在哪个文档中得到阐明。
A.可行性研究报告 B .软件需求规格说明
C .总体设计说明
D .详细设计说明
9.为适应软件运行环境的变化而修改软件的活动称为
A .纠错性维护
B .适应性维护
C .改善性维护
D .预防性维护
10.动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。
面向对象方法中,常用以下哪种方法实现。
A .状态图 B .交互图
C .活动图
D .以上全部
二.简答题(本大题共5小题, 每小题8分,共40分)
1.什么是软件危机?它有哪些典型表现?为什么会出现软件危机?
2.简述可行性研究的必要性,应该从哪些方面研究目标系统的可行性?
3.为什么要进行需求分析?通常对软件系统有哪些需求?
4.什么是黑盒测试?黑盒测试常用的技术有哪些?(至少列举3种)
5.良好的面向对象程序设计风格主要有哪些准则?
三.分析设计题 (本大题共5小题,共80分)
1.(15分)银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员录入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并设计出对应的软件结构图。
【 】 【 】
【 】
【 】 【 】 【 】
【 】
2.(15分)试画出以下程序流程图对应的程序图,并计算其程序复杂度。
3.(15分)某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。
如果交易总金额少于1000元,则基本手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%,再加134元。
当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。
当每股售价在14元到25元之间
时,附加手续费为基本手续费的2%,除非交易股数不是
100的倍数,在这种情况下附加手续
费为基本手续费的6%。
当每股售价超过25元之间时,如果交易的股数零散(即,不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。
要求:(1)用判定表表示手续费的计算方法
(2)用判定树表示手续费的计算方法
4.(15分)根据下图试设计(1)语句覆盖测试用例(2)路径覆盖测试用例。
5.(20分)试建立一所学校的对象模型。
学校由若干院系构成,每个院系有若干名学生和教师,其中学生区分本科生和研究生。