《软件需求》课程教学大纲 英文:《Software Requi rements》 一、课程基本信息 课程代码:16112603 课程名称:软件需求 英文名称:Software Requirements 课程类别:必修 学时:48 学 分:3 适用对象:软件工程专业 考核方式:闭卷 先修课程:操作系统、数据库原理、Java编程语言 二、课程简介 中文简介 本课程以整体国家安全观为指引,“软件需求”,目标是深度理解面向对象设计理 论的概念、方法与原则,综合运用各种技巧解决实际环境中的软件开发问题,按照从 易到难、循序渐进的顺序,提高软件技术水平。 英文简介 The Course of Software Requirements aims to help students understand the OO system development,including related concepts,methods and primary principles.In the classes we will use various OO skills,step by step,to solve practical software problems, and therefore improve their development abilities. 三、课程性质与教学目的 本课程为软件专业必修课,目标是提高专业开发综合能力,包括需求分析,软 件架构模型、数据库设计、编程语言等。当今世界各国的关键领域如电子电气,通信, 航空和金融的软件系统性能都与国家战略利益与安全紧密相关,本课程通过系统化的 全面训练,让学生透彻理解软件系统从业务需求到系统需求,从分析到设计,从后台 到前端的完整开发能力的过程,提升编程与实现能力,并把专业技能与保护国家与人 民安全的使命感自然联系起来,给培有优秀的下一代软件工程师贡献一份力量
1 《 软件需求 》课程教学大纲 英文:《 Software Requirements 》 一、课程基本信息 课程代码: 16112603 课程名称: 软件需求 英文名称: Software Requirements 课程类别: 必修 学 时: 48 学 分: 3 适用对象: 软件工程专业 考核方式: 闭卷 先修课程: 操作系统、数据库原理、Java 编程语言 二、课程简介 中文简介 本课程以整体国家安全观为指引,“软件需求”,目标是深度理解面向对象设计理 论的概念、方法与原则,综合运用各种技巧解决实际环境中的软件开发问题,按照从 易到难、循序渐进的顺序,提高软件技术水平。 英文简介 The Course of Software Requirements aims to help students understand the OO system development, including related concepts, methods and primary principles. In the classes we will use various OO skills , step by step, to solve practical software problems, and therefore improve their development abilities. 三、课程性质与教学目的 本课程为软件专业必修课,目标是提高专业开发综合能力,包括需求分析,软 件架构模型、数据库设计、编程语言等。当今世界各国的关键领域如电子电气,通信, 航空和金融的软件系统性能都与国家战略利益与安全紧密相关,本课程通过系统化的 全面训练,让学生透彻理解软件系统从业务需求到系统需求,从分析到设计,从后台 到前端的完整开发能力的过程,提升编程与实现能力,并把专业技能与保护国家与人 民安全的使命感自然联系起来,给培育优秀的下一代软件工程师贡献一份力量
四、教学内容及要求 第一章 概述一软件过程 (一)教学内容 目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政治安 全、经济安全,保障人民生命安全,维护社会稳定和安全的重大意义。 软件开发的结构化方法与面向对象方法的差异 2、软件开发生命周期的各阶段及跨越生命周期的活动 3、迭代的软件开发方法和风险控制 第一节 软件系统开发的本质 第二节 系统规划 第三节 软件开发生命周期 第四节 开发模型与方法 (二)思考 1.从结构化开发到面向对象开发方法的转变,其主要的动机是什么? 2.一个00系统将为集成而设计,其意味是什么? (三)教学方法与手段 多媒体 第二章需求确定 (一)目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政治 安全、经济安全,保障人民生命安全,维护社会稳定和安全的重大 意义。 2
2 四、教学内容及要求 第一章 概述-软件过程 (一)教学内容 目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政治安 全、经济安全,保障人民生命安全,维护社会稳定和安全的重大意义。 软件开发的结构化方法与面向对象方法的差异 2、 软件开发生命周期的各阶段及跨越生命周期的活动 3、 迭代的软件开发方法和风险控制 第一节 软件系统开发的本质 第二节 系统规划 第三节 软件开发生命周期 第四节 开发模型与方法 (二)思考 1. 从结构化开发到面向对象开发方法的转变,其主要的动机是什么? 2. 一个 OO 系统将为集成而设计,其意味是什么? (三)教学方法与手段 多媒体 第二章 需求确定 (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政治 安全、经济安全,保障人民生命安全,维护社会稳定和安全的重大 意义
2、过程层次建模与业务过程建模 3、功能性需求与非功能性需求 4、构建需求业务模型,包括业务用例模型和业务类模型 (二)教学内容 第一节 从业务过程和解决方案 第二节 需求引导 第三节 需求协商与确认 第四节 需求管理 (三)思考与练习 1.需求引导的目标在于使领域知识需求和用例需求一致,解释这两种需 求的不同? 2.什么是原型法?它对需求确定的作用如何? (四)教学方法与手段 多媒体、实验编程练习 第三章可视化建模基础 (一)目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义 2、用例及活动视图进行行为建模的技术 3、类图是对所开发的系统的完整定义,最终结果 4、时序图与通信图在交互建模里的应用
3 2、 过程层次建模与业务过程建模 3、 功能性需求与非功能性需求 4、 构建需求业务模型,包括业务用例模型和业务类模型 (二)教学内容 第一节 从业务过程和解决方案 第二节 需求引导 第三节 需求协商与确认 第四节 需求管理 (三)思考与练习 1. 需求引导的目标在于使领域知识需求和用例需求一致,解释这两种需 求的不同? 2. 什么是原型法?它对需求确定的作用如何? (四)教学方法与手段 多媒体、实验编程练习 第三章 可视化建模基础 (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 用例及活动视图进行行为建模的技术 3、 类图是对所开发的系统的完整定义,最终结果 4、 时序图与通信图在交互建模里的应用
(一)教学内容 第一节 用例视图 第二节 活动视图 第三节 结构视图 第四节 交互视图 (二)思考与实践 1、解释静态模型,行为模型和状态机模型的特点与互补特性? 2、实体类是什么?在建模实战中还需区分哪些其它各类的类? (三)教学方法与手段 多媒体、实验编程练习 第四章需求规格说明 (一)目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、对于自适应系统,早期优先进行体系结构设计的重要性 3、熟悉PCBMER体系结构框架 4、如何对类,关联,其它关系和接口进行建模 (二)教学内容 第一节 体系结构优先权
4 (一)教学内容 第一节 用例视图 第二节 活动视图 第三节 结构视图 第四节 交互视图 (二)思考与实践 1、 解释静态模型,行为模型和状态机模型的特点与互补特性? 2、 实体类是什么?在建模实战中还需区分哪些其它各类的类? (三)教学方法与手段 多媒体、实验编程练习 第四章 需求规格说明 (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 对于自适应系统,早期优先进行体系结构设计的重要性 3、 熟悉 PCBMER 体系结构框架 4、 如何对类,关联,其它关系和接口进行建模 (二)教学内容 第一节 体系结构优先权
第二节 需求规格说明 第三节 行为规格说明 第四节 状态规格说明 (三)思考与实践 1.解释4种类发现方法的主要差异? 2。不具有多态性的继承是可能,但是没有什么意义.请举例 (四)教学方法与手段 多媒体、实验练习 第五章从分析到设计 (一)目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、UML在较低抽象水平上的建模特性 3、功能强大的技术概念在使用时必须谨慎 4、在建模时,对Generalization与Aggregation的权衡 (二)教学内容 第一节 高级类建模 第二节 高级泛化与继承建模 第三节 高级聚合与委托建模 5
5 第二节 需求规格说明 第三节 行为规格说明 第四节 状态规格说明 (三)思考与实践 1. 解释4种类发现方法的主要差异? 2. 不具有多态性的继承是可能,但是没有什么意义.请举例 (四)教学方法与手段 多媒体、实验练习 第五章 从分析到设计 (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 UML 在较低抽象水平上的建模特性 3、 功能强大的技术概念在使用时必须谨慎 4、 在建模时,对 Generalization 与 Aggregation 的权衡 (二)教学内容 第一节 高级类建模 第二节 高级泛化与继承建模 第三节 高级聚合与委托建模
第四节 高级交互建模 (三)思考与实践 1.封装与可见性是一回事吗?请解释 2.什么是可替换性原则?解释并举例 3。比较继承和委托,相似与差异在哪些地方? (四)教学方法与手段 多媒体、实验编程练习 第六章系统体系结构与程序设计 (一)目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、典型的分布式物理体系结构之间的区别 3、多层逻辑体系结构的重要性 4、良好程序设计的基本法则 (二)教学内容 第一节 分布式物理体系结构 第二节 多层逻辑体系结构 第三节 体系结构建模 第四节 程序设计与利用原则 (三)思考与实践 6
6 第四节 高级交互建模 (三)思考与实践 1. 封装与可见性是一回事吗?请解释 2. 什么是可替换性原则?解释并举例? 3. 比较继承和委托,相似与差异在哪些地方? (四)教学方法与手段 多媒体、实验编程练习 第六章 系统体系结构与程序设计 (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 典型的分布式物理体系结构之间的区别 3、 多层逻辑体系结构的重要性 4、 良好程序设计的基本法则 (二)教学内容 第一节 分布式物理体系结构 第二节 多层逻辑体系结构 第三节 体系结构建模 第四节 程序设计与利用原则 (三)思考与实践
1.什么是三层体系结构?它的优点缺点分别是? 2.中介者模式的优势和不足是什么? (四)教学方法与手段 多媒体、实验练习 第七章图形用户界面(GUI)设计 (一)目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 良好的GU设计原则 3、桌面GUI设计与Web GUI设计的相似与差异 4、GUI及导航的设计技术 (二)教学内容 第一节 GUI设计原则 第二节 桌面GUI设计 第三节 Web GUI设计 第四节 GUI导航建模 (三)思考与实践 1.从面向过程到00P的转变中,哪一个GU1设计指南最基本? Web第节 2.Web应用程序有哪些客户端? 3.Interface在软件工程的什么上下文里使用?
7 1. 什么是三层体系结构?它的优点缺点分别是? 2. 中介者模式的优势和不足是什么? (四)教学方法与手段 多媒体、实验练习 第七章 图形用户界面(GUI)设计 (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 良好的 GUI 设计原则 3、 桌面 GUI 设计与 Web GUI 设计的相似与差异 4、 GUI 及导航的设计技术 (二)教学内容 第一节 GUI 设计原则 第二节 桌面 GUI 设计 第三节 Web GUI 设计 第四节 GUI 导航建模 (三)思考与实践 1. 从面向过程到 OOP 的转变中,哪一个 GUI 设计指南最基本? Web 第节 2. Web 应用程序有哪些客户端? 3. Interface 在软件工程的什么上下文里使用?
(四)教学方法与手段 多媒体、实验练习 第八章持久性与数据库设计 (一)目的与要求 1、树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、掌握业务对象和持久性的关系 3、关系数据库模型 4、对象一数据库的双向映射技术 (二)教学内容 第一·节 业务对象和持久性 第二节 关系数据库模型 第三节 对象一关系映射 第四节 持久对象的模式 (三)思考与实践 1.描述性引用完整性有哪些种类? 2.存储过程与触发器的联系? 3.什么是好的数据库范式? (四)教学方法与手段 多媒体、实验练习
8 (四)教学方法与手段 多媒体、实验练习 第八章 持久性与数据库设计 (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 掌握业务对象和持久性的关系 3、 关系数据库模型 4、 对象-数据库的双向映射技术 (二)教学内容 第一节 业务对象和持久性 第二节 关系数据库模型 第三节 对象-关系映射 第四节 持久对象的模式 (三)思考与实践 1. 描述性引用完整性有哪些种类? 2. 存储过程与触发器的联系? 3. 什么是好的数据库范式? (四)教学方法与手段 多媒体、实验练习
第九章软件系统分析与设计实践-Online Shopping (一)目的与要求 1、树立整体因家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、Online Shopping应用的O0需求分析 3、设计与细化 4、Java/C#/Python实现 (二)教学内容 第一节 Online Shopping-系统用例清单,业务用例清单,共l7个系统级用例 第二节 活动建模 第三节 类建模 第四节 实现建模 (三)思考与实践 1.如何在实践里把握用例粒度的粗细分划? 2. 从分析到实现的过渡的难点? (四)教学方法与手段 多媒体、课堂分组讨论: 五、各教学环节学时分配
9 第九章 软件系统分析与设计实践-Online Shopping (一)目的与要求 1、 树立整体国家安全观,明白提高软件系统开发水平对维护国家政 治安全、经济安全,保障人民生命安全,维护社会稳定和安全的重 大意义。 2、 Online Shopping 应用的 OO 需求分析 3、 设计与细化 4、 Java / C# / Python 实现 (二)教学内容 第一节 Online Shopping -系统用例清单,业务用例清单,共 17 个系统级用例 第二节 活动建模。 第三节 类建模 第四节 实现建模 (三)思考与实践 1. 如何在实践里把握用例粒度的粗细分划? 2. 从分析到实现的过渡的难点? (四)教学方法与手段 多媒体、课堂分组讨论; 五、各教学环节学时分配
教学环节 讨 小 教学时数 ◆ 实验 其他教 课 学环节 课程内容 第一章 第二章 第三章 第四章 Q 第五章 第六章 2 9 第七章 第八章 A 第九章 2 合计 2 16 0 48 六、推荐教材和教学参考资源 (1)推荐教材:需求分析与系统设计,3 Edition(澳)Leszek A.Maciaszck,机械工业出版社2009 (2)经典书目:Objected-Oriented Software Construction,2 Edition.(美)Meyer,Prentice Hall1997 ISBN:0-13-629155-4 (3)参考书: 面向对象思考过程Matt Weisfeld,机械工业出版社 [☑](美)Booch,G.Objected-Oriented Analysis and Design with Applications,Benjamin Cummings,1993,1SBN:0-805-35340-2 (3)学习网站: 七、其他说明 10
10 教学环节 教学时数 课程内容 讲 课 习 题 课 讨 论 课 实验 其他教 学环节 小 计 第一章 2 2 第二章 2 1 2 5 第三章 4 2 6 第四章 4 1 2 7 第五章 6 2 8 第六章 4 1 2 2 9 第七章 2 1 2 5 第八章 2 2 4 第九章 2 2 4 合计 28 2 2 16 0 48 六、推荐教材和教学参考资源 (1)推荐教材:需求分析与系统设计,3rd Edition (澳)Leszek A. Maciaszek, 机械工业出版社 2009 (2)经典书目:Objected-Oriented Software Construction, 2nd Edition, (美)Meyer, Prentice Hall, 1997, ISBN: 0-13-629155-4 (3)参 考 书: [1] 面向对象思考过程 Matt Weisfeld, 机械工业出版社 [2] ( 美)Booch,G. Objected-Oriented Analysis and Design with Applications, Benjamin Cummings, 1993, ISBN: 0-805-35340-2 (3)学习网站: 七、其他说明