《软件需求分析与设计》课程教学大纲
课程名称:软件需求分析与设计 | 课程类别(必修/选修):必修 | ||||||||
课程英文名称:Software Requirements Analysis and Design | |||||||||
总学时/周学时/学分:72/4/4 | 其中实验学时:36 | ||||||||
先修课程:《C++编程语言》,《Java编程语言》,《数据库系统原理》 | |||||||||
授课时间:松山湖/周二5-6节,周三5-6节,周五1-2节,1-18周 | 授课地点:6E103,6D401 | ||||||||
授课对象: 16级软件工程1-3班、卓越1-2班 | |||||||||
开课院系:计算机与网络安全学院 | |||||||||
任课教师姓名/职称:侯爱民/副教授,周鹏/副教授 | |||||||||
联系电话:13538377208,748697 | Email:houam@dgut.edu.cn | ||||||||
答疑时间、地点与方式:每次上课前和下课后,课余时间/上课教室,8A406/答疑 | |||||||||
课程考核方式:开卷( ) 闭卷( Ö ) 课程论文( Ö ) 其它( Ö ) | |||||||||
使用教材:《面向对象分析与设计(UML)》,侯爱民、欧阳骥、胡传福编著,清华大学出版社,2015 年,第1 版,《软件需求工程》,毋国庆,梁正平等编著,清华大学出版社,2015年,第2版 教学参考资料:《面向对象技术UML 教程》,王少峰编著,清华大学出版社,2004年,第1 版 《软件需求工程》,康雁主编,科学出版社,2012年,第1版 | |||||||||
课程简介:《软件需求分析与设计》是一门软件工程专业重要的、实践性很强的一门基础必修课。任何一个软件系统的开发,离不开需求分析、软件建模。UML是一种定义良好、易于表达、功能强大且适用于各种应用领域的建模语言,已被OMG采纳为标准。目前UML已成为面向对象技术领域内占主导地位的标准建模语言。使用UML,不仅能对需求进行分析与建模,而且也能将需求模型转换成软件系统的各种模型。掌握UML语言,不仅有助于理解面向对象的分析与设计方法,也有助于对软件开发全过程的理解。通过该课程的学习,使学生能基本掌握基于面向对象进行软件需求及软件结构的分析与设计方法,能够使用UML语言来进行初步的系统分析与设计。 | |||||||||
课程教学目标 1. 核心能力3:执行软件工程实践所需技术、技巧及使用现代工具的能力 培养学生能够以面向对象技术为基础、按照软件工程生命周期模型的各个阶段的一般性原理、主要思想、核心步骤,对一个实际项目进行分析与设计。项目产品形式是一个软件系统。了解和掌握各阶段的规范文档书写格式。熟练使用Rational Rose工具、基于UML理念、绘制各阶段所需的模型图形。 2. 核心能力4:设计及评估算法、程序、组件和软件系统能力 通过正向工程和逆向工程的实践,促进学生理解软件系统的功能实现与功能需求之间的对应关系。通过解剖一个成功的软件系统,掌握设计与开发软件系统功能的能力。通过分析一个项目的客户需求,掌握分析与设计一款新的软件系统的综合能力。 3. 核心能力5:项目管理、有效沟通、领域整合与团队合作的能力 通过实践软件工程生命周期模型的各个阶段的流程,培养学生规范书写各阶段的相关文档,通过角色的相互交换,培养学生理解项目管理的内容,能够有效进行沟通,以及团队合作的方式完成一个实际项目的分析与设计。
| 本课程与学生核心能力培养之间的关联(授课对象为理工科专业学生的课程填写此栏): □核心能力1. □核心能力2. □Ö核心能力3. □Ö核心能力4. □Ö核心能力5. □核心能力6. □核心能力7. □核心能力8. | ||||||||
理论教学进程表 | |||||||||
周次 | 教学主题 | 教学时长 | 教学的重点与难点 | 教学方式 | 作业安排 | ||||
1 | 软件需求分析概述 | 4 | 了解需求的概念、层次、分类。了解需求文档的构成。了解需求工程的概念。了解需求分析的方法。通过案例分析,掌握需求分析的方法,能够编写需求文档。 | 课堂讲解,问题讨论 | 简答题、分析题 | ||||
2 | 用例图建模 | 4 | 掌握用例图建模,掌握用例、参与者、它们间的关系的识别,掌握用例描述,案例分析。 | 课堂讲解,视频播放,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
4 | 类图建模 | 4 | 掌握类图和对象图的组成,掌握类、类之间的关系的识别 | 课堂讲解,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
7 | 顺序图与协作图建模 | 4 | 掌握顺序图和协作图的组成,掌握消息类型,掌握顺序图和协作图与用例描述的对应关系 | 课堂讲解,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
9 | 状态图与活动图建模 | 4 | 掌握状态图和活动图的组成,掌握对象属性值及变量值刻画状态 | 课堂讲解,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
11 | 需求分析的UML方法综述 | 4 | 综合运用上述的建模方法,对一个实际系统的需求进行需求分析 | 课堂讲解,问题讨论 | 简答题、分析题 | ||||
12 | 组件图与部署图建模 | 2 | 掌握组件图和部署图的组成,掌握组件与类的对应关系,结点的类型,案例分析 | 课堂讲解,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
12 | 包图建模、数据建模 | 2 | 掌握包图的组成,包与组件的对应关系。掌握对象模型和数据模型的相互转换。案例分析 | 课堂讲解,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
13 | RUP软件开发过程 | 2 | 理解软件开发过程的定义,理解RUP软件开发生命周期,理解RUP中的核心概念 | 课堂讲解,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
13 | 软件设计模式 | 2 | 理解软件设计模式的概念,理解具体模式分类,理解模式与程序代码的对应关系 | 课堂讲解,问题讨论 | 填空题、选择题、简答题、分析题 | ||||
14 | 需求获取管理 | 4 | 综合运用需求获取的方法,对一个实际系统的需求进行需求获取 | 课堂讲解,问题讨论 | 简答题、分析题 | ||||
合计: | 36 | ||||||||
实践教学进程表 | |||||||||
周次 | 实验项目名称 | 学时 | 重点与难点 | 项目类型(验证/综合/设计) | 教学 方式 | ||||
3 | 用例图的设计与制作 | 4 | 正确识别参与者、用例、它们间的关系,根据一个可运行系统的实际情况,完成用例模型的设计与绘制 | 设计 | 上机操作,分析一个具体的软件系统,逆向工程 | ||||
6 | 类图的设计与制作 | 4 | 正确识别类、它们间的关系,根据一个可运行系统的实际情况,完成类模型的设计与绘制 | 设计 | 上机操作,分析一个具体的软件系统,逆向工程 | ||||
8 | 顺序图与协作图的设计与制作 | 4 | 正确识别类、消息发送的顺序与用例描述的对应关系,根据一个可运行系统的实际情况,完成顺序图和协作图模型的设计与绘制 | 设计 | 上机操作,分析一个具体的软件系统,逆向工程 | ||||
10 | 状态图与活动图的设计与制作 | 4 | 正确识别类的属性值与状态的关系,活动与用例描述的对应关系,根据一个可运行系统的实际情况,完成状态图和活动图模型的设计与绘制 | 设计 | 上机操作,分析一个具体的软件系统,逆向工程 | ||||
15-19 | 《面向对象分析与设计(UML)》课程的交流平台的综合实践 | 20 | 根据文字描述的用户需求,进行需求分析和系统设计。按照软件需求规格说明文档的规范要求,写出规范的软件需求规格说明。使用Java EE技术,开发一个软件系统 | 综合 | 上机操作,实现一个具体的软件系统,正向工程 | ||||
合计: | 36 | ||||||||
成绩评定方法及标准 | |||||||||
考核形式 | 评价标准 | 权重 | |||||||
课堂测验成绩 | 习题参考答案 | 15% | |||||||
实验报告 | 系统分析参考答案 | 15% | |||||||
综合实践 | 系统分析参考答案 | 40% | |||||||
期中考试 | 试卷参考答案 | 10% | |||||||
期末考试 | 试卷参考答案 | 20% | |||||||
大纲编写时间:2018-09-01 | |||||||||
系(部)审查意见:
我系(专业)课程委员会已对本课程教学大纲进行了审查,同意执行。
系(部)主任签名: 日期: 年 月 日
|
注:1、课程教学目标:请精炼概括3-5条目标,并注明每条目标所要求的学习目标层次(理解、运用、分析、综合和评价)。本课程教学目标须与授课对象的专业培养目标有一定的对应关系
2、学生核心能力即毕业要求或培养要求,请任课教师从授课对象人才培养方案中对应部分复制(http://jwc.dgut.edu.cn/)
3、教学方式可选:课堂讲授/小组讨论/实验/实训
4、若课程无理论教学环节或无实践教学环节,可