课程介绍
课程特点:
既是一门技术学课程,也是一门管理学课程;
既具有理论性,也具有较强的实操性.
课程目的:
基本:
掌握软件工程的基本概念和基本原理;
掌握分析、设计、测试与维护软件系统的理论与方法;
实践软件系统开发的全过程,构建一个软件系统.
进一步:
转变对软件的认识:程序系统;
转变思维定式:程序员系统分析员/系统设计员;
工程化训练:规范、准则、项目管理。
软件工程人才分布示意图
课程的主要内容:
软件工程的产生、软件的生命周期、生命周期模型;
软件开发各阶段的目标、任务、特点、步骤和文档;
传统软件工程的基本思想,开发过程和步骤,应遵循的原则和准则;
面向对象软件工程的基本思想、基本过程和基本模型;
软件工程的管理技术。
课程重点:
掌握结构化方法开发软件系统的过程、步骤、应遵循的原则以及工
具。
教学安排:
48学时讲授;
课后作业和课后实验.
考核:
期末考试:70%;
作业+分组实验:30%.
教材:
软件工程导论(5th),张海藩,清华大学出版社
参考文献
软件工程(第二版),齐治昌,高等教育出版社
软件工程实践教程,谭庆平等,高等教育出版社
先修课程:
程序设计语言
数据结构
数据库原理与设计
课程实验:
实验题目:
题目1:课程注册系统
为高校教务管理部门开发一个选修课程注册管理系统。在每学期
开学前,教务管理人员可利用该系统输入课程信息、设定课表(每门
课的任课教师、上课地点、上课时间)。开学后,学生可以利用该系统查
询课程和课表信息,在第一周内注册课程和取消对课程的注册。软件
系统负责将学生所选课的列表通知计费系统以确定学生应缴纳的选课
费用.在学期内,任课教师可随时查询选修其所授课程的学生的信息,学
生可以随时查询课程信息、课表、本人已选课程列表,教务管理人员可
以随时查询所有信息。学期结束,教师可登记学生考试成绩。
题目2:航空定票系统
为某家机票预订服务商开发一个机票预订和查询管理系统。该系
统中的航班和机票信息由多家航空公司负责提供.客户通过上网方式查
询航班时间表、机票可用信息、机票折扣信息,可以远程订票、退票、
通过信用卡支付票款.客户分为三类:金牌客户、银牌客户和普通客户.
普通客户通过订票积分至一定的额度可以逐步升级为银牌客户、金牌
客户.不同类别的客户可享有不同的机票折扣。系统还必须每日、每周、
每月给出机票销售的统计分析报表。
题目3:试题库系统
为高校某门课程开发试题库系统,要求:(1)试题有单选(4选1)、
多选(5选2)、判断、填空等几类;(2)试题编辑.对每道试题可进行
录入、修改、删除等操作;每一章的每一类题,题量有一个临界值,当系
统中某一章的某类题量低于临界值时,应提示用户增加题目;(3)试
卷生成。三种方法:(a)用户依次输入某章某类题的数量,系统随机抽
题,依次写入试卷(txt文件);(b)用户打开题库,边阅读题目边抽题,
抽出的题目一经确认,即写入试卷;(c)系统登记、保存已生成的完整
试卷,用户可以直接抽取完整试卷。(4)试卷评价。记录每份已生成的
完整试卷的考试情况,评价其难易程度。
实验要求:
按照基于数据流的软件工程的要求完成各阶段的主要文档,实现
的程序能初步运行。
分组进行,每组3~4人,自由组合,每组设项目负责人一个;
每组抽签选择开发题目1、2或3,一组同学合作完成一个项目,每
人负责项目中的1~2个开发步骤;
工作步骤:
问题初步定义和可行性研究需求分析(资源采集)界面原型设
计概要设计详细设计实现与测试项目验收
需要交付的文档:
(1)可行性研究报告
(2)项目开发计划(含小组成员分工)
(3)需求规格说明书
(4)概要设计说明书
(5)详细设计说明书
(6)数据库设计说明书
(7)测试计划
(8)测试分析报告
(9)项目开发总结报告
(10)系统源程序
(11)操作手册
建议开发步骤:
可行性研究:
用系统流程图描述系统的工作流程。
从技术上和人员(分工)上简单说明项目的可行性。
项目开发计划:
项目时间(例如20个工作日),任务分解(每个任务需要的人数和时间),
做项目开发的工程网络图和计划进度表,注明关键任务和关键路径。
使用“瀑布模型”:
需求分析:
(1)获取需求:对8个方面的需求(A功能需求;B性能需求;C可靠性
和可用性需求;D出错处理需求;E接口需求;F约束;G逆向需求;
H将来可能提出的要求)进行获取、分析和记录,不必要的方面可以略
去。
(2)建立系统的逻辑模型:数据模型—---数据字典和E—R图(数据
规范到3范式);功能模型————功能级或进一步细化的数据流图;
行为模型-—-—状态转换图。
(3)对系统中的关键部分必要的说明.
概要设计
(1)确定系统的物理实现方案,用系统结构图描述之。
(2)分解系统功能,做出系统的软件结构图(总体结构图)。
(3)主要模块(一级、二级)的功能描述.
(4)对模块间的接口进行说明。
(5)设计系统的主界面。
(6)用户设计
详细设计
(1)数据库设计。
(2)系统使用的全局变量
(3)每个模块内的数据结构设计、处理流程(图)设计。
(4)模块的主界面、主要的交互界面的设计.
实现
(1)编码。
(2)测试:对主要功能模块进行单元测试,对整个系统进行集成测试。
对每个测试活动记录:测试采用的技术;测试用例;测试运行的结果。
写开发总结
写操作手册
本文发布于:2022-11-26 00:55:46,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/21810.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |