1、软件开发实践教学大纲一、 说明部分(一) 课程的性质和任务本课程是三年制高等职业教育计算机软件技术专业的一门必修课。软件开发实践是计算机软件技术专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、需求分析、总体设计、详细设计、面向对象分析与设计、编码与测试、软件工程文档编制等,这些内容是通过一个软件工程项目的建设来掌握的,这样使学生通过本课程的学习、实践,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和面向对象的方法,为更深入地学习和今后从事软件工程实践工作打下良好的基础。(二) 教学的基本要求通过本课程的学习、实践,要求学生掌握软件工程的基本概念和基本原理,实
2、用的软件开发方法和技术;理解如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。主要包括:1.软件工程的基本概念。2.软件开发各阶段的目标、任务和文档。3.结构化方法的开发过程和步骤。4.面向对象方法的基本思想、基本模型。5.软件工程的维护系统和文档编制。要求掌握结构化分析、设计与编码,测试与维护,软件工程文档编制等基本方法;理解面向对象方法;掌握采用软件工程的方法进行软件项目的分析、设计、实现和维护的基本技能。(三) 适用专业与学时本课目适用于计算机系软件技术等专业,课程学时为72课时。(四) 与其它课程的关系学习本课程要求有一定的程序设计经验以及数据结构、数据库和
3、操作系统、软件工程基础等的一些知识和概念,因此,先修课程为至少一门程序设计语言、数据结构、数据库应用和操作系统、软件工程基础。(五) 推荐教材与参考书软件工程案例教程软件项目开发实践,韩万江 姜立新等编著,机械工业出版社;软件工程基础教程,刘文 朱飞雪 主编,北京大学出版社;软件工程实验,狄国强 杨小平 杜宾 编著,清华大学出版社和北京交通大学出版社;软件工程课程设计,李龙澍等编著,机械工业出版社。(六) 主要教学方法与设备要求本课程教学的重点为结构化方法开发软件的过程、步骤及应遵循的原则。教学过程中主要应注重方法、技术的实际应用,能应用相应的工具开发软件项目。本课程实践教学的难点为需求分析和
4、软件测试。二、 正文部分实践一:软件开发实践准备基本要求和基本知识点:理解软件工程的基本概念;软件开发模型;软件开发的基本方法和工具;理解面向对象方法的软件工程。本章的基本知识点有:软件工程的概念、软件开发模型、面向对象方法学。本章重点:软件工程的概念、软件生命周期、软件开发模型、面向对象方法学。本章难点:深入理解软件开发模型、理解面向对象方法的软件工程。一、 软件工程基本概念1教学内容:(1) 软件工程的概念(2) 软件工程的基本原理和基本目标2教学要求:理解软件工程的基本概念和目标。二、软件开发模型1教学内容:(1) 瀑布模型(2) 快速原型模型(3) 增量模型(4) 螺旋模型(5) 喷泉
5、模型(6) 形式化方法模型2教学要求:了解软件的开发模型。三、软件开发基本方法和工具1教学内容:(1) 软件开发的基本方法(2) 软件开发工具(3) 传统的软件工程(4) 面向对象的软件工程2教学要求:了解软件开发基本方法和工具。四、面向对象方法学基础1教学内容:(1) 面向对象方法学概述;(2) 面向对象的基本特征(3) 面向对象的建模(4) 统一建模语言UML2教学要求:了解面向对象的软件工程方法。五、软件开发项目选择和学习1教学内容:(1) 选择合适的软件开发项目(2) 查找合适的软件开发网站2教学要求:了解相关的软件开发项目,获得相关的软件开发网站。六、软件工程开发环境和工具的安装配置
6、1教学内容:(1) 软件工程工具的安装(如Project、Visio、Rose等)(2) 软件工程工具的配置(3) 软件工程工具的使用2教学要求:掌握软件工程开发环境和工具的安装配置。本实践阶段教学时间:课堂教学:4课时;实验:4课时实践二:需求分析基本要求和基本知识点:理解需求分析阶段的任务,熟悉需求分析的方法,掌握系统流程图设计,熟练掌握数据流图的设计,数据字典设计。掌握面向对象分析方法。本章的基本知识点有:需求分析方法、数据流图、数据字典、面向对象分析。本章重点:结构化分析,面向对象分析。本章难点:面向对象分。一、需求分析概述1教学内容:(1) 需求分析的任务和步骤(2) 软件需求的获取
7、方法2教学要求:理解需求分析的任务和步骤,了解需求的获取方法。三、结构化分析方法1教学内容:(1) 数据流图设计(2) 数据字典设计(3) 结构化设计方法讨论2教学要求:熟悉数据流图的设计和数据字典的设计。四、结构化分析方法案例分析1教学内容:(1) 项目案例A介绍和需求分析(2) 案例A:分层数据流图设计(3) 案例A:数据字典设计(4) 项目案例B介绍和需求分析(5) 案例B:分层数据流图设计(6) 案例B:数据字典设计2教学要求:掌握数据流图的设计和数据字典的设计。五、面向对象分析方法1教学内容:(1) 对象模型建立(2) 动态模型建立(3) 功能模型建立(4) 面向对象分析示范和案例分
8、析2教学要求:熟悉面向对象分析方法。 本实践阶段教学时间:课堂教学:4课时;实验:8课时实践三:总体设计基本要求和基本知识点:理解软件总体设计的基本任务。掌握结构化设计方法(要求能划分数据流的类型,能将其转换成软件结构图。)、面向对象设计方法。本章的基本知识点有:软件总体设计的基本任务、软件结构设计。本章重点:结构化设计;面向对象设计。本章难点:面向对象的设计方法。一、总体设计的基本方法1教学内容:(1) 总体设计的任务(2) 总体设计的步骤2教学要求:理解总体设计的任务和步骤二、软件结构设计1教学内容:(1) 模块的独立性(2) 结构化建模2教学要求:理解模块化设计方法。三、面向数据流的设计
9、1教学内容:(1) 系统结构图(2) 设计过程(3) 变换分析(4) 事务分析(5) 设计优化(6) 面向数据流的设计示范2教学要求:掌握面向数据流的设计方法。四、面向对象的设计1教学内容:1) 面向对象设计的方法;2) 面向对象的设计示范2教学要求:掌握面向对象的设计方法。五、总体设计案例分析1教学内容:(1) 项目案例A:总体设计(2) 案例A:系统结构图设计(3) 项目案例B:总体设计(4) 案例B:系统结构图设计2教学要求:学会总体设计的方法,学会系统结构图设计。本实践阶段教学时间:课堂教学:4课时;实验:4课时实践四:详细设计基本要求和基本知识点:掌握详细设计基本方法。能熟练的使用详
10、细设计工具来设计模块中的算法及程序的逻辑结构。学会界面设计方法,掌握数据库设计方法。理解面向对象的设计方法。本章的基本知识点有: 程序流程图、PAD图、PDL、一些UML图本章重点:详细设计工具使用、界面设计、面向对象设计。本章难点:面向对象设计。一、详细设计的任务和原则1教学内容:(1) 详细设计的任务(2) 详细设计的原则2教学要求:深刻理解详细设计的任务和原则。二、详细设计的基本方法1教学内容:(1) 结构化程序设计方法(2) 详细设计工具使用示范2教学要求:学会使用程序流程图、PAD图、PDL进行详细设计。三、界面设计1教学内容:(1) 界面设计过程(2) 界面类型和功能特点(3) 界
11、面设计工具使用示范2教学要求:掌握界面设计方法四、数据库设计1教学内容:(1) 数据库逻辑结构设计(2) 数据库物理结构设计(3) 数据库设计示范2教学要求:掌握数据库设计方法五、详细设计案例分析1教学内容:(1) 项目案例A、B:详细设计(2) 项目案例A、B:程序流程图设计(3) 项目案例A、B:界面设计(4) 项目案例A、B:数据库设计2教学要求:掌握详细设计基本方法六、面向对象设计1教学内容:(1) 问题域部分的设计(2) 人-机交互子系统设计(3) 任务管理子系统设计(4) 数据管理子系统设计(5) 面向对象设计示范与案例分析2教学要求:掌握面向对象设计方法本实践阶段教学时间:课堂教
12、学:4课时;实验:4课时实践五:程序设计和测试基本要求和基本知识点:掌握良好的编码风格。掌握有关测试的基本方法。熟悉测试过程中单元测试,集成测试,的任务及使用方法。能进行基本的测试用例设计。本章的基本知识点有:编码风格、单元测试、集成测试。本章重点:编码风格、软件测试方法、测试用例设计、测试步骤。本章难点:测试用例设计。一、程序设计和编码风格1. 教学内容:(1) 程序设计语言的选择(2) 编码风格2教学要求:熟悉编码风格。 二、开发工具和测试工具1. 教学内容:(1) 开发工具的安装和配置(2) 测试工具的安装和配置2教学要求:掌握开发工具和测试工具的安装使用。二、软件测试1.教学内容:(1
13、) 软件测试的方法(2) 软件测试的过程2教学要求:熟悉软件测试方法和过程。 三、测试用例设计1.教学内容:(1) 逻辑覆盖示范(2) 等价分类法示范(3) 边界值分类法示范(4) 实用综合测试策略示范2教学要求:熟悉基本测试用例设计。 四、测试案例分析1.教学内容:(1) 项目案例A、B:单元测试(2) 项目案例A、B:集成测试2教学要求:理解单元测试、集成测试。 本实践阶段教学时间:课堂教学:4课时;实验:10课时实践六:维护和软件工程文档规范基本要求和基本知识点:了解软件维护的特点,软件维护的文档;理解软件维护的内容,维护任务的实施;了解软件工程的国家标准,熟悉常用的软件工程文档的编写,
14、掌握主要的软件工程文档的编写。本章的基本知识点有:软件维护的内容、软件工程文档。本章重点:软件维护的内容、软件工程文档。本章难点:维护评价一、软件维护的特点1教学内容:(1) 软件维护特点2教学要求:了解软件维护特点。二、软件维护的实施1教学内容:(1) 软件维护工作流程(2) 维护档案记录和评价2教学要求:熟悉软件维护实施。 三、软件工程文档规范1教学内容:(1) 软件工程文档和国家标准(2) 可行性研究报告(3) 项目计划说明书(4) 需求分析报告(5) 总体设计报告(6) 详细设计报告(7) 测试分析报告(8) 开发总结报告(9) 主要软件开发文档编写示范2教学要求:掌握主要的软件工程文
15、档的编写。 本实践阶段教学时间:课堂教学:2课时;实验:4课时二、 实践教学环节软件工程实践是一门实践性很强的课程,每次课讲授的知识点都需要在实践的基础上进行消化,各个环节的课堂教学、上机实践和作业次数统计如下:教学内容学时分配小计课堂教学上机实验作业(次)实践一 软件工程学概述441实践二 需求分析481实践三 总体设计441实践四 详细设计441实践五 编码和测试 4101实践六 维护和软件工程文档规范241综合实训一4综合实训二(期末考试)4合计22426三、 考核方式和要求1考核方法:本课目为考试课目,考核方式为综合实训和软件工程实践项目相关文档。2考核要求:考核重点为实践二-实践六3、期末综合成绩 本课程的综合成绩由课堂考勤成绩、上机实训(包括实验报告)成绩、期末综合实训和提交相关文档(包括开发的最终软件系统)三部分组成,以百分制记载。其中课堂考勤成绩占10%,上机实训成绩占40%、期末考试成绩占50%。