惠州学院软件工程导论课程介绍 刘宇芳老师
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程导论》课 程 介 绍
课程特点:
既是一门技术学课程,也是一门管理学课程;
既具有理论性,也具有较强的实操性。
课程目的:
基本:
✧ 掌握软件工程学的基本概念和基本原理;
✧ 掌握分析、设计、测试与维护软件系统的理论与方法;
✧ 实践用软件工程的方法开发软件系统的全过程,构建一个软件系统。
进一步:
✧ 转变对软件的认识:程序 系统;
✧ 转变思维定式:程序员 系统分析员/系统设计员;
需求获取、定义、建模、分析
软件体系结构设计
软件概要设计软
件
评
审
与
测
试软件评审/测试
软件评审/确认软件详细设计软件构造软件项目管理
软件工程人才分布示意图
✧ 学习以团队合作的形式开发软件;
✧ 工程化训练:规范、准则、项目管理。
课程的主要内容:
软件工程的产生、软件的生命周期、生命周期模型;
软件开发各阶段的目标、任务、特点、步骤和文档;
传统软件工程的基本思想,开发过程和步骤,应遵循的原则和准则;
面向对象软件工程的基本思想、基本过程和基本模型;
软件工程的管理技术。
课程重点:
掌握结构化方法开发软件系统的过程、步骤、应遵循的原则以及工具。
教学安排:
56学时讲授;8-10学时课内实验;
课后作业和课后实验。
考核:
期末考试:70%;
作业+分组实验报告+点名:30%。
教材:
软件工程导论(5th),张海藩,清华大学出版社
参考文献
软件工程(第二版),齐治昌,高等教育出版社
软件工程实践教程,谭庆平等,高等教育出版社
软件工程分析案例,李代平等,清华大学出版社
先修课程:
程序设计语言
数据结构
数据库原理与设计
课程实验:
实验要求:
按照面向数据流的软件工程的要求完成各阶段的主要文档,实现的程序能初步运行。
✧分组进行,每组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)测试:对主要功能模块进行单元测试,对整个系统进行集成测试。对每个测试活动记录:测试采用的技术;测试用例;测试运行的结果。
⏹写开发总结
⏹写操作手册
实验题目:
题目1:作业提交系统
实现的主要功能:基于局域网,解决学校机房管理上机作业的问题;用户主要有三类:老师、学生、管理员;通过系统,用户可以注册、修改密码、登录、退出。老师通过系统可以:布置和删除作业、下载学生提交的作业、发布/修改成绩;学生通过系统可以:查看作业任务、上传作业、查看作业成绩;管理员根据课表,通过系统可以进行教师和学生管理,保证和老师通信的是自己的学生。另外,老师和学生间可以进行实时或非实时交互。
题目2:小型超市管理系统
实现的主要功能:基于局域网;用户主要有三类:收银员、仓库管理员、老板;通过系统,用户可以注册、修改密码、登录、退出。收银员通过系统进行前台售货(当用户结算时,根据扫描的条码检索到对应的货物信息,计算货物的价格,并更新库存数量、出货情况等。根据客户支付的款额和应付款额,计算出应返还客户的款额。);仓库管理员通过系统进行库存、销售、进货等管理;老板通过系统进行成本/效益管理、人员管理等。