一.概论(学时数:4)
教学内容
1.计算机软件
软件定义,软件语言及分类(需求定义语言,功能性语言,设计性语言,程序 设计语言,文档语言),软件的特点和分类,软件发展历史,软件危机
2.软件工程
软件工程定义,目标,过程,原则,软件生存周期
3.软件过程
软件过程定义和分类,软件过程能力成熟度模型CMM,软件过程能力成熟度模型 集成CMMI
4.软件过程模型
瀑布模型,演化模型,增量模型,原型模型,螺旋模型,喷泉模型,基于构件的 开发模型,形式化方法模型
5.CASE工具与环境
计算机辅助软件工程(CASE),CASE工具,集成型开发环境
教学要求
1.掌握软件及软件工程的基本概念
2.掌握软件生存周期各阶段的任务
3.了解软件过程的概念,以及CMM和CMMI的由来、作用、各等级的特点、结构
4.掌握各种软件过程模型的特点
5.了解CASE工具与环境的作用
二.计算机系统工程(学时数:2)
教学内容
基于计算机的系统,系统工程的任务,可行性分析
教学要求
1.了解系统工程的任务
2.掌握可行性分析的方法
三.需求工程(学时数:3)
教学内容
1.需求工程概述
需求工程定义,需求工程六个阶段
2.需求获取
软件需求定义,软件需求内容,需求获取方法与策略
3.需求分析、协商与建模
需求分析原则,信息域、抽象、分解与多视点分析,需求协商,需求建模基本方法简介
4.需求规约与验证
需求规约的原则、需求规约、需求验证
5.需求管理
需求管理定义、需求跟踪
教学要求
1.掌握需求工程的定义及六个阶段
2.掌握软件需求内容
3.掌握需求获取的方法与策略
4.掌握需求分析原则
5.掌握需求规约的原则
6.掌握需求规约的内容
7.了解需求验证过程
8.了解需求管理相关概念
四.设计工程(学时数:3)
教学内容
1.软件设计工程概述
软件设计的任务、软件设计的目标、软件设计的过程
2.软件设计原则
抽象化与逐步求精、模块化、信息隐藏、模块独立、耦合、内聚
3.软件体系结构设计 体
系结构发展过程、软件体系结构的风格、评估可选的体系结构
4.部件级设计技术
结构化程序设计方法、图形表示法、判定表、设计性语言PDL
5.设计规约与设计评审
设计规约、设计评审
教学要求
1、掌握软件设计工程的任务、目标和过程
2、掌握软件设计原则
3、了解软件体系结构设计
4、掌握部件级设计技术
5、了解设计规约与设计评审
五.结构化分析与设计(学时数:6)
教学内容
1.结构化分析
结构化分析的基本思想,结构化分析的步骤,分析模型的描述形式
2.数据流图
图形表示,分层数据流图的画法,分层数据流图的审查
3.数据字典
数据流、文件、数据项、加工、源或宿等条目的内容,描述基本加工的方法,包括 结构化语言、判定表、判定树
4.结构化设计 结构图,启发式设计策略,结构化设计的步骤
5.DFD到结构图的映射
变换流,事务流,变换分析,事务分析,分层DFD的映射
6.设计优化
初始结构图的改进,结构图改进技巧
教学要求
1.掌握结构化分析和设计的基本概念和原理
2.掌握结构化分析和设计的步骤
3.会应用结构化分析方法画分层数据流图,并建立相应的数据字典
4.会判断分层数据流图的合理性
5.会应用结构化设计方法画结构图,并掌握优化结构图的基本手段
六.面向数据结构的分析与设计(学时数:1)
教学内容
面向数据结构方法的基本思想,Jackson图,JSP方法,JSD方法
教学要求
1.掌握面向数据结构方法的基本思想
2.了解JSP方法和JSD方法
七.面向对象方法基础(学时数:2)
教学内容
1.面向对象的基本概念面向对象,对象,类,继承,消息,多态性,动态绑定
2.面向对象分析和设计的一般过程
面向对象分析的任务、步骤和一般分析过程,面向对象设计的一般过程,系统设计, 对象设计,设计模式
3.UML
UML发展历史,视图,图
教学要求
1.掌握面向对象的基本概念
2.掌握面向对象分析和设计的一般步骤
八.面向对象建模(学时数:10)
1.用况建模
用况建模的步骤,确定执行者,确定用况,用况描述,用况间的关系
2.静态建模
标识类及CRC技术,类之间的关系:关联(二元关联,三元关联,受限关联,聚 集,组合,关联类,导航性)、泛化、实现、依赖,约束,派生,模板
3.动态建模
用状态机图、活动图、顺序图、通信图描述系统的动态行为
4.物理体系结构建模
用构件图、内部结构图、部署图描述系统物理上的体系结构
教学要求
1.会应用UML建立用况模型,并给出用况的描述
2.会应用UML建立静态模型
3.会应用UML建立动态模型
4.会应用UML建立物理体系结构模型
九.基于构件的软件开发(学时数:3)
教学内容
1.基于构件的软件开发(CBSD)
CBSD的基本思想和原理,CBSD对质量、生产率和成本的影响1
2.CBSD过程
CBSD模型,领域工程,应用系统工程
3.可复用构件
对可复用构件的要求,可变性分析,可变性机制
4.应用系统工程
基于CBSD的应用系统分析和设计,构件的鉴定、特化和组装
5.构件的管理
构件的分类描述,构件库管理系统
教学要求
1.掌握CBSD的基本思想和原理
2.了解CBSD的过程以及基于CBSD的应用系统分析和设计
3.了解可复用构件的构建和管理
十.敏捷软件开发(学时数:2)
教学内容
敏捷软件开发的价值观和开发原则,XP方法
教学要求
了解敏捷软件开发的基本思想
十一.人机界面设计(学时数:2)
教学内容
1.人的因素
人对感知过程的认识、用户的技能和行为方式、人体测量学对设计的影响
2.人机界面风格
语言界面、图形用户界面、直接操纵用户界面、多媒体用户界面、多通道用户界面
3.人机界面分析与建模
人机界面设计过程、人机界面设计中设计的模型、任务分析的途径与方法
4.界面设计活动
定义界面对象和动作、设计问题、黄金原则
5.实现工具
6.设计评估
教学要求
1.了解人机界面设计中的人的因素
2.了解人机界面风格
3.掌握人机界面设计过程
4.掌握界面设计活动
5.了解实现工具
6.了解设计评估
十二.程序设计语言和编码(学时数:2)
教学内容
1.程序设计语言
程序设计语言的基本成分、程序设计语言特性、程序设计语言分类、程序设计语言选择
2.程序设计风格
源程序文档化、数据说明、语句结构、输入和输出
教学要求
掌握程序设计语言和程序设计风格。
十三.软件测试(学时数:3)
教学内容
1.软件测试基本概念
测试目的,测试原则,测试用例,白盒测试,黑盒测试,回归测试
2.白盒测试
逻辑覆盖测试,基本路径测试,数据流测试,循环测试
3.黑盒测试
等价类划分,边界值分析,比较测试,错误猜测,因果图
4.测试策略
V模型,单元测试,集成测试(非增量集成与增量集成,自顶向下集成与自底向上 集成),确认测试(包括α测试和β测试),系统测试(恢复测试,安全测试,压力 测试)
5.面向对象测试
面向对象语境对测试的影响,面向对象测试策略,类测试,类间测试
6.测试完成标准
介绍简单、实用的确定测试完成的标准7.调试 调试过程,调试方法(蛮力法,回溯法,归纳法,演绎法)
教学要求
1.掌握软件测试的基本概念
2.会用逻辑覆盖、基本路径等白盒测试方法设计测试
3.掌握等价类划分、边界值分析等黑盒测试方法的基本原理
4.掌握单元测试、集成测试、确认测试、系统测试等测试策略
5.了解面向对象测试的基本内容
6.了解测试完成标准及基本的调试方法
十四.Web工程(学时数:2)
教学内容
1.基于Web系统和应用的属性
2.Web 工程过程
过程框架、改善框架、Web工程中有用的规则
3.Web分析
分析类别、分析元素
4.Web设计
体系结构设计、导航设计、界面设计、构件级设计
5.Web测试
质量评价标准、在WebApp环境下出现的错误、测试策略
教学要求
1.了解Web系统的属性和特点
2.了解Web 工程过程
3.了解Web分析、设计和测试的概念和方法
十五.软件维护与再工程(学时数:3)
教学内容
1.软件维护
软件维护的概念、软件维护分类、维护问题、维护成本
2.软件维护过程
软件维护组织、维护过程、维护记录
3.软件可维护性
主要影响因素、软件可维护性评审、提高可维护性方法
4.软件再工程
再工程概念、业务过程再工程、软件再工程过程
5.逆向工程
教学要求
1.掌握软件维护的基本概念
2.掌握软件维护过程
3.掌握软件可维护性
4.掌握软件再工程和逆向工程定义
5.了解软件再工程
十六. 软件项目管理(学时数:3)
教学内容
1.软件项目管理基本概念
项目,项目管理,软件项目管理,软件项目管理的关注点,软件项目管理的内容
2.软件度量
面向规模的度量,面向功能的度量,软件质量模型,程序复杂性度量,软件可靠性度量
3.软件项目估算
代码行、功能点和工作量估算,IBM估算模型,CoCoMo模型,Putnam模型,软件可靠性估算
4.项目进度管理
人员与工作量之间的关系,任务的分解与并行,任务工作量的确定,甘特图,PERT图
5.风险管理
风险标识,风险预测,风险评估,风险管理和控制
6. 软件项目组织
组织结构模式,程序设计小组,人员配备
7.软件质量管理
软件质量保证,软件评审
8.软件配置管理
软件配置管理的基本概念,软件配置管理活动
教学要求
1.掌握软件项目管理的基本概念
2.掌握软件度量和软件项目估算的基本方法
3.会用甘特图和PERT图作出软件项目的进度安排
4.了解风险管理的基本活动和方法
5.了解软件项目组织中各角色的作用
6.了解软件质量保证的基本活动,以及软件评审的任务和方法
7.了解软件配置管理的基本概念和主要活动