综合实践能力创新实训 3 指导书
一、 概述
计算机科学与技术专业以及网络工程专业的综合实践能力创新实训 3 主要
是软件工程课程的实践,它要求在 2 周的课程设计的时间内完成某一个复杂软件项目的设计,期间学生要学习项目设计过程中交流、沟通以及协作的技能,掌握完成从需求到详细设计、数据结构设计、接口设计、流程设计、类图设计等软件工程架构中专业能力。
软件工程学现在已成为计算机软件学科中一个既年轻又异常活跃的重要研究领域。其研究目标是如何克服“软件危机”,用工程化的方法和规范来进行软件的开发和维护。研究范围主要是技术方法、管理方法和开发工具。“软件工程” 现已成为计算机专业教学的一门重要核心课程,其基本任务是使学生掌握软件开发和维护的理论、方法、技术、标准和工具等,初步具备从事软件系统架构、开发、维护的能力。
根据培养计算机复合型人才的需要,计算机科学与技术生产实习的目的是使学生在掌握软件工程基本理论同时,熟悉软件项目设计与开发的实际过程,掌握软件开发的传统方法和现代最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
生产实习的总体要求是初步培养学生应用软件工程方法进行软件架构的实际工作能力,具体要求如下:
1)掌握软件工程学的基本概念、原理和方法;
2)重点掌握使用传统生命周期方法、面向对象方法开发软件的技术(包括技术规范、工具与标准、基本过程与模型、测试技术与用例设计等)以及 UML 设计的工具;
3)了解软件工程学前沿领域的相关新方法、新技术,为进一步从事软件开发打下一个较全面、扎实的基础;
4)培养搜集、利用各种技术资源(参考文献)如专著(M)、期刊(J)、网络资源,综合运用各学科的知识(如算法理论、数据结构、数据库、网络技术等) 解决实际问题的能力。

二、 综合实践能力创新实训 3 题目
题目 1 人事管理系统
题目 2 网上购物网站
题目 3 学生宿舍管理系统
题目 4 快递收寄与包裹派发系统
题目 5 党支部资料管理以及党员发展信息系统
题目 6 校园周边快递(盒饭、小食品、代取包裹等)派工与抢单系统题目 7 知识网格实验室网站(参考 kpnm.hnust.cn)
题目 8 计算机学院微科基地信息管理系统题目 9 大学教师科研团队管理系统
题目 10 校友管理系统
题目 11 学校管理数据中台
题目 12 高校教师科研成果管理系统或者自选题目
三、 结果提交
最终提交纸质版与电子版两种格式文档,内容如下:
1、 课程设计报告书(软件项目设计文档),小组中每个人都提交完整的设计文档,只有后面的参与项目日志不同。电子版一个小组交一份即可, 但需将 4 人的日志都附加进去。
2、 采用 EA(Enterprise Architect)生成的程序代码或完整的程序代码
四、 综合实践能力创新实训 3 实施安排与步骤
本次设计允许独立进行或 3-4 人作为一个小组进行。如果以小组形式进行设计,需要在报告书中增加一个内容:项目小组规约。以小组形式进行设计必须要有足够工作量,并报请指导老师同意后方可进行。
本次时间安排为 2-3 周,具体时间由于疫情待定。建议日程如下:
第 2 周星期二、星期三
|
1) 执笔人完成项目主要功能用例图(如图 3)与系统用户角色图
(如图 4)。
2) 所有成员进行讨论并完成自己负责功能的分功能用例图(如图5)与分功能简单任务示意图(如图 6)。
|
阶 段 3 第2 周
星期四、星期五
第3 周星期一
|
完成概要设计规约,在此过程中,请本部分负责成员与大家协商是否需要修改需求规约。具体如下:
1) 体系结构设计由本部分负责成员主持小组讨论确定。
2) 接口设计、界面设计、流程设计(业务流程图,如图 8、图 9)由各成员按照自己负责的功能模块进行设计(主界面由执笔人设计,界面风格由组长主持协调风格一致)。
3) 数据结构设计由组长主持,并征求各模块负责人意见保证最终
得到的数据结构(数据库能满足各模块需要)。
|
阶 段 4 第3 周
星期二、星期三
|
完成详细设计,由本部分负责成员执笔。具体如下:
1) 执笔人完成总体结构设计图,如图 11。
2) 所有参与人完成所负责模块实现设计的泳道图(如图 14)、状态图(如图 15)
3) 所有参与人完成所负责模块静态模型设计——类图,如图 16。
4) 所有参与人完成所负责模块动态行为模型设计——顺序图,如图 17。
5) 执笔人再在各模块基础上完成程序结构设计图(如图 12)、各
功能模块包图(如图 13)
|
阶 段 5 第3 周
星期四、星
期五
|
根据前述完成情况,可适当调整时间做缓冲。总体修改。并在Enterprise Architect 中生成初始程序代码。
|
项目组长
|
全面协调各参与人工作,并从总体上考虑项目设计,确保设计覆盖
所有必备功能,以及设计结果能够让码农看懂以及实现。
|
指导教师
|
教师不需要每天在实验室,但是需要按照下面步骤进行检查帮 助学生完成实训。
1) 第 1 天完成分组,各小组确定项目题目,以及项目大致分工。
2) 第 1 周星期三下午检查需求规约完成情况,如有延误,请帮助项目组长分析瓶颈,改进计划。
|
|
3) 第 2 周星期一下午检查概要设计规约完成情况与学生讨论数据建模是否合理,帮助改进设计质量。
4) 第 2 周星期三检查详细设计完成情况。
5) 第 2 周星期五检查整体完成情况。
|
备注
|
1) 本表中的图,请查看图目录,就能找到该图所在页码。
2) 项目对完成最终代码不做要求,但希望每一组同学能够最终实现。
3) 请每一位同学务必完成自己的项目日志,否则课程设计计 0 分。
|
五、 要求与具体设计方法
5.1 综合实践能力创新实训 3 要求与方法
软件项目架构虽然有软件工程国家标准,但是在实际设计过程当中,各公司都参照国标,根据自己公司的设计习惯对标准取舍各有异同。因此,基于本次课程设计时间关系,要求采用 UML 进行设计,推荐 Enterprise Architect 作为软件架构工具,课程设计报告书由以下 5 部分构成,项目小组规约、XX 项目需求规约、XX 项目概要设计规约、XX 项目详细设计、XX 项目架构日志。
注意:如果是前后端分离形式的设计,各流程与类图请按照——前端、后端管理、后端,三个大类进行相应归并,不好统一放在一起,而是分成三块进行撰写。
5.1.1 项目小组规约
本规约由以下组成: 项目名称
项目组长、成员(姓名、学号、电话)
分工:按两个层次进行。a 执笔人(分需求规约、概要设计规约、详细设计, 必须每人 1 项);b 功能模块分工。
实际完成:可能某些同学在具体设计中有部分困难,组内其他同学对其建议或帮助较大,需要在这部分阐述清楚。(该部分在最后统稿完成)。
5.1.2 XX 项目需求规约 封面采用图 1 样式。

本规约由两部分组成:项目简介与需求分析构成。1) 项目简介
请参阅 6.1.3 节软件架构中案例。2) 需求分析
包括需求概述与功能需求分析。在功能需求分析中,需要绘制用例图。用例图是是被称为参与者的外部用户所能观察到的系统功能的模型图。
主要功能用例图。该图描述了系统所需要开发的全部功能模块。分功能用例图。该图描述了某一功能模块的细分模块。
5.1.3 XX 项目概要设计规约
封面采用图 7 样式。
本规约由 6 部分组成:项目简介、体系结构设计、接口设计、界面设计、数据结构设计以及流程设计等。
1) 项目简介
请参阅 6.2.3 节软件架构中案例。2) 体系结构设计
请参阅 6.2.3 节软件架构中案例。3) 接口设计
一般采用 b/s 开发时,前后端交互通过接口函数的实现数据的交互,此外项目与外部系统、设备有交互,也需要设计相应接口函数,请按照案例中设计相应函数,如果可能请定义其参数,并描述该接口函数的功能。本部分工作,请项目组长根据所设计项目的需要进行规划,并安排各参与者就自己所负责的模块进行设计给出。
4) 界面设计
根据需求进行项目的界面设计。主界面由概要设计规约执笔人为主设计,其他分功能模块由各参与人设计。请项目组长依据项目设定的体系结构 C/S 或 B/S 确定相应的代码编写工具,并进行界面的设计。本部分只设计界面,不完成界面各控件相应的代码编写。要求风格一致、颜色一致。建议采用 Axuer 进行界面设计。
5) 数据结构设计
即项目所需数据结构的设计,通常为项目所需数据库结构设计。建议使用PowerDesigner 进行设计。本设计由项目组长主持,各参与人提出自己负责模块所需要的数据表,然后由项目组长汇总,并查漏补缺,最终导出完整的数据库结

构。结果如 6.2.3 节中数据表。
6) 流程设计
各参与人就自己负责功能的业务,完成其主要的业务流程图。亦可以用数据流图代替。
5.1.4 XX 项目详细设计
封面采用图 10 样式。
本规约由 3 部分组成:简介、总体结构设计以及模块详细设计等。
1) 简介
请参阅 6.3.3 节软件架构中案例。
2) 总体结构设计
采用自下而上的方法,先架构好各功能模块后,由详细设计文档执笔人完成总体结构设计图、程序结构设计图与各功能模块包图。
3) 模块详细设计
由各参与人完成自己所负责部分的实现设计、静态模型设计与动态行为模型设计。
5.1.5 XX 同学参与 XX 项目架构日志
本人项目日志,视为同学完成课程设计的重要文档,如果缺乏,则表示该生所完成的设计为抄袭他人作业,计 0 分。
日志内容:按天记录,分为 4 部分:当天工作安排,完成情况,所遇到的问题,如何解决。
5.2 程序代码要求
当设计完成后,用 EA 软件生成项目的初始代码即可。
5.3 项目内容与分工
主要工作为:用例设计、界面原型设计、接口设计、数据库设计、类图与工作包设计。每一位同学都需要选定一个模块进行上述工作的设计。但是请小组负责人安排上述 5 项工作具体的最终汇总文档编写。每一部分的文档编写人要在该文档的前言注明每一位同学所做的工作与贡献。
5.3.1 人事管理系统大体分工
该系统可以采用 C/S 开发或 B/S 开发。建议功能模块分为 3 部分(可以根据小组讨论增加功能,越多越实用,分数越高),每个模块不能简略。建议以大家

熟悉的学校为设计背景。
l 员工基本资料与部门管理
l 工资管理
l 用户与系统管理
5.3.2 网上购物网站大体分工
建议功能模块分为 3 部分(可以根据小组讨论增加功能,越多越实用,分数越高),每个模块不能简略。
l 商品展示、查询、购物车。
l 用户登录、注册、留言、用户与店小二交流平台。
l 网站管理与销售数据、库存数据统计与分析(需要一些类似饼图、折线图、雷达图等)。
5.3.3 宿舍管理系统大体分工
该系统可以采用 B/S 开发,B/S 开发建议功能模块分为 3 部分(可以根据小组讨论增加功能,越多越实用,分数越高),每个模块不能简略。建议以大家熟悉的学校为设计背景。
l 宿舍基本资料、入住人员基本资料
l 宿舍分配与调换
l 宿舍内务管理
5.3.4 快递收寄与包裹派发系统
包括普通个人寄快递、协议单位寄出批量包裹,不同的包裹有不同的政策要求、条码等。包裹派发出库等内容。请大家根据自己寄出快递与取快递的经验设计流程。
5.3.5 党支部资料管理以及党员发展信息系统
包括党支部的党员花名册及其信息变动、党费收缴、支部会议、支委会、民主生活会、主题党日活动、优秀党员评议、发展党员等信息。可以与学生党支部书记咨询。
5.3.6 校园周边快递(盒饭、小食品、代取包裹等)派工与抢单系统
包括商家的入驻、快递人员的注册审核、商家信息的发布、根据快递人员历史送货情况(绩效、业务量)、当前位置等信息进行派单和抢单。应该有地图服

务。
5.3.7 知识网格实验室网站
请参考 kpnm.hnust.cn 与 https://idiplab.uestc.cn/中的情况进行设计。
5.3.8 计算机学院微科基地信息管理系统
微科基地入驻申请、审核、年度考核,学院年度 SRIP 项目申报与批准以及检查等。具体可以与袁东统老师咨询。
5.3.9 大学教师科研团队管理系统
包含设置科研领域、领域基本知识、上传下载学生做的项目代码与开发的算法、教师与学生收集的数据集、算法等资源、上传一些对相关领域知识的新认识等文章,也可以有技术讨论等等
5.3.10 校友管理系统
l 校友 ID 管理:校友注册、管理人员推荐校友管理等
l 各区域校友会管理
l 校友活动管理:节假日祝福信息、学校重要成就推送、校友重要成就推送、校友聚会活动发起、每年校庆校友打卡与祝福视频等
l 校友联谊:校友资源共享、校友讨论交流等
5.3.11 学校管理数据中台
主要设计同学们熟悉的数据场景:教室管理、教务、图书馆、住宿、食堂
l 数据来源管理:这些数据来自上面多个系统,以及异构数据的一致化
l 数据仓库:设计教务成绩的分析挖掘用的数据仓库结构
l 算法库管理:为了实现分析与挖掘所需要的算法(这里只要管理算法就可以,不需要实现具体的算法)
l 管理与查询 UI 界面等
5.3.12 高校教师科研成果管理系统
提供学院管理各位教师的科研成果的系统。管理的信息有:
l 教师的论文
l 项目——分为向各级政府机构申请的纵向项目与向企事业单位申请的横向项目、教育教改项目(国家级、省级、校级、教育部协同育人项目)、

指导学生的国家级、省级与校级项目
l 知识产权:软件著作权、专利
l 获奖:教学奖励(国家级、省级、校级)、教学比赛
科研奖励(科技进步奖、发明奖、自然科学奖)与级别指导学生获得的学科竞赛奖励
5.4 小组规约模板
小组规约中写清楚小组的构成、分工、联系方式。下面的只是一个简单的模板。另外请添加小组中模块、类、函数的命名风格(小组内讨论确定)。小组中 问题的协商与沟通方式,出现分歧如何解决,最后由谁来进行仲裁或确定由谁
(或采取哪种方式来得到最后结论)来保证整个软件架构的风格统一。
注意:请在分工上明确哪位同学负责汇总后端、哪位负责汇总前端、哪位负责汇总文档。