《软件工程课程设计》教学大纲
一、实习课程基本信息
课程编号 103804 课程名称(中文) 软件工程 课程名称(英文) 适用专业 Software Engineering 学时数 1周 学分数 软件工程,计算机应用,网络工程 制订单位 计算机学院 制定时间 20012.11. 二、课程设计的性质和目的
1.通过本课程设计的实践及其前后的准备与总结、复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。
2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、数据结构、操作系统、数据库、网络编程等)创造实践机会。
3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。
4.使学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;数据库SQL Server或Oracle、MySql等)。
5. 通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习,深入实践,积极探索与大胆创新的机会。并且通过课程设计实践,提高学生的自学能力、书面与口头表达能力、创造能力,软件把控能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。
三、课程设计教学的基本内容和要求
1. 学习课程设计指导书和分组
学习研究课程设计指导书,进行分组(根据个人志趣自愿结合3-5人一组)并且明确每个学生在开发小组中扮演的角色及承担的职责(包括选出组长)。 2. 确定目标、初步方案,准备、试用开发环境与工具
每个小组确定开发目标及初步方案;选择、准备、试用开发平台、数据库、交互网页开发技术、网页设计工具及其他有关开发工具。 3. 学习与搜集素材,借阅、购置必要的书籍与材料
学习开发小组及成员根据自己承担的任务,利用各种途径(图书馆、因特网、书店、同学亲友等)进行针对性的学习并收集相关素材,包括精选、购置必要的书籍。 4. 课堂与课下结合开发项目
因为需要自学和探索的内容与软件较多,每个学生要特别发挥积极主动精神投入课程设计和开发活动。除了正式安排的课程设计时间之外,学生需要充分利用好课余时间,自己有计算机的学生更要充分利用有利条件以取得尽可能好的开发成果,力争获得最大收益。
5. 各阶段的开发工作
小组开发各阶段的任务及成员角色分工参看后面的“开发阶段任务及角色分工一览表”。开发过程中,小组长必须承担起领导责任,不定期召开小组开发工作研讨会(建议5-8次)。会前有准备,会议有记录(包括日期、出席人员、主题、讨论纪要、结论与问题、计划与行动分工。事后要保存好以备老师检查),会后有分工和检查。开发小组工作会议的可能内容是:
1) 选题内容及开发方案研讨;小组成员分工;开发计划拟定。
2) 同类系统资料查询、研究、分析,制定项目规划书,需求分析说明书;系统原型及成员分工确认。
3) 原型系统研讨或者需求分析确认。 4) 数据库设计及应用研讨。
5) 系统概要设计(模块设计或者类设计)。 6) 系统集成测试、开发文档整理、汇总。 7)关键技术难点的解决方案研讨。
6. 做好小组与个人的开发记录、总结,做好小组内外的交流与互助
各个开发小组及其每个成员可以互相研讨、帮助,但必须独立完成自己承担的开发任务与文档编制任务,不得抄袭他人成果。在课程设计进行期间,每个小组由小组长建立项目开发记录本,每周至少做一次记录,包括小组会议记录,小组记录本要保存好供老师检查。
建议每个小组成员也建立自己个人的开发记录或日志。记录的内容可以包括:个人在小组中承担任务、计划与进度;相关学科与软件工具学习内容摘要与存在问题、难点;好的创意与建议;开发或学习心得;文档草稿;重要信息与线索记录等。
这样做可以有助于项目开发工作和自己的学习,也有助于最后完成个人和小组的课程设计报告。
_________________________________________________________________________________________________________________________文档 阶 段 角 色 承 担 的 任 务 代号 名 称 角色A(项目经理,组长) 角色B(软件设计师) 角色C(数据库设计师) 角色D(主程序员) 角色E(测试员) G0 问题定义与 开题小组报告 项目开发计划 项目计划书 G1 系统考察、分析 G2 软件项目需求 (用户类型与业 (功能需求 (数据字典) (分层DFD (系统测试测试方案 分析报告(SRS) 务流程分析图) 说明部分) 加工算法) 和用例设计) G3 系统原型 原型需求分析 需求分析报告 小组报告及需求确认 G4 软件体系 (软件模块 总体设计小组报告 (所有模块清单(名 (集成测试测试方案 结构文档 层次结构图) (系统体系结构) 称,功能,I/O,调用) 和用例设计) G5 数据库与文件 (二维表清单 (数据库事务及 数据库设计小组报告 设计 即数据字典汇总) 关联存储过程) (cdm图和pdm) G6 详细设计 (算法设计及 (单元测试方案 设计文档 程序流程图) 和用例设计) G7 编码阶段文档 (编码) (白盒测试) G8 软件测试 系统总体测试与调 (系统联调 (数据库调用,安全 (单元测试) (功能测试) 与调试文档 试小组报告AG11★ 集成测试)) 数据量等测试) G9 帮助文档与 系统配置、帮助与使用说明小组报告(集体) 使用说明文档 G10 小组课程设计报告 (小组最终报告,组长汇总集体编写) 注1:如果采用面向对象分析与设计方法,分析设计文档可以采用UML规范由用况图、类图、对象图、顺序图、协
同图、状态图、活动图、包图、组件图、配置图等表示软件开发的部分文档。
注2:每个小组由3-5人组成,每个人可担任多个角色角色,负责完成与角色相关任务和文档组长负责总的协调。建议横向分工(即一人一个模块,担任多个角色),也可以纵向分工一人一个角色。报告中需注明分工情况和个人工作量
3