当前位置:文档之家› 新·软件工程复习大纲

新·软件工程复习大纲

新·软件工程复习大纲
新·软件工程复习大纲

第一章软件工程学概述

1、什么是软件危机?软件危机表现在哪些方面?

2、软件工程是指什么?软件工程的性质是什么?

3、简要叙述软件工程目标和内容。

4、软件工程面临的问题有哪些?

5、什么是软件工程过程?它包含哪些过程?

6、什么是软件生存周期,它包括哪些活动?

7、什么是软件生存周期模型?它有哪些主要模型,各个的含义及适用场合是什么?

8、结构化方法总的指导思想是什么?

9、软件开发的目标是什么?

10、比较阐述软件开发的瀑布模型与原型法模型的特点?并说明面向对象的软件工程方法

的主要特点?

第二章可行性研究

1、可行性研究的任务有哪些?

2、可行性研究包括哪些步骤?

3、可行性研究报告包括哪些主要内容?

4、什么是数据流图?其作用是什么?通过什么完成其细化操作?其中的基本符号各表示

什么含义?

5、什么是数据字典?其作用是什么?它有哪些条目?和数据流图之间有什么关系?

6、建立数据字典的形式是什么?

7、结构化语言的结构由哪些部分组成?

8、什么是结构化分析方法?该方法使用什么描述工具?

第三章需求分析

1、需求分析的定义、基本任务、目标是什么?

2、需求分析方法应遵循的原则是什么?

3、需求分析的难点主要表现在哪些方面?

4、ER图的含义及绘制方法。

5、状态转换图的含义及描制方法。

第五章总体设计

1、模块、模块化的概念?

2、什么是软件总体设计?软件总体设计的基本任务是什么?

3、衡量模块独立的两个标准是什么?它们各表示什么含义?

4、什么是软件结构?结构图的主要内容有哪些?

5、什么是面向数据流的设计方法?它有哪些策略?

6、软件设计的基本原理是什么?

7、画结构图应该注意的事项是什么?

8、什么是耦合性?模块的耦合性有哪些内容?各种耦合性的排列顺序是什么?

9、什么是内聚性?模块的内聚性有哪些内容?各种内聚性的排列顺序是什么?

10、何谓模块独立性?

11、什么是“变换流”?

12、什么是“事务流”?

第六章详细设计

1、软件详细设计的基本任务包括那些?

2、结构化程序设计的定义,进行结构化程序设计的基本要点有哪些?

3、过程设计的工具有哪些?各种工具的实现原理及优缺点是什么?

4、程序流程图的特点有哪些?

5、PDL的特点是什么?有哪些优点?

6、PAD图的特点是什么?

7、用PDL表示的程序结构一般有哪几种?

8、要求能熟悉运用程序流程图、N-S盒图、PAD工具进行程序的描述设计。掌握不好图形

的绘制方法。

第七章实现

1、软件测试的目的是什么?

2、确认测试、集成测试、单元测试、集成测试的定义及其各自的测试对象,及目的是什么?

3、确认测试、集成测试、单元测试的概念是什么?测试的对象分别是什么?

4、集成测试的方法有哪些?

5、什么是静态测试?什么是动态测试?二者的区别是什么?

6、测试与调试的定义是什么,二者的主要区别是什么?

7、什么是黑盒测试?黑盒测试主要采用的技术有哪些?

8、通过黑盒测试主要发现哪些错误?

9、什么是测试用例?动态测试有哪些方法?

10、软件测试过程中需要哪些信息?

11、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?

12、应该是谁来进行确认测试?是软件开发者还是用户,为什么?

13、单元测试有哪些内容?测试中采用什么方法?

14、什么是确认测试?该阶段有哪些工作?

15、非渐增式测试与渐增式测试有什么区别?

16、什么是白盒测试?白盒测试主要采用的技术有哪些?其设计原理是什么?

17、路径测试技术中几种主要覆盖的含义?举例说明?

18、等价分类法的测试技术采用的一般方法?举例说明?

19、掌握根据测试技术进行用例设计的方法。

第八章维护

1、软件的维护的定义是什么?

2、软件维护有哪些内容?

3、软件维护困难的原因是

4、影响软件维护代价的元素有哪些?

5、维护技术的副作用有哪些?

5、什么是非结构化维护?非结构化维护的特点是什么?

6、什么是结构化维护?结构化维护的特点是什么?

7、维护的特点有哪些?

第九章-第十一章面向对象方法学

名词解释:

对象、类、消息、方法、继承性、单重继承、多重继承、多态性、抽象、信息隐蔽、链、关联。

1、试述面向对象方法的开发过程是怎样的?

2、面向对象程序设计语言的优点是什么?

3、简述面向对象系统的特色?

4、简述对象、类、类结构、消息、方法的基本概念。

5、面向对象的定义是什么?特征是什么?

6、功能模型的特征有哪些?

7、继承性和多态性的好处是什么?

8、简述三种面向对象模型的主要功能,以及三者之间的关系。

9、UML中类图、关系的符号表示及含义。

10、用例的定义、用例之间的关系,以及用例图的建模方法。

11、掌握三种面向对象模型建模的方法。

12、掌握Rational Rose建模的方法,包括静态与动态各种模型的建模方法。

13、用例图、类图、状态图、顺序图、活动图的含义及区别是什么?

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件工程专业课程

软件工程专业的课程体系设计
骆 斌 张大良 邵 栋1 210093)
(南京大学软件学院 1、引言
南京市汉口路 22 号
软件工程是指开发、操作和维护软件系统的系统、规范、可度量的方法。从历史上看, 软件工程学科曾是计算机科学的一个分支,但随着软件产业不断发展的需求,传统的计算 机学科逐步上升到计算学科, 2001 年 IEEE 发布的计算学科教学规划把计算学科划分为计算 机科学、计算机工程、软件工程、信息系统、信息技术和其他有待发展的学科等子学科, 标志了软件工程这个名词作为与计算机理论相对应的各种软件实践技术的总称已经得到世 界范围内的公认。 我国在 2001 年底推出了示范性软件学院计划,把我国软件工程专业定位在面向软件产 业培养高素质的工程型软件实用人才。围绕这一定位,软件工程教育应该围绕大型软件开 发过程中的工程方法、关键技术和相关工具展开,在专业教学过程力图使得学生具备科学 世界观,掌握科学方法,具有扎实软件基础,受到良好软件工程训练,熟悉软件应用和工 具,参与过实际项目,拥有较好职业素质。 本文研究软件工程专业的课程体系设计,在研究过程中引入了科学的方法,参照 IEEE CC2001 的成熟做法, 首先明确专业的学科定位和人才培养定位, 然后建立相关的知识体系, 再后确定课程体系,最后确定课程设置和教学计划。 2、软件工程专业的相关知识领域简介 课程体系必须建立在对本专业知识体系的全面研究之上。作为软件工程专业人才培养 的基本依据,我校编写的《复合型软件实用人才的知识体系》定义了基本素质 BAS,计算 机软件基础 CSE,软件工程与软件管理 SEM,数学、工程和职业基础 MEP,软件系统与应 用 SSA,软件工具与产品 STP 等 6 个知识体系子类,并在各子类之下细分为知识领域、知 识单元和知识点三级。为方便讨论课程体系设计,现将与专业相关的 5 个子类的知识领域 简单列举如下: 1)CSE 定义了从事软件工作所应具备的软件专业基础知识,包括离散数学基础 CSE.DS,程序设计与算法基础 CSE.PF,计算机硬件基础 CSE.CH,系统软件基础 CSE.SS, 数据库应用基础 CSE.DB,网络通信基础 CSE.NC 和软件构造技术 CSE.CT 等知识领域。 2)SEM 定义了软件工程与软件管理知识,包括软件模型与分析 SEM.MA,软件设计 SEM.DE,软件检验和有效性验证 SEM.VV,软件演化 SEM.EV,软件过程 SEM.PR,软件 质量 SEM.QA 和软件管理 SEM.MG 等知识领域。 3)MEP 定义从事软件工作所应具备的数学、工程和职业知识,包括软件的数学基础 MEP.MF,软件的工程基础 MEP.EF,软件行业的职业素质 MEP.PP,软件业的外国语能力 MEP.FL 等知识领域。 4)SSA 定义从事某一方面软件工作应具备的专业或领域应用知识,包括网络工程与网 络应用 https://www.doczj.com/doc/7b5372511.html,(计算机网络进阶 AN,分布式计算 DC,多媒体技术 MM) ,嵌入式与实时
1
骆斌,教授,副院长,博士;张大良,教授,副校长,软件学院教学委员会主任;邵栋,讲师。联系邮件, luobin@https://www.doczj.com/doc/7b5372511.html,。

软件工程课程复习大纲

软件工程课程复习大纲 第一章软件工程概论 本章作为全书的概论,主要讲述了软件、软件工程概念和软件开发的目标和本质。 基本要求: 1、“软件”概念: “软件”一词具有三层含义: (1)一为个体含义,即指计算机系统中的程序及其文档; (2)二为整体含义,即指在特定计算机系统中所有上述个体含义下的软件的总称,亦指计算机系统中硬件除外的所有成分; (3)三为学科含义,即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。 2、“软件工程”概念: (1)一方面,软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法、创建软件以达到提高质 量,降低成本的目的; (2)另一方面,软件工程也是一门指导计算机软件开发和维护的工程学科。 3、“模型”概念: 模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及它们之间的语义关系。 重点要求: 1、软件开发的本质:实现问题域中的概念和处理逻辑到运行平台的概念和 处理逻辑的映射。 第二章软件过程 本章围绕软件过程这一主题,讲解了三方面的内容: 一:介绍了软件生存周期过程。按照承担软件开发工作的主体,软件生存周期过程分三类:基本过程、支持过程和组织过程。每类过程又包含一些确定的过程,每一过程又是由一组确定的活动定义的。 二:介绍了几种常用的软件生存模型:瀑布模型、增量模型、演化模型、螺旋模型和喷泉模型等,分析了这些模型的优缺点及它们的适用情况等。 三、讲解了一个软件项目生存周期过程的规划和监控。一个软件项目生 存周期过程规划包括三个阶段:第一阶段的目标是选取一个适合该项目特点

软件工程课程设计

第一章概述 1.1系统名称 学生宿舍管理系统 1.2开发及运行环境 CPU Intel? Core(TM)i5-4210M 内存4GB 硬盘空间30M以上 输入设备键盘鼠标 操作系统windows 8.0 数据库windows sql server 2005 1.3软件开发计划 2017.12.01-2017.12.04 软件需求分析 2017.12.05-2017.12.09 系统结构设计 2017.12.10-2017.12.15 软件编码及数据 库设计实现 2017.12.16-2017-12.20 软件测试 2017.12.21 软件交付

第二章需求分析 目前,各学校的宿舍管理主要依赖于人工管理,学生宿舍相关的各种信息可以通过宿舍管理系统来集中统一管理,方便的宿舍管理员对宿舍的管理,更有利于宿舍安全以及同学们的健康成长。 2.1 任务概述 宿舍管理系统为了方便管理,尽可能的实现操作简单,易学易用,主要实现以下功能: 1)系统要求用户必须输入正确的用户名和密码才能进入系统; 2)系统应该提供学生住宿情况的基本登记; 3)系统应提供人员来访登记及结束访问的详细登记; 4)系统应提供学生在校期间物品出入宿舍楼的详细情况登记; 5)系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询; 6)系统应提供增加、删除、修改用户帐户的功能; 7)增加学生离校的物品管理制度 2.2 宿舍管理系统一层数据流图及数据字典 2.2.1 一层数据流图

图1-1 学生宿舍管理系统一层数据流图 2.2.2 数据字典 以下是图1-1数据流图的数据字典本数据字典主要定义数据4方面内容: 名字:数据元素的名字,作为在数据流图中的标识符, 描述:对名字所代表的数据功能和含义加以描述 定义:对名字所代表的实际构成加以解释 位置:表示数据流的来源 名字:管理员 描述:对宿舍管理系统进行操作的人员

软件工程复习提纲

1.什么是软件? 是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。 附:软件的特征:成本高、风险大、维护困难 2.什么是软件危机,其内容主要是指什么? 原因:1、与软件本身的特点有关;2、与软件开发人员有关; 定义:在计算机软件开发和维护过程中所遇到的一系列严重的问题。 1)对软件开发成本和进度的估计常常不准确。 2)用户对“已完成”系统不满意的现象经常发生。 3)软件产品的质量不可靠。 4)软件的可维护程度非常之低。 5)软件通常没有适当的文档资料。 6)软件的成本不断提高。 7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。 3.什么是软件工程? 开发、运行和维护软件的系统方法 ?软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。 4.软件工程的目标(PP.41 )及其组成部分。方法、工具和过程。 ?软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。 方法: 是指产生某些结果的形式化过程, ?工具: 是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。 ?过程: 生产特定产品的工具和技术的结合 ?软件工程方法学包含3个要素:方法、工具和过程。 5.软件开发方法的定义。 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。 比如SASD方法、面向对象的软件开发方法。 6.好的软件的一些主要衡量指标。例如McCall 的质量模型。 (1)质量,它的衡量:产品的质量、过程的质量、商业环境背景下产品的质量。

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

地方高校软件工程专业课程体系研究

地方高校软件工程专业课程体系研究 摘要:针对大数据时代下地方应用型高校软件工程专业人才培养中课程体系存在的问题,分析了大数据环境对软件工程专业人才的要求。以咸阳师范学院为例,介绍了对传统课程体系进行的调整。一方面调整了整个课程体系的结构,另一方面在理论教学和实践教学中融入了大数据相关理论和技术等内容。通过近年来的探索与实践,该套课程体系可以有效提升学生的创新应用能力,为同类高校软件工程专业的人才培养提供了思路。 关键词:大数据时代;地方应用型高校;软件工程专业;课程体系 0引言 大数据作为继云计算、物联网之后IT行业又一颠覆性的技术,备受人们的关注,大数据技术正从概念转向实际的应用,涌现出越来越多的大数据技术应用成功案例,大数据的价值也在迅速增长。2015年,中国大数据市场规模达到115.9亿元人民币,增速达38%,预计2016~2018年中国大数据市场规模将维持40%左右的高速增长[1]。大数据时代的到来,使得软件行业对人才的应用能力和综合素质提出了更高的要求。咸阳师范学院作为咸阳市地方应用型高校以服务咸阳地区经济社会发展为己任,肩负着培养满足咸阳地方社会需求软件人才的使命,需要把培养面向大数据时代的软件工程专业人才作为战略任务来抓。而课程体系的建设是软件工程专业人才培养体系最重要的一个方面。本文通过分析我院传统软件工程专业课程体系,以及大数据时代下企业对软件工程专业人才要求,找出大数据时代下软件工程专业应用型人才中课程体系存在的问题,探索出我院面向大数据环境的应用型软件工程人才中课程体系的建设。 1我院软件工程专业传统的课程体系 自我院计算机系成立以来,软件工程专业一直是我院重点建设专业。2013年,“‘3+1’校企合作软件人才培养模式创新实验区”被确定为省级人才培养模式创新实验区。一直以来,该专业以培养“厚基础、强能力、高素质”应用型人才的为培养目标,以企业、市场需求为导向,重视实践、技能和应用能力的培养,与尚观科技、中软国际、华清远见、蓝鸥科技等西安多家企业联合,采取3+1嵌入式校企联合教育培养模式,将课程教学、工程实践、行业理念进行无缝结合。课程体系是一个专业所设置的课程相互间的分工与配合[2],主要反映在基础课与专业课,理论课与实践课,必修课与选修课之间的比例关系上[3]。地方应用型本科院校的课程体系设计既要体现基础知识的传授,也要体现实践能力的培养,同时还要考虑学生的职业能力规划发展问题。我院2013-2015级软件工程专业课程体系结构图如图1所示。图12013-2015级软件工程专业课程体系结构图从图1可以看出通识教育必修课程的教学阶段共3个半学年,主要涉及思想政治基础知识、体育、人文历史、外语应用能力等;相关学科基础类课程主要包括高数、线性代数、数字逻辑等数学类课程;本学科基础类课程主要涉及程序设计语言、计算机网络、操作系统、数据结构、计算机组成原理等;专业技能教学阶段强调对学生工程性、实用性、技术性和复合型能力的培养,主要安排专业必修课程和专业选修课程。专业必修课程包括面向对象程序设计、软件工程、数据库原理与应用、软件设计与体系结构、算法分析与设计等,专业选修课程包括Web软件开发、Linux系统应用程序开发、移动终端开发等。根据教育部专业教学指导委员会软件工程行业规范[4],本着“轻理论,重实践”的原则,我院在一定程度上压缩理论课课

软件工程课程教学大纲

《软件工程》课程教学大纲 (Soft Engineering) 课程编号: 学分:3 学时:48 (其中:讲课学时:42 实验学时:上机学时:6 )先修课程:C语言程序设计、数据结构与算法、计算机网络、数据库原理与应用、操作系统 后续课程:面向对象程序设计、信息工程监理、信息系统测评技术、软件工程实训 适用专业:计算机相关专业 开课部门:专业数学教研室 一、课程教学目的和课程性质 《软件工程》是信息与计算机科学专业本科学生的专业选修课,是一门综合性和实践性很强的课程。本课程主要介绍如何把工程化的思想和技术应用于软件系统的开发过程,以及在软件开发过程中必须遵循的基本原理、方法和工程标准。通过教学,使学生对软件生产工程化的具体思想、要求和方法均有较全面的了解, 为今后独立从事软件系统的开发打下相应的工程基础。 二、课程的主要内容及基本要求 第1单元软件工程学概述(3学时) [知识点] 软件的发展过程、软件危机、软件工程及开发方法。 [重点] 软件工程的基本概念、软件工程学的基本内容和软件生命周期中各阶段的基本任务。 [难点] 软件过程模型 [基本要求] 1、识记:软件、软件危机、软件工程、软件工程方法学; 2、领会:软件工程过程模型的定义及其特点; 3、简单应用:软件危机的产生原因; 4、综合应用:解释软件工程产生的原因,结合不同的软件特点对其开发应

当采用的软件过程模型。 [考核要求] 1、软件工程的定义; 2、软件生命周期的定义及其各个开发阶段的任务; 3、软件工程方法学定义及经典软件过程模型。 第2单元可行性研究(5学时) [知识点] 可行性研究的主要内容、任务及研究过程,系统流程图、数据流图、数据字典。 [重点] 系统流程图、数据流图的画法。 [难点] 可行性研究中的上层数据流图的构成方法。 [基本要求] 1、识记:可行性研究的主要内容、任务; 2、领会:如何画出所需的系统流程图; 3、简单应用:分析所需的数据字典并根据数据字典定义方法定义相关词条; 4、综合应用:在可行性研究过程中分析系统流程图,总结其数据字典,画出上层的数据流图。 [考核要求] 1、可行性研究的主要内容、任务; 2、数据流图的定义及画法,能够分析并画出可行性研究中的上层数据流图; 3、数据字典的组成及其符号定义方法。 第3单元需求分析(5学时) [知识点] 需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体—联系图、状态转换图、其他图形工具、数据规范化。 [重点] 实体-联系图的概念及画法、状态转换图的定义及画法和常用图形工具的使用方法。 [难点]

软件工程课程设计要求

软件工程》课程设计 一、目的、要求 通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之处。学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目,题目可参考附录A,也可自行拟定题目,按 照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。分别、选用传统的结构化方法和面向对象的方法,开发环境和工具不限。 三、设计成果要求 1.提交软件系统,根据完成情况给分; 2.提交设计报告文档 设计报告将从以下三个方面给分: (1)报告是否规范,符合要求; (2)报告是否完整、工作量大小; (3)文档逻辑性是否合理、语言是否流畅。 四、进度安排 (1)确定选题,进行可行性分析,开发计划 (2)软件需求分析 (3)软件设计 (4)软件实现,测试计划 (5)软件实现,测试报告 (6)验收

附录A 课程设计题目 题目一:电子商务网站建设 一个集客户购物、下订单、订单处理、销售统计等功能于一体的系统。通过浏览器,创建账户/登陆账户,让客户可以查询货物,把货物放入购物车,创建订单,通过信用卡支付等。系统划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS (企业信息系统)进行交互。功能如下: 1?用户 注册/登陆/忘记密码/管理个人信息 查询货物 购物车管理 提交订单 信用卡支付 查询历史购物记录 2?货物商店 接受/处理订单消息 手工接受/拒绝订单 用E-mail来通知客户 发订单给供应商 销售统计 3.供应商 接受订单 派送货物给用户 提供一个基于web的库存管理 维护库存数据库 题目二:外文图书采购系统 1?问题概述 某图书馆外文采购有两个组--征订组和验收,登记组。分别承担书籍订购和进书验收任务。为了减轻劳动强度和提高工作效率,打算采用计算机进行管理。为此,系统分析员在进行了调查研究,描述出外文采购室现行系流程。 1 )订书组从供书单价收到订书目录,根据各单位的需要选择出要订购的书 目。

软件工程复习资料

1、下列哪一模型是软件的基础模型 A.瀑布模型 B.快速原型 C.增量模型 D.螺旋模型 2、划分软件生存周期的阶段时所应遵循的基本原则是 A.各阶段的任务尽可能相对独立 B.各阶段的任务在时间上连续 C.各阶段的任务尽可能相关性 D.各阶段的任务在时间上相对独立 3、下列哪个办法不属于解决软件危机的途径之一 A.采用软件工程的解决途径 B.研制新一代智能计算机 C.采用面向对象的软件设计方法 D.大力扶持软件企业 4、下列哪个不属于软件工程的内涵之一 A.扶持培养软件高手的学院 B.开发既可靠又能有效运行的软件 C.应用完善的科学与工程原理 D.经济地开发软件 5.造成大型软件开发困难的根本原因在于 A.开发人员缺乏足够的开发经验 B.项目开发进度不合理 C.软件系统的复杂性 D.对软件开发的资金投入不足 6.软件会逐渐退化而不会磨损,其原因在于 A.软件备件很难订购 B.不断的变更使组件接口之间引起错误 C.软件错误在经常使用之后会逐渐增加 D.软件通常暴露在恶劣的环境下 7.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制

9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。 B.软件质量是由产品的功能、性能、易用性等外在特性决定的。 C.运行正确的软件就是高质量的软件。 D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。 11、可行性研究主要包括哪几项? A.技术可行性、经济可行性和操作可行性 B.技术可行性、经济可行性和道德可行性 C.技术可行性、法律可行性和操作可行性 D.技术可行性、操作可行性和法律可行性 12、成本/效益分析的目的是帮助()正确地作出是否投资于这项开发工程的决定。 A.系统分析员 B.客户组织的负责人 C.项目经理 D.软件开发人员 13、在进行成本/效益分析的时候,需要考虑() A.开发成本 B.运行费用 C.系统带来的经济效益 D.系统使用寿命 14、数据流图和数据字典共同定义了新系统的逻辑模型。 A.错 B.正确 15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。 A. 正确 B.错误 16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。 A.正确 B.错误 17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是 A.功能模型 B.数据模型 C.行为模型 D.动态模型 18、下列叙述中,()不属于数据字典的作用。 A.为用户与开发人员之间统一认识 B.为需求分析阶段定义各类条目

软件工程导论课程教学大纲

《软件工程导论》课程教学大纲 一、课程性质、地位和作用 《软件工程导论》是是软件工程专业的专业基础课程,属必修课。 本课程主要讲述建造软件系统的基本方法、技术、流程、工具及规范等。通过学习可以使学生了解软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的基本内容和发展动向;学习用工程化的方法开发软件项目,初步掌握开发过程中应遵循的流程、准则、标准和规范。本门课程为将来从事软件开发学生的软件工程师之路奠定坚实的基础。 二、课程教学对象、目的和要求 本课程适用于软件工程、计算机应用等从事软件开发的本科专业。课程教学目的、要求: (一)从教学内容上,应使学生了解软件工程的基本概念,主要包括软件与软件开发的基本过程,软件危机与软件工程。掌握个人软件开发过程的基本内容和方法,了解软件开发模型及结构化软件设计方法,以及软件质量保证基本内容。(二)从能力方面,应使学生通过对软件工程基本概念和方法的学习和课后练习,培养学生养成规范化个人开发的良好习惯,培养学生按照软件工程的基本过程和方法来设计和开发软件。 (三)从教学方法上,在课堂理论教学中,采用学生可以理解的软件开发素材,通过一边实践一边讲解的方法,讲解软件过程的基本思想和方法,通过学生完成与实践结合的作业,调动学生的积极性,使软件工程的基本思想逐步植根于学生头脑中。 三、相关课程及关系 本课程的先修课程是“C语言程序设计”和“数据结构”等程序设计课程,学习应在学生具有一定的编程能力基础上进行。本课程为后续的“软件制造工程”和“软件设计工程”等课程打下了必要的理论基础。 四、课程内容及学时分配 总学时:32学时 (一)绪论1学时 1、软件工程及其重要性 2、软件开发需要软件工程 3、软件工程课程体系架构(需要什么软件工程) 、课堂的组织、学习方法、章节安排与考核4. 要求学生了解软件工程的起源,软件工程在软件开发中的作用,了解软件工程课程体系。 (二)软件与软件工程4学时 1、软件及软件分类 2、软件工程的由来及概念 3、软件生命周期 4、软件开发与软件开发方法 5、软件工程工具和环境 6、软件开发项目管理介绍

软件工程专业的课程体系设计

中国大学教学2005年第1期 32 软件工程专业的课程体系设计 ●南京大学骆斌张大良邵栋 件工程是指开发、操作和维护软件系统的系统、规 范、可度量的方法。从历史上看,软件工程学科曾 是计算机科学的一个分支,但随着软件产业不断发展的需求,传统的计算机学科逐步上升到计算学科,2001年IEEE 发布的计算学科教学规划把计算学科划分为计算机科学、计算机工程、软件工程、信息系统、信息技术和其他有待发展的学科等子学科,标志了软件工程这个名词作为与计算机理论相对应的各种软件实践技术的总称已经得到世界范围的公认。 我国在2001年底推出了示范性软件学院计划,把我国软件工程专业定位在面向软件产业培养高素质的工程型软件实用人才。围绕这一定位,软件工程教育应该围绕大型软件开发过程中的工程方法、关键技术和相关工具展开,在专业教学过程力图使得学生具备科学世界观,掌握科学方法,具有扎实的软件基础,受到良好的软件工程训练,熟悉软件应用和工具,参与实际项目,拥有较好的职业素质。 本文研究软件工程专业的课程体系设计,在研究过程中引入了科学的方法,参照IEEE CC2001的成熟做法,首先明确专业的学科定位和人才培养定位,然后建立相关的知识体系,确定课程体系,最后确定课程设置和教学计划。 1. 软件工程专业的相关知识领域简介 课程体系必须建立在对本专业知识体系的全面研究之上。作为软件工程专业人才培养的基本依据,我校编写的《复合型软件实用人才的知识体系》定义了基本素质BAS,计算机软件基础CSE,软件工程与软件管理SEM,数学、工程和职业基础MEP,软件系统与应用SSA,软件工具与产品STP6个知识体系子类,并在各子类之下细分为知识领域、知识单元和知识点三级。为方便讨论课程体系设计,现将与专业相关的5个子类的知识领域简单列举如下: (1)CSE定义了从事软件工作所应具备的软件专业基础知识,包括离散数学基础CSE.DS,程序设计与算法基础CSE.PF,计算机硬件基础CSE.CH,系统软件基础CSE.SS,数据库应用基础CSE.DB,网络通信基础CSE.NC 和软件构造技术CSE.CT等知识领域。 (2)SEM定义了软件工程与软件管理知识,包括软件模型与分析SEM.MA,软件设计SEM.DE,软件检验和有效性验证SEM.VV,软件演化SEM.EV,软件过程SEM.PR,软件质量SEM.QA和软件管理SEM.MG等知识领域。 (3)MEP定义了从事软件工作所应具备的数学、工程和职业知识,包括软件的数学基础MEP.MF,软件的工程基础MEP.EF,软件行业的职业素质MEP.PP,软件业的外国语能力MEP.FL等知识领域。 (4)SSA定义了从事某一方面软件工作应具备的专业或领域应用知识,包括网络工程与网络应用https://www.doczj.com/doc/7b5372511.html,(计算机网络进阶AN,分布式计算DC,多媒体技术MM),嵌入式与实时系统SSA.EM,图形软件系统SSA.GH,信息系统SSA.IS(组织和管理GM,系统开发理论SD,智能信息处理IP,ERP系统EP,电子商务系统EC)等领域。毕业生应该深入理解其中至少一个软件应用领域。 (5)STP定义了从事软件工作所应掌握的当前主流软件工具与软件产品,包括硬件,网络设备,PL,OS,DBMS,CASE工具等。 2.软件工程专业的课程体系设计策略 在确定软件工程专业的知识体系之后,紧接着应研究课程体系的设计策略。课程体系设计策略包括课程启动策略、课程组织策略和特色课程设置策略。 课程启动策略主要有:(1)围绕算法设计展开的算法优先策略。(2)自底向上展开的硬件优先策略。(3)从计算机导论展开的广度优先策略。(4)强调编程能力的程序设计优先策略。(5)强调系统使用的命令优先策略。(6)从面向对象展开的对象优先策略。课程组织策略包括:(1)基于主题的组织模式,把知识体系中的每个知识领域组织成一门或几门课程。(2)基于系统的组织模式,把每类计算机软硬件系统设置一门或几门课程。(3)混合模式,在课程设计时不区分前两种方法。特色课程设置策略依据本校的办学特色和研究专长确定。 软件工程专业的课程规划一方面应强调工程性、技术性、实用性、系统性、综合性和复合型,另一方面也要充分认识到强化基础在更快、更好、更有效地解决复杂软件的构造和应用方面起到的关键性作用。因此,对于课程启动策略,传统计算机科学专业的课程启动方式并不适合于本专业,但工程优先策略也不适合于那些没有任何计算机基础的本科生;对于课程组织策略,基于主题的组织模式更多地具有科学研究属性,而基于系统的组织模式又不利于强化基础知识;对于特色课程设置策略,也应避免缺乏全面综合考虑,因人设课,从而造成特色课程系统性差,教学内容重复和遗漏并存。 我院在课程体系设计时认真考虑了上述因素,采用了 软

软件工程教学大纲正式版

软件工程教学大纲正式 版 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

《软件工程导论》课程教学大纲一、课程基本信息 课程编号: 英文名称名:Software Engineering 总学时:54学时 学分:3 课程类别:专业必修课 适用专业:全校本(专)计算机科学与技术 先修课程:数据结构,大学数学,离散数学,计算机算法设计。 二、课程性质与目的、要求 《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程, 本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。 通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。 本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。 三、教学内容及学时分配 本课程的教学内容共分十三章。

软件工程课程设计报告

软件工程课程设计报告样式 山东建筑大学计算机科学与技术学院 课程设计说明书 题目:学校教材订购系统的分析和设计 课程:软件工程 院(部):计算机科学与技术学院 专业:软件测试 班级:软测143 学生姓名:冯岩 学号:20141113088 指导教师:王宜贵 完成日期:

目录 课程设计任务书 (36) 1. 系统概述 (39) 1.1业务流程描述 (39) 1.2 业务流程图..................................................................................... 错误!未定义书签。2.系统需求分析.......................................................................................... 错误!未定义书签。 2.1 系统用例模型.................................................................................. 错误!未定义书签。 2.2 系统类图模型............................................................................ 错误!未定义书签。 2.3 系统顺序图模型........................................................................ 错误!未定义书签。 3. 系统设计.................................................................................................. 错误!未定义书签。 3.1 系统结构设计................................................................................. 错误!未定义书签。 3.2 数据库概念模型设计..................................................................... 错误!未定义书签。 3.3 数据库物理模型设计..................................................................... 错误!未定义书签。 4. 系统详细设计.......................................................................................... 错误!未定义书签。 4.1学校教材订购系统界面设计.......................................................... 错误!未定义书签。 4.2 销售系统处理............................................................................... 错误!未定义书签。 4.3 输入设计....................................................................................... 错误!未定义书签。 4.4 采购系统处理............................................................................... 错误!未定义书签。 4.5 设计............................................................................................... 错误!未定义书签。 4.6 输出设计....................................................................................... 错误!未定义书签。总结 .. (43) 参考文献 (45) 课程设计指导教师评语 (46)

相关主题
文本预览
相关文档 最新文档