软件工程
教学教案
第1章
课时内容 | 软件工程概述 | 授课时间 | 90分钟 | 课时 | 4 |
教学目标 | 了解软件工程的产生 掌握软件工程的定义、基本原理 掌握软件生命周期 掌握软件过程模型 | ||||
教学重点 | 掌握软件工程的定义、基本原理 掌握软件生命周期 掌握软件过程模型 | ||||
教学难点 | 瀑布模型,快速原型模型、增量模型,喷泉模型、统一过程模型。 | ||||
教学设计 | 1.教学思路:(1)通过讲解软件工程的发展等相关知识,让学生了解软件工程的定义、基本原理;(2)讲解软件生命周期、过程模型等知识,让学生掌握瀑布模型,快速原型模型、增量模型,喷泉模型、统一过程模型;(3)课后习题。 2.教学手段:(1)通过讲解基础知识,讲解结束后进行疑难解答;(2)对于重点知识点可以着重讲解。 | ||||
教学内容 | |||||
讨论问题:1.软件工程的基本原理是什么? 2.软件工程学的主要内容是什么? 内容大纲:具体可结合本章的PPT课件进行讲解。 1.软件工程的产生 (1)软件生产的发展 (2)软件危机 2.软件工程 (1)软件工程的定义 (2)软件工程学的主要内容 (3)软件工程的基本原理 3.软件生命周期 4.软件过程模型 (1)瀑布模型 (2)快速原型模型 (3)增量模型 (4)喷泉模型 (5)统一过程模型 | |||||
小结 | 1.为描述计算机程序的功能、设计和使用而编制的文字或图形资料称为文档,软件开发的各个阶段必须完成各种需求规格说明书、设计说明书、用户手册等文档。 2.软件是计算机程序及与其相关的数据和文档。 3.软件危机是指在计算机软件开发和维护时所遇到的一系列问题。 4.软件工程是指导计算机软件开发和维护的学科,采用工程的概念、原理、技术和方法来开发和维护软件,目标是实现软件的优质高产。 5.软件工程学的主要内容是软件开发技术和软件工程管理。 6.软件工程方法学是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。 7.软件过程是为了获得高质量软件所需要完成的一系列任务的框架。 8.软件产品从软件定义开始,经过开发、使用和维护,直到最后被淘汰的整个过程称为软件生命周期。 | ||||
习题 | 1.什么是软件?软件和程序的区别是什么? 2.什么是软件危机?软件危机的主要表现形式是什么?怎样消除软件危机? 3.什么是软件工程?什么是软件过程? 4.什么是软件工程方法?主要的软件工程方法有哪些? 5.什么是软件生命周期?软件生命周期为什么要划分阶段?划分阶段的原则是什么? 6.比较几种软件过程模型的特点。 | ||||
第2章
课时内容 | 可行性研究与软件工程开发计划 | 授课时间 | 180分钟 | 课时 | 6 |
教学目标 | 掌握可行性研究 掌握开发计划的制定 | ||||
教学重点 | 掌握可行性研究 掌握开发计划的制定 | ||||
教学难点 | 软件工程项目概述和实施计划、Gantt图、工程网络图、软件工程开发计划的复审。 | ||||
教学设计 | 教学思路:(1)通过讲解可行性研究,让学生掌握可行性研究的内容、结论;(2)通过讲解软件工程开发计划的制定,让学生掌握Gantt图、工程网络图、软件工程开发计划的复审;(3)课后习题。 教学手段:(1)通过讲解基础知识,讲解结束后进行疑难解答;(2)对于重点知识点可以着重讲解。 | ||||
教学内容 | |||||
讨论问题:1.软件计划时期有哪些主要工作? 2.什么是软件定义? 3.什么是可行性研究?可行性研究报告的内容是什么?可行性研究的结论有哪几种? 4.软件工程开发计划书有哪些内容? 内容大纲:具体可结合本章的PPT课件进行讲解。 1.软件定义与可行性研究 (1)软件定义 (2)可行性研究 2.软件工程开发计划的制定 (1)软件工程项目概述和实施计划 (2)Gantt图 (3)工程网络图 (4)软件工程开发计划的复审 | |||||
小结 | 1.软件计划时期是软件生命周期中最短的时期,这个时期要确定系统的目标、规模和基本任务,要有书面报告。需根据系统设计的目标、对现有系统的分析和新系统的解决方案等给出明确的可行性研究报告。 2.软件工程可行性研究报告和软件工程开发计划要得到用户方领导的审核批准,才能正式进入软件工程的实施阶段。 3.可行性研究报告要给出系统可行的结论,或及时终止不可行的项目,避免不必要的浪费;或提出需要什么条件落实后才能开发软件。 4.制定软件开发计划可采用Gantt图和工程网络图。 | ||||
习题 | 1.图中是表示某工程各项子任务的相互关系的工程网络图。 圆圈中的字母代表各项子任务的开始或结束事件的编号,箭头上方的数字表示完成各项 子任务所需的周数。要求: (1)标出每个事件的最早时刻、最迟时刻与机动时间。估算完成该工程项目总共需要多 少时间。 (2)标出该工程项目的关键路径。 (3)从节省人力的角度,画出该工程项目的Gantt图。 2.试对自己所承担的软件工程课程设计课题,制定初步的进度计划。 | ||||
第3章
课时内容 | 需求分析 | 授课时间 | 180分钟 | 课时 | 4 |
教学目标 | ●掌握需求分析的任务、图形工具、文档 ●掌握结构化分析步骤 ●了解数据字典 | ||||
教学重点 | ●掌握需求分析的任务、图形工具、文档 ●掌握结构化分析步骤 ●了解数据字典 | ||||
教学难点 | 实体-联系图、数据流图、状态转换图、IPO图、软件需求规格说明书、用户手册编写提示。 | ||||
教学设计 | 1、教学思路:(1)通过讲解需求分析的任务、图形工具、文档,让学生掌握实体-联系图、数据流图、状态转换图、IPO图、软件需求规格说明书、用户手册编写提示;(2)通过讲解结构化分析步骤,让学生掌握分析和描述系统的逻辑模型;(3)课后习题。 2、教学手段:(1)通过讲解基础知识,讲解结束后进行练习;(2)对于重点知识点进行着重讲解。 | ||||
教学内容 | |||||
讨论问题:1.什么是需求分析?需求分析的基本任务是什么?结构化分析的步骤有哪些? 2.什么是实体- 联系图?它的基本符号及含义是什么? 3.什么是数据流图?其基本符号各表示什么含义? 4.什么时候需要画状态转换图?其基本符号及含义是什么? 内容大纲:具体可结合本章的PPT课件进行讲解。 1.需求分析的任务 (1)确定目标系统的具体要求 (2)建立目标系统的逻辑模型 2.结构化分析步骤 (1)进行调查研究 (2)分析和描述系统的逻辑模型 (3)对需求分析进行复审 3.需求分析的图形工具 (1)实体-联系图 (2)数据流图 (3)状态转换图 (4)IPO图 4.数据字典 (1)数据字典的内容 (2)数据字典使用的符号 (3)数据字典与图形工具 5.软件需求分析举例 (1)系统管理 (2)商品信息管理 (3)商品供销存管理 (4)商品销售管理系统的数据流图 (5)数据字典 6.需求分析文档 图书管理系统数据库设计说明书(1)软件需求规格说明书 (2)用户手册编写提示 (3)编写需求分析文档的步骤 | |||||
小结 | 1.软件需求分析是进行软件设计、实现和质量度量的基础。 2.需求分析是发现、逐步求精、建立模型、需求规格说明和复审的过程。 3.逐步求精是对用户提出的要求反复地多次细化,进而对系统需求有完整、准确、具体 的了解。 4.结构化分析实质上是一种创建模型的活动。建立模型可以描述用户需求,定义需求,用以验收产品。可以建立的模型分为数据模型、功能模型和行为模型。 5.数据模型用实体-联系图来描述数据对象及相互之间的联系。 6.功能模型用数据流图来描述。 7.行为模型用状态转换图来描述。 8.数据字典用来描述软件所使用或产生的所有数据对象、数据存储规则、处理算法等。 在需求分析阶段还应写出软件需求规格说明书,有时需附上可执行的原型及初步的用户 手册。软件需求规格说明书是需求分析阶段的最终成果。 9.复审:需求分析的结果要经过严格的审查,确保软件需求的一致性、完整性、现实性和 有效性。 | ||||
习题 | 1.开发房产经营管理系统,要求有查询、售房、租房、统计等功能。 系统中存放经营公司现有房产的地点、楼房名称、楼房总层数、房间所在层数、朝向、规格(一室一厅、两室一厅或三室一厅)、面积等。房间可以出售或出租,分别定出每平方 米的单价和总价。客户可随时查询未出售或未出租的房间的上述基本情况。房产经营商可随时查询已出售或已出租的房产的资金回收情况及未出售或未出租的房产的资金占用情况。试写出该系统的数据字典,画出数据流图和IPO图。 2.开发火车卧铺车票售票系统。 列车运行目录存放车次、始发站、终点站、途经站。车站每天按运行目录发出若干车次 的列车,每次列车的发车时间和终点站不同。每次列车分别设软卧车厢、硬卧车厢若干,软卧分上铺、下铺,硬卧分上铺、中铺、下铺,车票的价格各不相同。铺位编号格式为“车厢号铺位号”,如8车厢5号上铺。旅客可根据列车运行目录预订5天内火车的卧铺车票。试写出系统的数据字典,画出数据流图和IPO图。 3.银行储蓄管理系统的工作过程大致如下。 银行存款类型分为定期和活期,定期又分为3个月、6个月、1年、3年、5年。存款类型不同,利率也不相同。储户存款时要填写存款单(姓名、日期、存款类型、金额等),由 业务员将数据输入系统。系统根据存款类型查出存款利率,将数据存放到数据库中。储户取款时要填写取款单,系统从数据库里查储户的账号,进行取款处理,若存款全部取出,系统就把该账户注销。存款或取款操作都要给储户处理凭证。根据以上情况,画出该系统的数据流图。 4.传真机的工作过程大致如下。 传真机在开机后,未收到传真命令时处于就绪状态,收到传真命令时则进入传真状态, 完成一个传真任务后又回到就绪状态,等待下一个传真命令。如果执行传真任务时发现缺纸,则发出警告,等待装纸,装入传真纸后,进入传真状态,完成一个传真任务后又回到就绪状态。如果传真时发生卡纸故障,则进入卡纸状态,发出警告,等待维修,故障排除后,回到传真状态,完成传真任务后再回到就绪状态。请用状态转换图描绘传真机的行为。 | ||||
第4章
课时内容 | 概要设计 | 授课时间 | 180分钟 | 课时 | 4 |
教学目标 | 掌握概要设计步骤、方法、文档与复审 掌握软件结构设计的基本原理、图形工具 | ||||
教学重点 | 掌握概要设计步骤、方法、文档与复审 掌握软件结构设计的基本原理、图形工具 | ||||
教学难点 | 软件结构设计、数据结构设计及数据库设计、系统接口设计、测试方案设计。 | ||||
教学设计 | 教学思路:(1)通过讲解概要设计步骤、方法,让学生掌握软件结构设计、数据结构设计及数据库设计、系统接口设计、测试方案设计的方法;(2)通过介绍软件结构设计的图形工具,让学生掌握系统模块的层次结构的描绘方法;(3)课后习题。 教学手段:(1)通过讲解基础知识,讲解结束后进行练习;(2)让学生画出系统模块的层次结构,巩固知识。 | ||||
教学内容 | |||||
讨论问题:1.什么是概要设计?其基本任务是什么? 2.什么是模块?模块有哪些属性? 3.什么是模块化?模块分割的原则是什么? 4.什么是软件结构设计?软件结构设计的优化规则是什么? 5.什么是模块的作用范围?什么是模块的控制范围?它们之间应建立什么关系? 内容大纲:具体可结合本章的PPT课件进行讲解。 1.概要设计步骤 (1)软件结构设计 (2)数据结构设计及数据库设计 (3)系统接口设计 (4)测试方案设计 2.软件结构设计的基本原理 (1)模块与模块化 (2)模块的耦合和内聚 (3)软件结构设计的优化规则 3.软件结构设计的图形工具 (1)层次图 (2)结构图 4.概要设计方法 (1)结构化方法 (2)面向数据结构设计方法 5.概要设计文档与复审 (1)概要设计说明书 (2)概要设计复审 (3)数据库设计说明书 | |||||
小结 | 1.概要设计的基本任务是以可行性研究报告和需求分析规格说明书作为设计的基础,确定模块结构、数据文件结构、系统接口设计和测试方案策略,编写概要设计说明书、用户手册和测试计划。概要设计要经过严格的复审,才能进入详细设计阶段。 2.软件结构设计的基本原理是信息隐蔽、模块化、抽象、模块独立性。 3.模块设计的优化规则如下。 (1)尽量做到高内聚、低耦合,提高模块独立性。 (2)模块的接口简单、清晰,便于理解,可维护性好。 (3)模块的作用范围应在控制范围之内。 (4)模块的深度、宽度、扇出和扇入应适当。 (5)模块的大小应适中。 4.软件结构设计的图形工具有层次图和结构图。 5.在概要设计阶段常用的传统软件工程方法主要有面向数据流设计方法和面向数据结构设计方法。 | ||||
课后习题 | 1.画出【例3.2】的学生成绩管理系统的HIPO图。 2.画出【例4.2】的图书馆管理系统的HIPO图。 3.画出习题3.5的房产经营管理系统的HIPO图。 | ||||
第5章
课时内容 | 详细设计 | 授课时间 | 270分钟 | 课时 | 6 |
教学目标 | 掌握过程设计 掌握用户界面设计 掌握数据代码设计 掌握数据输入/输出设计 掌握数据安全设计 掌握详细设计文档与复审 | ||||
教学重点 | 掌握过程设计 掌握用户界面设计 掌握数据代码设计 掌握数据输入/输出设计 掌握数据安全设计 掌握详细设计文档与复审 | ||||
教学难点 | 用户界面设计过程、用户界面设计的基本原则、数据代码设计原则、详细设计说明书。 | ||||
教学设计 | 1、教学思路:(1)通过讲解过程设计,让学生掌握过程设计阶段使用的工具;(2)通过演讲解用户界面设计,让学生了解用户界面设计时会遇到的问题,掌握用户界面设计的基本原则以及指南;(3)课后习题。 2、教学手段:(1)通过讲解基础知识,讲解结束后进行练习;(2)对于重点知识点进行着重讲解。 | ||||
教学内容 | |||||
讨论问题:试述用户界面设计应考虑的因素。 内容大纲:具体可结合本章的PPT课件进行讲解。 1.过程设计 (1)流程图 (2)盒图 (3)PAD (4)判定表 (5)判定树 (6)过程设计语言 2.用户界面设计 (1)用户界面设计问题 (2)用户界面设计过程 (3)用户界面设计的基本原则 (4)用户界面设计指南 3.数据代码设计 (1)数据代码设计原则 (2)代码种类 (3)数据代码设计方法 4.数据输入/输出设计 (1)数据输入设计 (2)数据输出设计 5.数据安全设计 6.详细设计文档与复审 (1)详细设计说明书 (2)操作手册 (3)详细设计的复审 | |||||
小结 | 1.用户界面设计的质量直接影响用户对软件产品的评价,软件工程中应对用户界面设计给予足够的重视。 2.过程设计应在数据结构设计、软件结构设计、接口设计完成之后进行,它是详细设计阶段应完成的主要任务之一。 3.过程设计不是具体地编写程序,而是从逻辑上设计正确实现每个模块功能的处理过程。过程设计应当尽可能简明、易懂。 4.详细设计阶段使用的工具有流程图、盒图、PAD、判定表、判定树、PDL 等,读者应当熟练掌握这些工具。 | ||||
习题 | 1.选举学生会委员,共需选举7位委员,试设计选票统计系统。选举规则:无记名投票,每张选票最多可选7位委员,超过7人为废票;读入选票,统计并输出有效选票的总数及每位候选人的得票数;得票数超过有效选票数一半的候选人中,得票数在前7位的当选;若得票数过半者不足7人,则票数过半者当选,而未过半数者进入下一轮选举,争夺余下名额, 直至选举完成。试画出该系统的盒图和PAD。 2.某校拟对参加计算机程序设计考核成绩好的学生进行奖励,成绩合格者奖励20元,成绩在80 分以上者奖励50元,成绩在90分以上者奖励100元。要求设计一个计算机程序,输入参加考核的学生名单和成绩,输出获奖者名单、成绩及所获奖金,统计各类获奖学生人数占总人数的比例。试画出该系统的程序流程图、盒图和PAD。 3.某校对于各种不同职称的教师,根据其是本校专职教师还是外聘教师决定其讲课的 课时津贴费。本校专职教师每课时津贴费:教授90元,副教授70元,讲师50元,助教40元。外聘教师每课时津贴费:教授100元,副教授80元,讲师60元,助教50元。试分别用判定表和判定树表示课时津贴费规定。 4.下面是用PDL写出的程序,请画出对应的PAD和盒图。 While C do If A>0 then A1 else A2 endif If B>0 then B1 If C>0 then C1 else C2 endif Else B2 Endif B3 Endwhile | ||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论