《软件工程》教学大纲
一、 教学目的及任务
本课程是计算机科学与技术专业的主要专业基础课, 本课程为理论与实践并重的信息学科的专业基础课。本课程的主要目的是使学生理解在软件开发过程中应用软件工程方法的必要性和迫切性,要求学生掌握软件工程的基本概念、原理与技术方法。在让学生了解有关知识与方法的同时,采用实践相配合的方式提高学生对专业知识的综合应用能力与技能,使学生在接收理论知识的基础上提高并加强工程化知识与实践知识的教育,为学生在今后从事计算机大规模软件开发与维护打下扎实的基础。
教学任务是使学生熟练掌握和在实践中运用软件工程基本概念、原理和方法,常用的软件过程模型,软件项目管理与质量保证的基本方法与工具。使学生能针对具体应用,进行需求分析建模、软件设计及测试,以规范的方法开发软件系统。使学生具备分析解决软件工程问题的能力,以及团队协作、谈判沟通等能力。
二、教学方法
(一)授课方式与要求
授课方式:
a. 教师讲授(讲授核心内容、总结、按顺序提示今后内容、答疑);
小手拉大手歌词b. 课后作业(每周作业在教学日历中列出);
c. 课堂测验(就已经学过的内容不定时进行课堂测验);
d. 案例研讨(就某个典型的应用案例进行课前调研和课堂研讨)
e. 课堂报告(针对某个知识点,提前布置,让学生在课堂上分享自己的理解)
f. 实验项目(根据实验要求分组进行软件系统开发,其间编写实验报告,如需求分析报告、总体设计报告、测试报告等,提交可运行的软件系统);
g. 期末考试(闭卷考试)。
课程要求:熟悉软件工程基本知识,掌握从软件计划、需求分析、设计、测试等过程的一
系列软件开发方法和工具,提高软件开发能力。
说明:本课程注重实践能力的培养。课后需要有足够的时间进行课程案例调研以及实验项目的设计和实现。
中国女装(2)考试评分与建议
a. 期末考试占40%
b. 实验项目占40%
c. 课堂讨论(含课堂测验和课堂报告)占20%。
三、教学安排
(一)教学内容
第一次:软件工程概述(模块-1-软件工程概述)
主要内容:
软件已经成为以计算机为基础的系统和产品中的关键部分,并且成为世界舞台上最为重要的技术之一,软件工程的目的是高效率的开发高质量的软件产品。本次课主要介绍软件的特性、软件开发中可能面临的问题、软件工程这个概念的产生及其重要意义。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc.第1章 第1-18页。
作业题:习题集1
附加题:人们常见的理解是“软件工程让我们炮制大量无用的文档,从而使开发进度延缓”。你同意这个观点吗?请陈述理由。
第二次:软件过程(模块-1-软件过程)
主要内容:
软件过程,定义了软件工程各种实践活动的组成和结构,提高了软件工程活动的稳定性、
可控性和有组织性。本次课介绍软件开发过程的总体框架以及一般模式,并讲解几种经典的过程模型,包括最传统的瀑布模型,以及由其衍生发展出的渐增式模型、演进式模型、以及一些特殊模型等。重点讲解瀑布模型、渐增模型、快速开发模型、以及迭代原型法。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc.第2-3章 第20-70页。
作业题:习题集2-3
附加题: Is “orderly approach” really so good?
第三次:软件项目管理与系统工程概述(模块-2-系统工程概述,模块-6-软件项目管理)
主要内容:
软件项目管理是软件工程的普适性活动,它先于任何技术活动之前开始,且持续贯穿于整个计算机软件的定义、开发和维护之中。介绍项目管理的主要内容和基本概念,项目人员
重庆中考时间的构成、组织方法、领导人需要具备的素质,及项目管理面临的问题等。
介绍软件工程实践原则和系统工程。介绍软件工程作为整体,以及沟通、计划、建模、构造、部署等通用框架活动中实践的概念、原则和方法,系统工程的含义及系统工程与软件工程之间的关系,系统工程层次结构,全局视图、领域视图、要素视图和详细视图四个视图的主要内容,介绍系统建模的基本概念、系统环境图及UML建模。
阅读材料:
1. Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc. 第21章 第596-615页,第5-6章 第96-141页。
作业题:习题集21,5-6
第四次:需求工程与需求分析建模()(模块-2-需求工程)
主要内容:
介绍需求工程的目的和任务,需求工程的重要性和困难所在。讲授需求工程的七个基本步骤,起始、导出、精化、协商、规格说明、确认和需求管理,介绍每个任务的作用及实现方法。着重讲解需求导出过程中的方法和技巧,如何通过用例来描述参与者与系统之间的交互。
需求分析建模是使用文字和图表的综合形式,以相对容易理解的方式描绘需求的数据、功能和行为,提高需求说明的正确性、完整性和一致性。介绍分析建模的原则方法,了解分析建模的两种主流方法:结构化分析和面向对象分析,引出分析建模的主要四种模型:基于场景的模型、面向流的模型、基于类的模型和行为模型。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc. 第7章 第142-174页,第8章 第175-180页。
作业题:习题集7
附加题: As the requirements change over time, how to elicit requirements effectively?
第五次:需求分析建模()(模块-2-需求分析与模型建立)
主要内容:
介绍数据建模的概念,讲解如何构建实体-关系图;讲解面向对象分析的要素,详细讲授分析建模的主要四种模型:基于场景的模型、面向流的模型、基于类的模型和行为模型,讲解四种模型所对应图的表达方法,如用例图、活动图、数据流图、类图、状态图、顺序图等。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc. 第8章 第181-225页。
作业题:习题集8
附加题:什么是面向对象?为什么要有封装性?
综合性课程实验:婚姻技巧布置需求分析报告
第六次:Web工程概述与Web需求分析(模块-5-Web工程概述、Web需求分析)
主要内容:
介绍Web应用的组成、特性、分类、Web工程的基本过程、过程框架、基本问题和最佳实践,以及Web需求分析中的内容模型、交互模型、功能模型、配置模型、关系导航分析等具体内容。使得学生能区分出Web应用软件开发与传统软件开发的不同特点。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc. 第16-18章 第468-526页。
作业题:习题集16,17,18
第七次:设计概念与原则(模块-3-设计概念与原则)
主要内容:
软件设计在软件工程中是技术核心,是建模活动中的最后一个,设计之后便要进入构造阶段。本次课介绍设计的目标及设计在软件工程中的重要性,着重讲解分析模型与设计模型之间的关系、设计模型的元素,设计的基本概念、原则及其在设计中的作用,最后介绍设计模式和框架。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc. 第9章 第226-253页。
作业题:习题集9
第八次:体系结构设计 (模块-3-软件系统设计)
主要内容:
软件体系结构描述了计算机系统的结构,包括软件构件、构件的外部属性及相互关系。介绍软件体系结构设计的基本概念,理解体系结构设计的重要性,重点讲解体系结构的典型
风格和模式,体系结构设计的步骤,数据设计,映射数据流到软件体系结构的结构化设计方法等。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc. 第10章 第254-291页。
作业题:习题集10
附加题:如果一个模块有太多的扇入或扇出模块会有什么问题?教材介绍的一些体系结构风格在本质上是分层的,有一些却不是,分别列举一下,这些非分层的体系结构风格是如何实现的?
综合性课程实验:收需求分析报告,布置设计报告演讲及设计模式研究报告
第九次:泡鸭爪Web应用软件设计、SQA与需求变更管理(模块-5-Web应用软件设计,模块-6-软件过程控制与质量保证)
主要内容:
介绍Web应用质量和设计目标、Web工程设计金字塔的概念,以及Web应用界面设计、美学设计、内容设计、架构设计、导航设计、组件层设计、超媒体设计、设计指标等。
介绍软件项目管理中非常重要的两项内容:软件质量保证(SQA)和需求变更管理的基本概念和方法。介绍软件质量管理的内涵及代价,软件质量管理的基本活动,正式技术复审(FTR)的重要性、过程及要点,及统计SQA的基本概念。讲解软件配置项及基线的基本概念,及软件配置管理的基本过程。
阅读材料:
1.Software Engineering – A Practitioner’s Approach (6th Edition), Roger S. Pressman, 清华大学出版社 • McGraw-Hill Companies, Inc. 第19、26-27章,第527-561,712-768页赤壁赋原文。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论