当前位置:文档之家› 《软件工程》教学大纲

《软件工程》教学大纲

《软件工程》教学大纲
《软件工程》教学大纲

《软件工程》课程教学大纲

一、课程说明

1、课程简介

《软件工程》适用于计算机及相关本科专业的课程,支持毕业生从事软件的开发和管理工作。教材覆盖ACM/IEEE-CS 联合推出的CCSE2005-SEEK要求的软件工程的基本知识领域,满足计算机类(本科)专业的软件工程课程的大纲要求。教材结构清晰、语言简洁、图文并貌,专业术语规范。每章末附有小结和习题,书末附参考文献。该教材具有如下特点:

(1)内容安排恰当。取舍得当,重点突出,满足《高等学校计算机科学与技术专业专业规范》相应课程大纲要求,覆盖了ACM&IEEE制订的CC2005-CS中有关软件工程的主要知识点。

(2)内容比较新。该教材既介绍传统的软件开发方法,又介绍了一些能反映当今软件工程的最新技术和方法,如UML2.0,基于构件的软件开发,基于WEB的应用,敏捷软件开发,能力成熟度模型集成CMMI等。

(3)注重软件开发方法的介绍。该教材在介绍软件工程的基本概念和基本原理的基础上,重点介绍典型的软件开发方法,有利于培养学生的软件开发能力,体现了以适当知识为载体,实现专业基本能力培养的思想,对课程的讲授有很好的引导作用。

(4)专业术语规范,用词严格,叙述准确,设计了适当的习题,进一步引导读者考虑理论与实际应用结合。

(5)教材结构合理,语言简洁、通顺,图文并貌,适宜读者自学。

2、教学目的要求

通过本课程的学习,使学生初步建立工程化意识,学会用工程化思想(包括技术、方法与环境)开发各种软件,以软件的生命周期作为主线,掌握软件工程的基本理论,进一步系统化、工程化,为今后实际工程中能够进行系统分析与设计奠定良好的基础。通过本课程的教学,应使学生达到以下要求:

1.熟练掌握软件与软件工程基本概念和基本知识。

(1)熟练掌握软件与软件工程基本概念和基本知识。

(2)熟练掌握生存周期与软件开发模式。

(3)掌握结构化程序设计的编程思想。

(4)掌握面向对象分析、设计与编码方法。

(5)掌握有关软件的评审、测试与维护,项目计划与项目管理方法。

(6)能用软件工程的方法参与软件项目的分析、设计、实现和维护。

总之,从工程化角度培养学生从事软件开发、软件测试、维护与管理的基本原理和方法。

3、教学重点难点

重点:

(1)软件的特征,软件工程的定义,软件的生命周期各阶段的任务,常用的软件过程模型;

(2)用户需求获取、分析、验证;

(3)设计过程:结构化分析和设计、面向对象的分析与设计。

(4)人机界面设计

(5)测试技术

(6)软件维护

(70软件项目管理

难点:

(1)软件工程模型

(2系统需求工程

(3)形式化规范技术.

(4)设计过程:结构化分析和设计、面向对象的分析与设计(UML建模)。

(5)人机界面设计

(6)白盒测试与黑盒测试的设计技术

(7)软件项目管理

4、教学手段及教学方法建议

本课程的教学方法主要采用课堂教学。课堂教学以多媒体教学为辅助手段,在教学过程中多以实例引导。根据各章节的内容的特点因章节施教,启发式教学贯穿始终。

5、考核方式

期末考评成绩=理论成绩(考试卷面成绩)*60%+平时成绩(平时作业和考勤)*40%。

6、选用教材

钱乐秋主编.软件工程.清华大学出版社.2007年3月。

7、教学参考书

[1] 周丽娟主编.软件工程实用教程.清华大学出版社.2012年9月;

[2] 张海藩主编.软件工程导论(第三版).清华大学出版社.1998年8月;

[3] 殷人昆主编.实用软件工程(第3版).清华大学出版社.2010年11月;

[4] Rajib Mall.软件工程基础(第3版).清华大学出版社.2012年1月;

[5] 贾铁军主编.软件工程与实践.清华大学出版社.2012年6月。

8、教学环节及学时安排(根据本课程实际情况填写)

课程学时分配表

二、教学内容

第一章概论(2学时)

1、教学目标

了解敏捷软件开发方法和CASE工具和应用环境。熟悉软件工程产生的原因;熟悉各种软件过程模型,如瀑布模型、增量模型。掌握软件生命周期各个阶段的任务;掌握软件危机的概念。

2、本章重点

软件危机的概念;软件生命周期;各种软件过程模型。

3、本章难点

敏捷软件开发方法和CASE工具和应用环境。

4、本章思考题及实训题目

(1)什么是软件工程?

(2)简述CASE工具和环境的重要性。

5、讲授内容

第一节计算机软件

一、软件的发展

二、软件的特点

三、软件的分类

四、软件语言

第二节软件工程

一、软件工程定义

二、软件工程框架

四、软件生存周期

第三节软件过程

一、ISO/IEC 12207软件生存周期过程

二、能力成熟度模型CMM

三、能力成熟度模型集成CMMI

第四节软件过程模型

一、瀑布模型

二、演化模型

三、增量模型

四、原型模型

五、螺旋模型

六、喷泉模型

七、基于构件的开发模型

八、形式化方法模型

第五节敏捷软件开发

一、敏捷软件开发的价值观及开发原则

二、XP方法简介

三、Agile与CMM

第六节 CASE工具与环境

一、软件工具

二、软件开发环境

第二章系统工程(1学时) 1、教学目标

了解可行性研究的任务。

2、本章重点

可行性分析的重要性。可行性分析的步骤内容。

3、本章难点

可行性研究的任务。

4、本章思考题及实训题目

(1)什么是系统工程的任务?

(2)简述可行性分析的任务。

5、讲授内容

第一节基于计算机的系统

第二节系统工程的任务

第三节可行性分析

一、经济可行性

二、技术可行性

三、法律可行性

四、方案的选择和折衷

第三章需求工程(2学时)

1、教学目标

了解需求分析的任务和与用户沟通的方法;了解其他图形工具的使用,如Warnier 图,IPO图。熟悉验证软件需求的方法。掌握文档的正确写法,能够熟练描绘出实体——联系图和状态转化图。

2、本章重点

需求分析的方法。需求分析的任务和原则。

3、本章难点

需求分析的方法。

4、本章思考题及实训题目

(1)简述需求工程的重要性,需求工程包括哪些步骤?

(2)软件需求分析的操作性原则和需求工程的指导性原则是什么?

5、讲授内容

第一节需求工程概述

第二节需求获取

一、软件需求

二、需求获取方法与策略

第三节需求分析、协商与建模

一、需求分析原则

二、信息域

三、抽象、分解与多视点分析

四、需求协商

五、需求建模

第四节需求规约与验证

一、需求规约的原则

二、需求规约

三、需求验证

第五节需求管理

第四章设计工程(2学时)

1、教学目标

了解软件设计的原则如:抽象与逐步求精,模块化,信息隐藏,模块独立;了解软件体系结构设计;了解部件级设计技术如各种设计表示方法,设计规约与设计评审。

2、本章重点

软件设计的原则、步骤、方法。

3、本章难点

软件设计的原则、步骤、方法。

4、本章思考题及实训题目

(1)简述软件设计阶段的基本任务?

(2)什么是模块的独立性?软件设计中为什么要模块独立?如何度量独立性?模块功能独立有何优点?

5、讲授内容

第一节软件设计工程概述

第二节软件设计原则

一、抽象与逐步求精

二、模块化

三、信息隐藏

四、模块独立

第三节软件体系结构设计

一、体系结构发展过程

二、软件体系结构的风格

三、评估可选的体系结构

第四节部件级设计技术

一、结构化程序设计方法

二、图形表示法

三、判定表

四、设计性语言PDL

第五节设计规约与设计评审

一、设计规约

二、设计评审

第五章结构化分析与设计(4学时)

1、教学目标

了解总体设计过程的每个步骤及设计过程的基本原理和相关概念;了解在开发软件的过程中得出的启发规则。熟悉总体设计的主要目的;熟悉如何用数据流图描绘信息在系统中加工和流动的情况。。掌握如何用层次图和HIPO图来描绘软件的层次结构。如何使用结构图描绘软件结构。

2、本章重点

设计过程的要求。详细设计方法。

3、本章难点

详细设计方法。

4、本章思考题及实训题目

(1)简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

(2)分别采用数据流方法中的哪些技术来完成用户需求的精确化、一致化和完全化任务?

5、讲授内容

第一节结构化分析方法概述

第二节数据流图

一、数据流图的图形表示

二、分层数据流图的画法

第三节分层数据流图的审查

一、分层数据流图的一致性和完整性

二、构造分层DFD时需要注意的问题

三、分解的程度

第四节数据字典

一、字典条目的种类及描述符号

二、字典条目

三、字典条目实例

四、数据字典的实现

第五节描述基本加工的小说明

一、结构化语言

二、判定表

三、判定树

第六节结构化设计概述

一、结构图

二、启发式设计策略

三、结构化设计的步骤

第七节数据流图到软件体系结构的映射

一、信息流

二、数据流图映射到结构图的步骤、

三、变换分析

四、事务分析

五、分层DFD的映射

第八节初始结构图的改进

一、结构图改进实例

二、结构图改进技巧

第六章面向数据结构的分析与设计(2学时)

1、教学目标

了解JSP方法的分析和设计步骤。

2、本章重点

JSP方法的分析和设计步骤。

3、本章难点

JSP方法的分析和设计步骤。

4、本章思考题及实训题目

(1)简述面向数据结构方法的特点。

(2)假设要设计一个书店库存管理软件,书店中除图书外还销售磁带/光盘等音像制品,需给各类商品建立一个信息表,图书应有书名、书号、出版社、版次、出版年月、图书定价、图书进价、图书零售价、图书批发价、库存数量,音像制品有制品名称、音像制品出版社、出版年月、制品进价、制品批发价及库存数量,店长应随时能根据系统中信息,按出版社、出版年月、进价索要分类清单,请完善需求并设计相应的数据结构。

5、讲授内容

第一节 JSP方法

一、数据结构与程序结构的表示

二、JSP方法的分析和设计步骤

第二节 JSD方法简介

第七章面向对象的分析和设计(4学时)

1、教学目标

了解UML语言,能够对拟开发的系统进行模型的建立。理解面向对象的概念和基础知识的。熟悉面向对象的建模方法,将所学的面向对对象的建模方法应用到开发的项目

中去;熟悉面向对象分析与设计过程。

2、本章重点

面向对象的建模方法。面向对象分析与设计过程。

3、本章难点

面向对象的建模方法。面向对象分析与设计过程。

4、本章思考题及实训题目

(1)简述面向对象的分析过程。

(2)简述面向对象的设计过程。

5、讲授内容

第一节面向对象的基本概念

第二节面向对象分析和设计过程

一、面向对象分析过程

二、面向对象设计过程

三、设计模式

第三节 UML概述

一、UML发展历史

二、UML简介

三、视图

四、图

第四节用况建模

一、用况建模步骤

二、确定执行者

三、确定用况

四、用况描述

五、用况图中的关系

六、实例

第五节静态建模

一、类图和对象图

二、CRC技术

三、类之间的关系

第六节动态建模

一、状态机图

二、活动图

三、顺序图

四、通信图

第七节物理体系结构建模

一、构件图

二、部署图

第八章基于构件的软件开发(2学时)

1、教学目标

了解基于构件的概念,采取基于构件的软件开发的原因。掌握基于构件的软件开发过程,构造可复用的构件和构件管理。

2、本章重点

构件的概念。采取基于构件的软件开发的原因、过程。

3、本章难点

构件的概念。采取基于构件的软件开发的原因、过程。

4、本章思考题及实训题目

(1)什么是构件?

(2)简述基于构件的软件开发过程。

5、讲授内容

第一节基于构件的软件开发概述

一、构件

二、基于构件的软件开发过程

三、CBSD对质量、生产率和成本的影响

第二节建造可复用构件

一、对可复用构件的要求

二、创建领域构件的设计框架

三、可变性分析

四、可变性机制

第三节应用系统工程

一、基于CBSD的应用系统分析和设计

二、构件的鉴定、特化和组装

第四节构件的管理

一、构件的分类描述

二、构件库管理系统

第九章人机界面设计(2学时)

1、教学目标

了解人机界面设计的重要意义。掌握基本的界面设计的原则和基本技术。

2、本章重点

界面设计的原则和基本技术。

3、本章难点

界面设计的原则和基本技术。

4、本章思考题及实训题目

(1)简述Theo Mandel界面设计著作中的3条“黄金原则”。

(2)简述界面设计中的可用性测试?

5、讲授内容

第一节人的因素

一、人对感知过程的认识

二、用户的技能和行为方式

三、人体测量学对设计的影响

第二节人机界面风格

第三节人机界面分析与建模

一、人机界面设计过程

二、人机界面设计中涉及的模型

三、任务分析的途径与方法

第四节界面设计活动

一、定义界面对象和动作

二、设计问题

三、黄金原则

第五节实现工具

第六节设计评估

第十章输入输出(I/O)系统(2学时)

1、教学目标

了解软件过程中编程语言的成分、特性、分类和选择。掌握一种合适的程序设计语言将软件设计的结果翻译成程序。

2、本章重点

软件过程中编程语言的成分。

3、本章难点

软件过程中编程语言的成分。

4、本章思考题及实训题目

(1)程序设计语言的基本成分有哪些?

(2)程序设计语言的基本特性有哪些?

5、讲授内容

第一节程序设计语言

一、程序设计语言的基本成分

二、程序设计语言的特性

三、程序设计语言的分类

四、程序设计语言的选择

第二节程序设计风格

一、源程序文档化

二、数据说明

三、语句结构

四、输入和输出

第十一章软件测试(4学时)

1、教学目标

了解软件的可靠性的一些估算方法;了解一些基本的测试策略以及面向对象的一些测试方法。熟悉单元测试和集成测试的方法。掌握测试的基本概念和基础知识;掌握白盒测试和黑盒测试的概念和方法;掌握程序的调试过程。

2、本章重点

单元测试和集成测试的方法。白盒测试和黑盒测试的概念和方法。

3、本章难点

白盒测试和黑盒测试的概念和方法。

4、本章思考题及实训题目

(1)什么是白盒测试?什么是黑盒测试?

(2)分别简述单元测试、集成测试、确认测试和系统测试的任务。

5、讲授内容

第一节软件测试基础

一、软件测试的目的

二、软件测试的基本原则

三、白盒测试和黑盒测试

第二节白盒测试

一、逻辑覆盖测试

二、逻辑表达式错误敏感的测试

三、基本路径测试

四、数据流测试

五、循环测试

第三节黑盒测试

一、等价类划分

二、边界值分析

三、比较测试

四、错误猜测

五、因果图

第四节测试策略

一、V模型

二、单元测试

三、集成测试

四、确认测试

五、系统测试

第五节面向对象测试

一、面向对象语境对测试的影响

二、面向对象测试策略

三、面向对象测试用例设计

第六节测试完成标准

第七节调试

一、调试过程

二、调试方法

三、纠正错误

第十二章 Web工程(2学时)

1、教学目标

了解WEB工程的整个流程,WEB分析、设计、开发、测试过程。

2、本章重点

WEB分析、设计、开发、测试过程;软件的再工程过程。

3、本章难点

WEB分析、设计、开发、测试过程;软件的再工程过程。

4、本章思考题及实训题目

(1)提出3条将帮助指导Web工程设计的“黄金规则”的建议。

(2)总结当前Web应用设计模式的状况。

5、讲授内容

第一节基于Web系统和应用的属性

第二节 Web工程过程

一、过程框架

二、改善框架

三、Web工程中有用的规则

四、方法和工具

第三节 Web分析

一、Web的分析类别

二、分析元素

第四节 Web设计

一、体系结构设计

二、导航设计

三、界面设计

四、构件级设计

第五节 Web测试

一、质量评判标准

二、在Web App环境下出现的错误

三、测试策略

第十三章软件维护与再工程(1学时)

1、教学目标

了解软件的再工程过程。掌握软件维护的定义,特点、过程;明确软件维护的重要性。

2、本章重点

软件维护的过程;软件的再工程过程。

3、本章难点

软件维护的过程。

4、本章思考题及实训题目

(1)软件维护过程是如何进行的?为什么要进行软件可维护性分析?

(2)如何说服正在开发新系统的客户在重用性和可测试性上增加预算?

5、讲授内容

第一节软件维护

一、软件维护的概念

二、软件维护的过程

三、软件可维护性

第二节再工程技术

一、再工程的概念

二、业务过程再工程

三、软件再工程过程

四、逆向工程

第十四章软件项目管理(4学时)

1、教学目标

了解项目估算和度量;了解如何能够进行简单的的软件项目管理:其中包括工作量的估算、人员的组织及进度的安排等。掌握软件项目管理的基本概念、方法和原则。

2、本章重点

软件项目管理的基本概念、方法和原则。估算和度量。

3、本章难点

软件项目管理的基本概念、方法原则。

4、本章思考题及实训题目

(1)什么是软件项目管理?软件项目管理与传统项目的不同点和相同点是什么?

(2)什么是软件项目管理过程?其目的是什么?

5、讲授内容

第一节软件项目管理概述

一、软件项目管理的关注点

二、软件项目管理的内容

第二节软件度量

一、面向规模的度量

二、面向功能的度量

三、软件质量模型

四、程序复杂性度量

五、软件可靠性度量

第三节软件项目估算

一、代码行、功能点和工作量估算

二、IBM估算模型

三、CoCoMo模型

四、Putnam模型

五、软件可靠性估算

第四节项目进度管理

一、人员与工作量之间的关系

二、任务的分解与并行

三、任务工作量的确定

四、进度安排

第五节风险管理

一、风险标识

二、风险预测

三、风险评估

四、风险管理和控制

第六节软件项目的组织

一、组织结构的模式

二、程序设计小组的组织形式

三、人员配备

第七节软件质量管理

一、软件质量保证

二、软件评审

第八节软件配置管理

一、软件配置管理的基本概念

二、软件配置管理的主要活动

CADCAM软件应用技术基础课程标准

《CAD/CAM软件应用技术基础》课程标准 一、课程性质和任务 《CAD/CAM软件应用技术基础》是数控技术应用专业设置的一门专业必修课,是学生具备了《机械制图》、《AutoCAD》平面绘图、《数控编程技术》(含工艺)等基础知识后开设的课程。该课程是学生掌握三维数字建模和计算机辅助编程的重要理实一体化教学环节,教学时数为144学时。《CAD/CAM软件应用技术基础》的主要任务是学习二维曲线的绘制与编辑、实体建模、曲面建模、工程制图、装配、二维线框铣加工、平面铣加工、三维定铀铣加工、点位加工、多轴加工及UG软件的机床后置处理技术和程序仿真验证的方法与技巧,使学生掌握CAD/CAM的基础知识,具有CAD/CAM软件应用的基本技能,能够利用UG软件进行一般复杂程度零件的设计与制造,为适应机械产品三维设计及加工等岗位作准备。 二、课程教学目标 通过以工作任务导向以及典型零件数控加工的实际工作项目活动,使高等职业学院的数控技术专业的学生了解数控技术专业的学习领域和工作领域等专业知识与技能,能够熟练地使用计算机辅助设计软件与专业技术等,培养学生具备产品数控技术的实际工作技能,为学生未来从事专业方面实际工作的能力奠定基础。 (一)知识目标 1)掌握UG软件三维数字建模的相关知识;2)掌握UG软件装配设计的相关知识;3)掌握UG软件工程图的相关知识;4)掌握UG软件自动编程的相关知识。(二)能力目标 1)能熟练使用UG软件完成典型机械零件的三维建模工作;2)能熟练使用UG软件完成中等复杂装配体的三维装配设计工作; 3)能熟练使用UG软件完成由三维模型生成符合国标的工程图纸的工作; 4)能够熟练使用UG软件完成较复杂机电产品的自动编程,并能生成后处理程序上机操作。 5)能熟悉多轴自动编程6)能了解多轴加工7)能了解在线加工 (三)素质目标 1)良好的表达能力和人际沟通能力;2)爱岗敬业与团队合作的基本素质;3)良好的工程意识。 三、教学课时:120 学时 四、课程目标 通过本课程的学习,使学生熟悉并掌握一种软件的操作,能独立运用软件完成轴类零件的平面造型及中等复杂程度零件的三维造型。在具备金属切削基本理论,机械制造工艺基本理论的基础上,能根据工件材料、加工要求等各种具体情况,合理选择刀具,确定切削用量等各种工艺参数,会后置处理、生成数控加工程序,并在数控机床上完成零件的加工。 职业能力目标:

《常用工具软件》课程标准

《常用工具软件》课程标准 一、课程的性质与任务 本课程的性质是计算机应用专业的专业核心课程,主要介绍日常工作与生活中最实用、最流行的电脑工具软件,为培养应用型人才打下良好的基础,为学生职业生涯的可持续发展做好办公能力方面的准备。 本课程的任务是强调学生的动手能力,以及根据具体的应用选择合适的应用软件,通过对计算机相关专业工作岗位分析,结合了当前工具软件发展的一些主要变化,本课程注重实际应用能力的培养,以岗位职业能力为依据,同时结合学生的认知特点和教学规律,经分析,本课程对应的典型工作任务为:磁盘工具与系统维护;网页浏览器与邮件收发;解压、分割及加密软件;文件下载、上传;文档阅读与网上图书馆阅读;屏幕捕捉与图像浏览工具;字典、翻译软件与内码转换;计算机安全防护工具;光盘刻录和虚拟光驱、影音播放工具。在学习领域课程体系中,其先修课程为计算机基础。 二、教学目标 (一)知识与技能 1.理解计算机常用工具软件的相关基础知识。 2.掌握常用工具软件的基本操作。 3.根据实际需要选择合适应用软件的能力。 (二)过程与方法 理论授课配合多媒体手段、图文并茂;实训授课在理实一体化计算机专业机房进行案例分析、实例演示讲解和实训教学。在教学过程中学生分成团队,培养团队精神。使学生能够正确识别和安装常用工具软件,培养学生具有使用常用工具软件的能力。 (三)情感态度与价值观 1. 通过分组讨论和独立思考让学生养成互帮互助的习惯 2. 培养学生团队协作意识 三、内容标准

四、实施建议 (一)教学方法 (1)常用工具软件基本上是一门以培训实际操作能力为主的计算机应用专业课程,该门课程的所有知识基本上都需要通过电脑的实际操作来讲解,并且需要通过投影仪将本门课程的各种操作演示给同学们看。 (2)教学方法、手段:教学方法主要采用讲练结合,以练为主,及时考核,互动提高。在教学的具体实施过程中,应主要采取“启发──演示──操作──评价”的四环节教学法。 (二)考核与评价 (1)改革传统的学生评价手段和方法,采用阶段评价,过程性评价与目标评价相结合,注重引导学生进行学习方式的改变。

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝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)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

《 软件构造》课程教学大纲汇总

GDOU-B-11-213 《软件构造》课程教学大纲 课程简介 教学内容 软件构造是软件工程专业人员必须掌握的基础知识,也是高等院校软件工程专业学生的必修课程。本课程主要是:以软件复用为目的学习和构造软 件构件,不仅仅限于源代码,而是将软件构件技术扩充到需求分析、需求规 约、构架、文档、测试计划、测试用例和数据等 主要内容包括:构件表示、构件模型、构件库的设计与检索、构件适配技术、构件组装技术、软件服用、模式与框架、网格计算与Web Service、移 动Agent等。 修读专业:软件工程、计算机类 先修课程:计算系统基础,软件工程 教材:王志坚费玉奎娄渊清《软件构件技术及其应用》科学出版社.2004 一、课程的性质与任务 本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。其任务是讲授软件构造的基本原理,在传统软件工程的 基础上,掌握软件嘎欧造的基本原理、软件过程、开发方法、硬功技术以及 系统框架等。从而全面掌握软件构造思想。 二、课程的基本要求 通过本课程的教学使学生能够从设计模式和代码级设计掌握软件构造,并掌握目前主流的构件技术,通过实验环节了解主流设计模式和组件等。 三、修读专业 软件工程、计算机类 四、本课程与其它课程的联系 本课程以计算系统基础,Java语言,软件工程等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能将数据结构、 Java、软件工程等课程的知识融入到本课程之中。

五、教学内容安排、要求、学时分配及作业 第一章:绪论(2学时) 第一节:软件构件技术及其演变 软件构件的认知过程(A);构件技术的发展(A)。 第二节:基于构件的软件工程 CBSE的特点(A);CBSE的意义(A);CBSE与OO技术的联系和区别(A);CBSE 的生命周期(A);CBSE的主要设计原理(B) 第三节:构件的定义与特性 构件的定义(A);构件基本特征(A) 第四节:构件技术研究的内容和目标(A) 第五节:本书的组织(A) 第二章:构件表示(2学时) 第一节:构件特征表述 信息描述(B);外部特征(B) 第二节:构件接口 构件交互作用建模(B);构件接口定义模型(B) 第三节:构件规约 构件接口(B);构件协议(B);构件实现(B);青鸟构件模型对构件的规约(B) 第四节:构件交互操作的形式化描述 自动机的概念及其扩展(B);调用接口(B)、应用接口(B) 第五节:基于软Petri的构件框架描述 P/T网(B);构件网(B);双向模拟分支(B);框架(B);组合(B)第六节:小结(A) 第三章:构件模型(4学时) 第一节:COM

软件工程课程标准

《软件工程》课程标准 煤炭管理干部学院 计算机系 计算机应用技术专业 2012.06

一、课程基本信息 二、课程定位 《软件工程》是计算机应用专业教学计划中一门综合性和实践性很强的核心课程,主要容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。本课程教学是既要侧重软件开发的法、原理的讲解,又要重点培养学生动手设计和开发软件的能力,两者并重、相互结合。 根据培养计算机高级理论与应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统法和最新法,为更深入地学习和今后从事软件工程实践打下良好的基础。 三、课程设计思路 根据软件技术专业的人才培养目标,通过企业调研,与企业专家座谈,了解企业需求,梳理岗位任务,构建适应岗位需求的课程体系。 根据典型工作任务确定学习容。通过企业调研,深入了解软件开发企业的需求,分析各岗位的典型工作任务,根据典型工作任务确定学习容,设计学习情境,摒弃传统的从结构设计角度学习本课程的法,从软件项目设计、开发、测试、维护的角度将整个工作过程中的典型工作任务转化为若干学习情境,以完成岗位任

务所需知识和能力选取教学容,使其符合企业真实的工作程序、技术标准。 以行动导向组织实施教学。课程教学遵循“计划、调研、设计、实施、测试、发布与维护”这一“行动”过程序列;在基于职业情境的学习情境中,学生根据该情境设置的各项工作任务,制定设计案,实践操作,最终总结汇报形成成果,整个过程以学生动手“工作”为主要学习过程。学生在以完成任务为目的的这一“工作”过程中,开展主动“学习”,主动建构真正属于自己的经验和知识体系,将知识用于完成项目任务的“工作”,最后通过相互的成果展示和阶段评审达到知识的更新、职业能力的巩固和升华。 建立多元能力考核评价体系。突出过程与成果结合评价,强调理论与实践一体化评价,建立以学生为中心的综合评价模式,包括课堂讲评、实践操作、阶段评审、成果展示等多种手段相结合,综合评定学生成绩。将课程考核与企业的岗位需求融合在一起,形成多元能力考核评价体系。 四、课程目标 (一)能力目标 1. 能够按照规的软件项目开发流程来设计、开发软件; 2.能够规地编写软件项目开发各阶段的文档; 3.能够使用Project工具软件进行软件项目管理; 4.能够使用Rose或Viso等工具软件进行项目辅助设计; 5.能够准确地设计测试用例,进行软件项目测试; 6.能够规地发布项目并制定合理的后期维护计划。 (二)知识目标

《计算机常用工具软件》课程标准

《计算机常用工具软件》课程标准 课程编号: 课程总学时:32学时 课程学分: 课程类别:专业拓展课程 适用专业:计算机软件专业 制定单位: 制定时间: 课程总述 1.课程性质 《计算机常用工具软件》是软件技术专业学生的一门专业拓展课程,是一门理论为辅,实践为主的技能型课程,主要培养学生获取、安装、应用、维护常用计算机工具软件的能力。该课程的前导课程是《计算机导论》。 2.课程设计思路 本课程以学生的就业为导向,从实际应用出发详细介绍了最基本而且被目前计算机应用各领域所公认的应用工具软件,并结合实际应用的情景案例讲授计算机常用工具软件的使用方法。 本课程是理论与实践相结合的课程,以各种计算机常用工具软件的应用为主线,以实际应用需求为依据,遵循学生认知规律,确定本课程的教学内容:包括应用软件的理论与具体的实际应用。针对现在高职学生的特点:接受能力一般、理解能力一般、喜欢动手操作的特点,课程内容的选取以够用、实用为主。工具软件理论知识以够用为准,使学生能够初步掌握工具软件的基本知识;工具软件应用内容以实用为准,增加实践性、操作性强的知识、紧密结合岗位技能需求,同时也注意后续课程的要求,注重知识的连贯性。 根据本课程的特点选择“案例引导、任务驱动”的教学模式,以实际应用需求为依托,在教学中通过电子教案、视频、现场演示、软件操作等多种现代化教学手段,丰富教学信息量,激发学生学习的积极性和主动性。 在课程教学中,为了充分体现“案例引导、任务驱动”的课程思想,将每章的工具软件以工作环境下的各种应用需求作为课程的引入。教学中将每个工具软件领域的应用分解成一个个小项目,实现从需求出发、软件获取、安装、最终解决问题的过程。在计算机应用领域能够完成同一任务的工具软件可能有几种甚至于几十种,挑选一款适合自己的软件来切实高效地解决实际应用问题成为本课程教学的主要目标之一。 这样以具体的案例任务为单位组织教学,以典型实际问题为载体,引出相关专业理论知识,使学生在学习和实训过程中加深对专业知识、技能的理解和应用,培养学生的综合职业能力,满足学生职业生涯发展的需要。 《计算机常用工具软件》课程是一门理论与实践并重的课程,我们对课程考核进行了改革,在课程评价方面完全立体化,打破以往的传统的课程评价方式,建立多维度的课程评价体系,把学生的学习态度和学习表现也纳入到评价体系中,强调过程考核与集中考核相结合,理论考核与实践考核相结合。成绩考核主要采取

软件工程复习提纲(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.需求描述有哪几种工具?你喜欢哪一种,为什么?

软件工程课程教学大纲

《软件工程》课程教学大纲 (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学时) [知识点] 需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体—联系图、状态转换图、其他图形工具、数据规范化。 [重点] 实体-联系图的概念及画法、状态转换图的定义及画法和常用图形工具的使用方法。 [难点]

《软件工程》课程标准

《软件工程》课程标准 表1 课程基本信息 (一)课程性质与任务 课程性质:《软件工程》是软件工程专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。《软件工程》已成为高校计算机软件教学体系中的一门核心课程课程任务:通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。 (二)课程教学目标 本课程的开设旨在使学生通过学习,掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,能用软件工程的方法参与软件项目的分析、设计、实现和维护,为更深入地学习和今后从事软件工程的实践打下良好的基础。 1. 知识目标 (1)教授以软件工程的发展、主要方法、常用工具的使用为主线。包括:软件工程的基本概念、基本原理、常用的软件管理方法、常用的建模工具等。 (2)关键的知识讲授阶段有:软件需求获取方法、需求规格说明撰写与评审方法、软件设计的基本概念、结构化设计方法、体系结构设计、面向对象UML的软件分析方法、UML 建模方法、软件测试基本理论等。 (3)通过该课程的教授,学生应具备软件工程基本理论知识。 2. 能力目标

(1)运用软件工程的概念、原理、技术和方法开发与维护软件的能力 (2)编写相关技术文档的能力 (3)分析问题和解决问题的能力和团队工作交流能力。 3. 素质目标 (1)职业素养的培养:对软件开发领域常见的职业要求、团队合作精神进行培养与灌输。 (2)专业素养的培养:对软件管理过程中常见的问题能够予以准确判断,明确解决思路。 (三)参考学时 64(理论:32\实验:32 )学时。 (四)课程学分 3学分 (五)课程内容和要求(理论64学时) 课程旨在使学生掌握软件工程的基本概念、原理和方法,从软件开发技术、软件工程管理和软件工程环境等几个方面了解如何将系统的、规范化的和可以度量的工程方法运用于软件开发和维护中。要求学生通过本门课的学习,基本掌握结构化方法、面向对象方法等软件开发技术,初步了解软件复用的概念及基于构件的开发方法,同时对软件工程管理和环境等内容有一个总体的了解。 表2 课程内容与学时安排表

计算机基础及应用课程标准

. 《计算机应用基础》课程标准 一、课程性质和设计思路 (一)课程性质 《计算机应用基础》课是中等职业技术学校职业教育的一门重要课程,是全职校各专业教学的必修公共基础课,是学生基本计算机操作技能的基础课。为培养应用型人才掌握基本的计算机操作技能而开设的重点课程。 《计算机应用基础》课也是各专业后续课程学习的入门课程,课程具有很强的实践性,对于培养学生的实践能力、创新能力、分析和解决问题的能力都起到十分重要的作用。 (二)设计思路 由于本课程实践操作性很强,再考虑到我们学生的实际情况,所以我们的教学指导思想是在有限的时间内少讲、精讲、多练,培养学生的实际动手能力,自学能力和开拓创新能力。布置实用性强、贴近生活、力求新颖的上机练习内容,增强学生的学习兴趣。在制定教学计划时,理论学时和上机学时的比例设置为1:1,让学生有更多的时间练习操作性知识。通过实验指导给出详细的操作步骤,锻炼学生的动手、自学、独立思考能力。 在实践教学中也要明确必要的理论知识,使其在理论上满足“中职”生够用的原则。 二、课程教学目标 (一)知识目标 1、了解计算机基础知识 2、了解操作系统的功能,掌握Windows 7 的基本操作方法。 3、了解计算机网络基础知识,知道因特网的应用。 4、掌握文本编辑软件Word 2010的使用方法。 5、掌握使用电子表格处理软件Excel 2010基本使用方法。 6、掌握使用演示文稿处理软件PowerPoint2010制作简单的演示文稿。 7、了解多媒体技术的应用基础 .. . 8、掌握常用工具软件的使用。 9、知道计算机的组装与维护。 (二)能力目标

1、通过学习,使学生熟练掌握计算机的基本操作。 2、学会使用文字处理软件Word 2010进行文字编辑与排版。 3、学会使用电子表格处理软件Excel 2010进行电子表格的制作与编辑排版。 4、学会使用演示文稿软件PowerPoint 2010进行简单的演示文稿创作。(三)情感目标 1、培养学生认真负责的工作态度和细致的工作作风。 2、培养学生的自主学习意识和团队协作精神。 3、培养学生诚实守信意识和职业道德观念。 4、培养学生信息化处理的创新意识和能力。 .. . 三、教学内容和要求

软件工程复习资料

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.为需求分析阶段定义各类条目

《软件体系结构》教学大纲

《软件体系结构》教学大纲 一、课程概述 《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。 作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。 本课程的先修课程为“软件工程”。 二、课程目标 1.知道《软件体系结构》这门学科的性质、地位、研究范围、学科进展和未来方向等。2.理解该门学科的主要概念、基本原理和策略等。 3.掌握软件体系结构的建模方法、描述方法,通过对不同软件体系结构风格的掌握,能够采用正确的基于体系结构的软件开发。 4.能够把所学的原理应用到具体的实践中去,培养学生发现、分析和解决问题的能力等。 三、课程内容与教学要求 这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下: 知道———是指对这门学科和教学现象的认知。 理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。 掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。

学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。 教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。 本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。 教学内容及教学要求表

《软件开发基础》课程标准

《软件开发基础》课程标准 表1 课程基本信息 (一)课程性质与任务 课程性质::《软件开发技术》是计算机专业的一门技术基础课,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,通过学习和训练,加深对大学计算机基础课程的理解和认识,加强程序设计能力的训练,培养学生运用软件开发方法和技术分析问题和解决问题的能力。《软件开发基础》已成为高校计算机软件教学体系中的一门重要课程 课程任务:通过本课程的学习掌握在操作系统、数据库、多媒体、网络等应用环境中软件的基本开发方法及技术,以及在软件开发过程中要解决的数据结构与常用算法的实现。通过该课程的学习,使学生掌握在上述环境中开发软件所必需的基础知识、基本开发方法和常用开发技术,为今后结合实际应用开发软件打下必要的基础。 (二)课程教学目标 本课程的开设旨在通过该课程的学习,使学生能够全面系统地掌握计算机软件开发技术的基本知识,熟悉软件工程概念与流程、数据结构概念与算法,并且结合数据库知识具有一定的软件系统设计能力。 1. 知识目标 (1)教授以软件开发的发展、主要方法、常用工具的使用为主线。包括:软件开发的基本概念、基本原理、常用的软件管理方法、常用的建模工具等。 (2)关键的知识讲授阶段有:软件需求获取方法、需求规格说明撰写与评审方法、软件设计的基本概念、结构化设计方法、体系结构设计、面向对象UML的软件分析方法、UML 建模方法、软件测试基本理论等。 (3)通过该课程的教授,学生应具备软件开发基本理论知识。

2. 能力目标 (1)运用软件开发的概念、原理、技术和方法开发与维护软件的能力 (2)编写相关技术文档的能力 (3)分析问题和解决问题的能力和团队工作交流能力。 3. 素质目标 (1)职业素养的培养:对软件开发领域常见的职业要求、团队合作精神进行培养与灌输。 (2)专业素养的培养:对软件管理过程中常见的问题能够予以准确判断,明确解决思路。 (三)参考学时 64(理论:32\实验:32 )学时。 (四)课程学分 3学分 (五)课程内容和要求(理论64学时) 课程旨在使学生掌握软件开发的基本概念、原理和方法,从软件开发技术、软件工程管理和软件工程环境等几个方面了解如何将系统的、规范化的和可以度量的工程方法运用于软件开发和维护中。要求学生通过本门课的学习,基本掌握结构化方法、面向对象方法等软件开发技术,初步了解软件复用的概念及基于构件的开发方法,同时对软件工程管理和环境等内容有一个总体的了解。 表2 课程内容与学时安排表

软件工程课程复习大纲

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

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

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

《软件工程》复习资料

1,什么是软件,软件的性质 软件是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。软件=程序+数据+文档。 软件的内在性质是:软件具有高度的抽象性和严密的逻辑性。 软件的外在性质是:软件是一种逻辑信息产品,是用文字、符号表达的智力产物。 2,什么是工程化工程化的软件开发方法与早期的程序设计方法的不同点在哪里? 将成熟工程领域的方法应用于软件开发。工程化的方法包括如下四个方面: ⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境 ⑶.具备统一的工程规范⑷.管理和控制 3,软件工程研究的内容 软件项目的管理 软件工程的知识体系包括如下内容 过程:软件开发的步骤。方法:软件开发各步骤所用到的技术。管理:控制软件开发按照过程和方法顺利完成的技术和措施。工具:辅助人们贯彻过程和方法,并实施管理 1,可行性分析包含哪些内容,它们的含义是什么? 答:⑴.经济上可行性:论证系统有没有经济效益或社会效益?多长时间能回收成本? ⑵.技术上可行性:实现新系统需要哪些技术,现有技术能否解决,难点?建议采用的技术先进程度怎样?新技术的应用是否存在风险?是否能够找到胜任该系统的熟练的技术人员?等等⑶.操作上可行性:系统的操作方式在用户所在的组织内是否可行,特别是对原有系统扩展会不会引起矛盾。⑷.法律上可行性:会不会引起侵权、会不会引起其他的社会问题。 2,下列哪些工作中需要估算软件成本? I)软件可行性研究II)软件计划III)软件需求分析IV)软件运行和维护 三 1,结构化分析方法的三种描述手段 数据流图,掌握数据流图中的基本符号,大题要求给出一个需求能够画出多层数据流图 数据字典 加工说明的三种描述工具是:结构化语言、判定树和判定表来表示 2,结构化方法的特点:自顶向下,逐层分解,抽象和分解 3,用户需求: ?某学校需要开发一套基于Web的研究生招生管理系统,用户需求如下: –考生可以登录系统提交报名信息,报名信息经过格式确认存入数据库;信息提交成功后能够网上在线支付报名费并记录交费信息;交费成功的考生可以打印 报名表。 –各院系教务员能够查看和审核考生提交的报名信息,确定信息是否准确有效,最后给出审核是否通过的标志。教务员还能够打印报名考生清单。 –招生办公室管理员能够查询有效的报名考生信息和打印统计报表;能够生成报名考生数据文件上报到上级单位(教育部)。 题目要求: ?请用SA方法对它进行分析,画出分层数据流图。(只要求数据流图,不要求数据字典和 报名信息库

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