软件工程1教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程I》教学大纲
课程名称:软件工程I
课程代号:07323020 学时数:64 学分数:4
适应专业:计算机及相关专业
一、本课程的地位、任务、作用
本课程是计算机及相关专业的必修课,在整个课程体系中起着重要作用。其任务是从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与管理的能力。其作用是使学生掌握软件工程的基本概念、原理和设计方法以及软件常用的开发工具和环境,并且了解软件项目开发的管理、组织。
二、本课程的相关课程
本课程的先前课程为程序设计语言、数据结构和数据库原理。通过它们,一方面可以使得学生理解软件的一些基本内容和概念,另一方面为学生进行实践活动提供相应的技术手段和支持。
三、本课程的基本内容及要求
(一)基本内容
1.软件工程概述
软件的特征、软件发展的主要阶段及其特征;软件工程的基本概念及软件工程化方法的特点;软件研发中面临的主要问题和“软件危机”。帮助学生建立软件工程的整体框架以及学科的体系结构,促使学生将进一步对学习内容的理解。要求掌握软件、软件工程、软件过程以及软件开发模型等概念。难点和重点是软件开发过程模型概念。
2.软件管理
软件管理的特点;开发计划与进度管理、成本管理、人员组织管理和文档管理;软件的质量标准、软件质量管理、软件的度量手段和软件过程的管理以及CMM技术等。要求掌握软件的规模、质量、复杂度的度量以及CMM等概念。
3.系统分析
基于计算机的系统、计算机系统工程、系统需求识别、可行性研究、成本与效益分析、分配与权衡、系统结构的模型化、系统定义与评审、软件计划书。掌握系统结构的模型化以及可行性分析等概念。
4.需求分析方法
需求分析的目标和任务;传统的数据流分析技术(SA),数据流分析策略,数据流分析实例,需求分析文档,需求分析工具。强调软件需求的重要性、软件需求过程中用户的参与以及开发人员和用户之间的沟通问题。掌握结构化需求分析工具和方法。难点和重点是软件需求的过程、任务以及需求的描述。
5.传统软件设计方法
设计阶段的原则、目的和任务;软件设计的基本概念、结构化设计技术;详细设计描述语言,如流程图、伪码、N-S图、PAD图等,设计文档。介绍软件体系结构技术和构件技术等。掌握软件设计所涉及到的基本概念和常用的设计工具和方法。重点是软件设计的基本概念和变换型设计方法。
6.人机界面设计
人的因素、人机界面的风格、人机界面的设计过程、人机界面实现的原则。在软件设计时,强调人机界面的友好性。
7.面向对象分析与设计面向对象的基本概念,即对象、类、继承性等,统一建模语言(UML)、基于UML的面向对象分析、设计方法。强调学生学习和掌握这一软件技术的新方法,包括UML、开发模型和方法。重点是UML语言机制、RUP开发模型、体系架构以及设计方法。
8.软件编码
语言理论基础、编码风格、程序设计语言的选择、编码工具与环境。强调程序的良好结构和良好风格的重要性。
9.软件测试
测试的目标与原则,测试阶段的信息流向、测试方法、测试步骤、纠错技术。强调软件测试技术的重要性,要求掌握基本的软件测试的基本方法。重点是测试的原则、基本路径、边界值分析和等价类测试方法。
10.软件维护
软件维护的目的与特点;可维护性因素、维护的任务、维护的副作用、软件的配置管理。从维护的角度,强调软件设计阶段应该考虑软件的适应性和灵活性的设计问题以及软件的配置管理的作用。
11.软件重用技术
复用的基本概念、构件库的构造、基于构件的软件开发、面向对象的软件重用、软件重用项目的管理等,介绍Java与Internet环境下的软件开发等最新理论和技术。强调在软件开发过程中使用重用技术,掌握软件重用所涉及到的基本概念。重点是构件的开发、组织和软件的组装等。
(二)基本要求
本课程阐述了软件、软件工程的基本概念、原理和设计方法,介绍了软
件项目开发的管理和组织以及软件开发工具和环境。讲授与学生选择实际软件项目按工程化方法开发相结合,在弄清软件开发过程、方法及相关技术基础上,通过具体软件项目的实践,达到工程化软件开发过程的实际训练与能力的培养。
四、实验、课程设计及要求
(一)实验(12学时)本实验属综合性实验。需求分析、设计和实现一个学校工资管理系统(或其它系统),使得学生对软件开发过程有个感性的认识。本实验利用数据库系统课程所学习的可视化语言作为开发工具,采取基于4GL 技术模型进行该软件的开发。4GL模型对管理型类软件开发比较适宜,可以省略部分设计阶段工作,软件的测试工作相对简单。要求学生在完成实验报告时能够实习软件开发过程中的文档资料的撰写。
(二)软件工程课程设计(1周,上机实验8学时)从所布置的若干课题中选择一个题目,提供较全面的实践过程,使得学生达到工程化软件开发过程的实际训练与培养,对软件开发及其所学习内容得到进一步的体会和认识。针对本课程设计,完成以下课程设计任务要求:
1.熟悉系统实现工具和上机环境
2.本课题的可行性分析
简要叙述技术可行性、省略经济可行性和法律可行性等。
3.系统的需求分析
包括:数据流程图,功能分析图,数据字典,数据加工处理的描述,软件系统流程设想图(新系统模型)
4.系统设计
包括:系统结构图设计,输出设计(指打印输出设计),存储文件格式设计(数据库结构设计),用户界面设计,模块详细设计,程序设计说明书5.利用C或C++进行编码
6.静态走查程序和上机调试程序(即软件测试)
7.书写系统上述文档和撰写课程设计报告
题目一“教务管理系统之子系统——系内课程安排”
系统简介
每学期的期中,学院教务处分别向各个系发出下学期的教学计划,包
括课程名、课时、班级类别(本科、专科、高职)、班号等;系教学主管人员根据教学任务和要求给出各课程的相关限制(如:任课教师职称、和班数、最高周学时数等);任课教师自报本人授课计划,经所在教研室协调确认,将教学