首页 软件工程课程设计指导书

软件工程课程设计指导书

举报
开通vip

软件工程课程设计指导书山东建筑大学软件工程课程设计指导书山东建筑大学计算机科学与技术学院2010年5月前言“软件工程”是计算机专业和信息管理等相关专业的一门重要课程,也是其他理工科专业的热门选修课程。“程序设计语言”“数据库原理及应用”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。许多计算机专业的大学毕业生认为:软件工程课是他们参加工作以后最能直接应用的一门专业课。要学好“软件工程&rdqu...

软件工程课程设计指导书
山东建筑大学软件工程课程设计指导书山东建筑大学计算机科学与技术学院2010年5月前言“软件工程”是计算机专业和信息管理等相关专业的一门重要课程,也是其他理工科专业的热门选修课程。“程序设计语言”“数据库原理及应用”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。许多计算机专业的大学毕业生认为:软件工程课是他们参加工作以后最能直接应用的一门专业课。要学好“软件工程”,仅仅通过课堂教学或自学掌握理论知识是远远不够的,还必须加强实践。需要完成软件工程课程设计的若干实践任务。为此,我们编写了这本《软件工程课程设计指导书》,以帮助学生进行课程设计,从失败的教训和成功的经验中得到锻炼和提高,以便学会运用理论知识去解决软件开发中的实际问题,达到学以致用的目的。本书共包含四部分。第一部分是项目实施步骤;第二部分是一个大型系统的结构化方法开发案例;第三部分是一个大型系统的面向对象方法开发案例;这两个案例供学生们实验时参考。由于篇幅所限,指导书中列出了一些主要的内容,次要的有些内容在此省略。最后一部分给出了软件工程课程设计报告样式。2010年5月目录22一、项目实施步骤23二、案例1:毕业设计管理系统231需求分析231.1系统概述231.2目标系统描述231.2.1组织结构与职责231.2.2角色定义241.2.3业务流程251.2.4表格及报表251.3目标系统功能需求251.3.1功能需求分析261.3.2系统用例图272概要设计272.1数据流图及数据字典272.1.1毕业设计管理系统1层数据流图272.1.2毕业设计管理系统2层数据流图及数据字典352.1.3毕业设计管理系统3层数据流图及数据字典362.2数据分析与数据库设计362.2.1数据库概念结构设计372.2.2数据库逻辑结构和物理结构设计402.2.3视图设计433详细设计433.1管理员433.1.1系统管理-教师信息管理473.1.2系统管理-学生信息管理473.1.3系统管理-专业信息管理483.1.4系统管理-班级信息管理483.1.5系统管理-系统信息管理49三、案例2:图书馆管理系统491面向对象的分析491.1系统需求491.2建立对象模型572面向对象的设计582.1设计图书馆管理系统的人机界面34附件1(任务书)34课程设计任务书(一)36课程设计任务书(二)38课程设计任务书(三)40课程设计任务书(四)42课程设计任务书(五)44课程设计任务书(六)46课程设计任务书(七)35课程设计任务书(八)37附件2:软件工程课程设计报告样式38目录39课程设计任务书41总结42参考文献43课程设计指导教师评语一、项目实施步骤1、选题指导教师公布大作业题目(课程设计题目),学生根据自己的兴趣爱好进行选题,或由指导教师指定题目。学生也可以自己选题,但课题应经过指导教师的批准后方可进行。2、组队学生根据自己选定的题目,以班级为单位4-5人成立一个开发小组,选出小组项目负责人,小组长负责整个项目的设计过程,并负责对小组成员按任务进行分工。3、拟出具体的 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 学生根据自己所接受的设计题目应立即着手准备资料的查阅,在指导教师的指导下着手进行程序总体 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的总结与论证,设计出具体的实施方案,报指导教师批准后开始实施。4、系统的分析、设计、复审、编码与测试学生在指导教师的指导下应完成所接受题目的各项工作,并上机测试和运行,最后得出预期的成果。5、撰写课程设计总结报告课程设计总结报告是课程设计工作的整理和总结,主要包括课程设计的分析、设计、编码与测试等部分,最后写出课程设计的总结报告。课程设计总结报告(含程序)的电子文档要求在课程设计结束前上交存档。二、案例1:毕业设计管理系统1需求分析1.1系统概述目前,我院毕业设计工作包括出题、选题、指导、评阅、答辩五个阶段。除选题阶段有一个毕业设计选题系统外,其他阶段的工作没有统一的平台管理。一般情况是首先教务秘书通过学院网站发布毕业设计相关工作的通知,然后教师和学生通过自己的方式完成工作,最后由教务员统一整理和存档。期间没有统一的系统来管理。这无疑增加了教务员的工作量,同时,教师频繁地通过邮件来与学生进行互动,也给双方带来了很多不便。因此,解决目前毕业设计工作中的不便,更好地规范毕业设计的过程,我院决定开发毕业设计管理系统。希望该系统能够为我院毕业设计的各项工作提供方便、高效、规范、统一的服务。1.2目标系统描述1.2.1组织结构与职责我院目前有4个教研室和3个专业,其中4个教研室分别是计算机科学与技术、网络工程、软件工程和信息技术。3个专业包括计算机科学与技术、网络工程和软件工程,这些专业的教学工作分别由相应的教研室负责。我院还有一个教学办公室,负责全部教学工作的管理。其组织结构图如图1.1所示。图1.1计算机学院组织结构图1.2.2角色定义目标系统中的角色如表1.1所示。表1.1角色定义 编号 角色 所在部门 职责 1001 系统管理员 教学办公室 毕业设计工作通知、课题发布、文档保存、基本信息管理 1002 专业负责人 除信息技术教研室外其他教研室 组织本专业课题的审核、指派选题、组织评阅和答辩、管理本专业的学生信息 1003 教师 各教研室 申报毕业设计课题、选择学生、指导学生毕业设计、批阅 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 1004 学生 各专业 选择毕业设计题目、按要求完成毕业设计程序设计和毕业设计论文(说明书)、外文文献及翻译的撰写 1005 专家 院内/院外 毕业课题审核、论文同行评审、设计答辩。1.2.3业务流程整个毕业设计工作包括申报课题、审核课题、选择课题、毕业设计指导、专家评审、毕业答辩六个阶段。前5个阶段的业务流程如图1.2所示。图1.2毕业设计申报课题业务流程图在出题业务流程中,教师通过填写任务书的形式出题,每个题目对应一份任务书。并且每个教师最多能出10个课题。由于一个课题可以同时适合多个专业,所以在提交课题时,教师需指明该课题所适合的专业。课题经过专业负责人审核后,需在审核表中注明所报的每个课题是否通过本专业的审核,只有通过审核的课题才能由教学办公室发布。图1.3毕业设计选择课题业务流程图在选题业务流程中,一个学生可以同时选2个本专业的课题,教师最终确定选择自己课题的学生。没有确定题目的学生由专业负责人分配题目。整个选题结束后完善任务书,保存题目明细表。图1.4毕业设计指导、专家评审业务流程图在指导业务流程中,教师填写毕业设计进度表,学生按照进度的安排进行毕业设计。在毕业设计过程中,要求学生每周提交周总结,汇报工作情况,教师每周都需要对周总结进行批阅,以便发现问题及时指导。毕业设计进行一半时,需要填写中期检查表,总结前半段的毕业设计工作。毕业设计后期需要学生在教师的指导下,完成毕业设计论文(说明书)的撰写、外文文献及翻译和应用程序的设计开发。在专家评审业务中,由教师组成的专家分组对毕业设计相关资料进行评阅,每个课题对应一份评阅人评审表。1.2.4表格及报表在毕业设计的过程中填写的普通表格有任务书(附表1)、进程表(附表2)、周报(附表3)、中期检查表(附表4)。此外,需要生成报表有题目审核表(附表5)、题目明细表(附表6)。1.3目标系统功能需求1.3.1功能需求分析毕业设计管理系统中涉及的角色包括:系统管理员、专业负责人、教师、学生和专家。不同的角色对系统的使用权限不同。其中系统管理员(教学秘书)拥有对该系统的最高权限,能够在该系统中执行所有管理工作;专业负责人拥有对本专业课题进行审核的权限;每个普通教师和学生只能管理自己相关的信息;专家只是在毕业设计评阅阶段才参与进来。这里按照不同的角色来组织用例。系统管理员对应的用例包括:系统管理、课题管理、公告管理;专业负责人对应的用例包括:课题审核和课题调整;教师对应的用例包括:个人信息管理、信息公告、课题确认、课题管理、教师的课题;学生对应的用例包括:个人信息管理、信息公告、课题选择、学生的课题。1.3.2系统用例图根据前面的业务流图和功能需求分析,得到毕业设计管理系统用例图如图1.5所示。图1.5毕业设计管理系统用例图对于上图中出现的用例说明如下:(1)系统管理:系统管理员利用该功能设置专业、班级、教研室、毕业设计参数、教师、学生这些系统信息。(2)公告管理:系统管理员利用该功能进行通知发布相关的操作。(3)课题管理:系统管理员利用该功能审核课题、调整选题、管理教师提交的课题信息。(4)个人信息管理:教师、学生、专家、专业负责人用户可以利用该功能修改个人信息和密码。(5)信息公告:除系统管理员外,其他各类用户利用该功能查看最近发布的通知信息。(6)教师课题管理:教师用户利用该功能完成课题申报、选题内部调整功能。(7)课题确认:教师利用该功能根据学生选题情况,最终确定选题结果(8)教师的课题:教师利用该功能可以查看最终选题结果、学生的设计进度、设计提交的文档、周总结信息,并可以对设计文档和周总结进行批阅。(9)课题选择:学生利用该功能,根据可选的课题,进行初步的选题。(10)学生的课题:选题结束后,学生利用该功能查看选题结果以及和课题相关的详细信息,并且利用该功能还可以提交设计文档和周总结,同时查看教师及专家对该学生的评阅 意见 文理分科指导河道管理范围浙江建筑工程概算定额教材专家评审意见党员教师互相批评意见 。(11)课题审核:专业负责人利用该功能对申报到本专业的课题进行审核,审核通过的课题才能够被学生选择。(12)选题指派:专业负责人利用该功能对于没有选题的学生进行课题指派。(13)专家评审:专家利用该功能,对指定的学生课题进行评审,并给出评审意见。2概要设计2.1数据流图及数据字典2.1.1毕业设计管理系统1层数据流图根据前面的业务描述,整个毕业设计管理系统可以划分为3大处理功能模块:系统基本信息管理、通知管理和毕业设计过程管理。首先,教学秘书将教师、学生、班级、专业、教研室以及一些必要的毕业设计参数(每位教师申报的最多课题数、周报次数、进度表周数)的基本信息通过系统基本信息管理处理功能维护到该系统,同时,可以通过通知管理处理功能发布所有的毕业设计通知。然后,根据系统基本信息和毕业设计通知信息教师、学生开始进行毕业设计,整个毕业设计过程的工作由毕业设计过程管理处理功能实现。通过过程管理,教师可以进行课题申报、学生选择、课题审核(专家角色的教师)、指导学生、设计文档批阅及评阅工作;学生可以进行课题选择、教师指导、设计文档提交、批阅及评阅情况查阅工作;教学秘书可以获得各类报表(如:题目明细表、选题情况统计等)。该系统的1层数据流图如图2.1所示。图2.1毕业设计管理系统1层数据流图2.1.2毕业设计管理系统2层数据流图及数据字典2.1.2.1系统基本信息管理子模块数据流图及数据字典系统基本信息管理包括系统参数管理、班级基本信息管理、学生基本信息管理和教师基本信息管理4个处理功能。其中,系统参数管理功能实现将教学秘书输入的专业、教研室、做多申报课题数、周总结次数、进度表周数这些基本信息保存到数据库,可用一个数据存储“系统参数信息”来保存这些信息。班级基本信息管理功能根据“系统参数信息”中存储的专业信息处理教学秘书输入的班级数据,并将其保存在“班级基本信息”数据存储中。学生基本信息管理根据“班级基本信息”处理教学秘书输入的学生数据,并将其保存在“学生基本信息”数据存储中。教师基本信息管理根据“系统参数信息”中的教研室信息处理教学秘书输入的教师数据,并将其保存在“教师基本信息”数据存储中。系统基本信息管理的整个过程可以通过图2.2的2层数据流图展现出来。图2.2系统基本信息管理2层数据流图上图中涉及的数据项、数据结构、数据流和数据存储以及处理过程的描述如表2.1到表2.5所示。表2.1系统基本信息管理2层数据流图用到的数据项说明 编号 名称 类型 取值范围 长度 说明 I0101 代码名称 字符串 任意字符串 50字节 专业、教研室、给设计参数都可作为该项的值 I0102 代码内容 字符串 任意字符串 50字节 代码名称的具体值,如代码名称为专业,其内容可为软件工程、网络工程等 I0103 代码备注 字符串 任意字符串 100字节 代码内容的说明 I0204 毕业届次 字符串 固定长度 4字节 入学年份,如2004 I0205 专业 字符串 任意字符串 50字节 专业名称 I0206 班级名称 字符串 任意字符串 30字节 I0307 教师编号 字符串 固定长度 6字节 同教务系统编号一致 I0308 教研室 字符串 任意字符串 50字节 I0309 职称 字符串 任意字符串 30字节 I0310 姓名 字符串 任意字符串 20字节 I0311 性别 字符串 固定 2字节 I0312 邮箱 字符串 任意 30字节 I0313 联系电话 字符串 任意 30字节 I0314 密码 字符串 最少3位 15字节 I0401 学号 字符串 固定长度 10字节 前4位为入学年份表2.2系统基本信息管理2层数据流图中用到的数据结构说明 编号 名称 组成 有关的数据流/数据存储 D01 系统参数 代码名称+代码内容+代码备注 F1.1、S01 D02 班级信息 入学届次+专业+班级名称 F1.3、S02 D03 教师信息 教师编号+教研室+职称+姓名+性别+邮箱+联系电话+密码 F1.6、S04 D04 学生信息 学号+班级名称+姓名+性别+邮箱+联系电话 F1.4、S03表2.3系统基本信息管理2层数据流图中的数据流说明 编号 名称 来源 去向 包含的数据结构 流通量 F1.1 毕业设计参数 教学秘书 P1.1 {系统参数} 每年一次 F1.2 专业信息 S01 P1.2 专业名称 F1.3 班级数据 教学秘书 P1.2 {班级信息} 每年一次 F1.4 学生数据 教学秘书 P1.3 {学生信息} 每年一次 F1.5 教研室信息 S01 P1.4 教研室名称 F1.6 教师数据 教学秘书 P1.4 {教师信息} 每年一次表2.4系统基本信息管理2层数据流图中的数据存储说明 编号 名称 来源 组成 说明 S01 系统参数信息 P1.1 {系统参数} 系统参数有专业名称、教研室名称、最多申报课题数、毕业设计周数 S02 班级基本信息 P1.2 {班级信息} 其中专业名称取自S01中保存的专业名称 S03 学生基本信息 P1.3 {学生信息} 其中班级取自S02中保存的班级 S04 教师基本信息 P1.4 {教师信息} 其中教研室取自S01中保存的教研室表2.5系统基本信息管理2层数据流图中的处理过程说明 编号 P1.1 名称 系统参数管理 流入数据流 F1.1 流出数据流 格式化的毕业设计参数 处理周期 一年一次 处理过程描述:对专业名称、教研室名称、最多申报课题数、毕业设计周数等毕业设计参数进行添加、删除、修改、查询操作。 编号 P1.2 名称 班级基本信息管理 流入数据流 F1.2、F1.3 流出数据流 格式化的班级信息 处理周期 一年一次 处理过程描述:对班级信息进行添加、删除、修改、查询操作 编号 P1.3 名称 学生基本信息管理 流入数据流 F1.4 流出数据流 格式化的学生信息 处理周期 一年一次 处理过程描述:对学生信息进行添加、删除、修改、查询操作 编号 P1.4 名称 教师基本信息管理 流入数据流 F1.5、F1.6 流出数据流 格式化的教师信息 处理周期 一年一次 处理过程描述:对教师信息进行添加、删除、修改、查询操作2.1.2.2通知管理子模块数据流图通知管理子模块包括通知发布、通知删除、通知修改和信息查看四个处理过程。它们共同完成对毕业设计通知信息的管理。毕业设计通知通过通知发布功能保存到数据库中,用数据存储“已发布通知”来保存。对于发布的通知若需要改动,则可以通过通知删除和修改功能实现修改。教学秘书、教师和学生可以通过指定查询条件查询到满足条件的通知。其对应的2层数据流图如图2.3所示。图2.3通知管理2层数据流图上图中涉及的数据项、数据结构、数据流和数据存储以及处理过程的描述如表2.6到表2.10所示。表2.6通知管理2层数据流图中的数据项说明 编号 名称 类型 取值范围 长度 说明 I0501 通知编号 字符串 任意字符串 50字节 唯一标识每一条通知 I0502 标题 字符串 任意 100字节 I0503 通知内容 大文本 任意 2000字节 可插入表格、图片 I0504 发布人 字符串 固定 6字节 发布信息的教师编号 I0505 发布时间 时间 1900.1.1-4000.1.1 发布时间精确到秒 I0506 最后一次修改时间 时间 1900.1.1-4000.1.1 发布时间精确到秒表2.7通知管理2层数据流图中的数据结构说明 编号 名称 组成 有关的数据流/数据存储 D05 毕业设计通知 标题+通知内容+发布时间 F2.1、S05 D06 通知查询条件 起始时间+终止时间+标题 F2.2、S05表2.8通知管理2层数据流图中的数据流说明 编号 名称 来源 去向 包含的数据结构 流通量 F2.1 毕业设计通知 教学秘书 P2.1 {毕业设计通知} 随机 F2.2 查询条件 学生、教师、教学秘书 P2.4 {通知查询条件} 随机 F2.3 满足条件的通知 S05 P2.4 {毕业设计通知}+发布人+最后一次修改时间 随机表2.9通知管理2层数据流图中的数据存储说明 编号 名称 来源 组成 说明 S05 已发布通知 P2.1 通知编号+{毕业设计通知}+发布人+最后一次修改时间 表2.10通知管理2层数据流图中的处理过程说明 编号 P2.1 名称 通知发布 流入数据流 F2.1 流出数据流 格式化的毕业设计通知 处理周期 随机 处理过程描述:将用户输入的标题和通知内容以及可自动获取的发布人、发布时间信息保存到“已发布通知”数据存储中。同时为新保存的通知自动分配通知编号。 编号 P2.2 名称 通知删除 流入数据流 通知编号 流出数据流 处理周期 随机 处理过程描述:从“已发布通知”数据存储中删除指定通知编号的通知信息。 编号 P2.3 名称 通知修改 流入数据流 通知编号 流出数据流 修改后的通知信息 处理周期 随机 处理过程描述:首先从“已发布通知”数据存储中找出指定通知编号对应的通知记录;然后修改除通知编号外的其他信息。最后保存修改后的信息。 编号 P2.4 名称 通知查看 流入数据流 F2.2、S05 流出数据流 F2.3 处理周期 随机 处理过程描述:根据查询条件从“已发布通知”数据存储中找出满足条件的通知信息。2.1.2.3毕业设计过程管理子模块数据流图根据前面部分描述的业务流图,整个毕业设计过程对应的数据流图如图2.4所示。图2.4毕业设计过程管理2层数据流图上图中涉及的数据项、数据结构、数据流和数据存储以及处理过程的描述如表2.11到表2.15所示。表2.11毕业设计过程管理2层数据流图中的数据项说明 编号 名称 类型 取值范围 长度 说明 I0601 课题编号 字符串 毕业设计届次+教师编号+2位随机数 12字节 唯一标识每一个课题 I0602 课题名 字符串 任意 100字节 I0603 原始参数 字符串 任意 500字节 I0604 工作内容 字符串 任意 500字节 I0605 工作基本要求 字符串 任意 500字节 I0606 工作日程 字符串 任意 500字节 I0607 参考资料及文献 字符串 任意 500字节 I0608 题目性质 字符 固定 2字节 01:真实(真题真做)02:模拟(真题假做)03:虚拟(假题假做) I0609 出题教师编号 字符串 固定 6字节 I0610 其他指导教师 字符串 固定 6字节 I0611 专业代码 字符串 固定 2字节 I0612 审核标志 字符 固定 1字节 I0613 题目类型 字符 固定 2字节 01:设计、02:论文 I0614 题目来源 字符 固定 2字节 01:科研立项、02:生产、03:教学 I0615 题目审查意见、结论 字符串 任意 100字节 I0616 专业负责人意见 字符串 任意 100字节 I0701 设计文档 字符串 任意 50字节 该值为文件路径(毕业设计说明书) I0702 外文文献及翻译 字符串 任意 50字节 该值为文件路径 I0703 备注 字符串 任意 100字节 用于存放附加信息 I0704 指导教师评阅意见 字符串 任意 500字节 I0705 评阅人评阅意见 字符串 任意 500字节 I0801 周总结填写日期 日期 1900.1.1-4000.1.1 I0802 本周工作总结 字符串 任意 500字节 I0803 要求的支持和工作建议 字符串 任意 500字节 I0804 下周工作安排 字符串 任意 500字节 I0805 教师对问题的处理 字符串 任意 500字节 I0806 教师 评价 LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载 考核 字符串 任意 100字节 I0807 周次 数值 随机数 I0901 第一待选课题编号 字符串 毕业设计届次+教师编号+2位随机数 12字节 I0902 第二待选课题编号 字符串 毕业设计届次+教师编号+2位随机数 12字节 I0903 最终选择课题编号 字符串 毕业设计届次+教师编号+2位随机数 字符串 毕业设计届次+教师编号+2位随机数表2.12毕业设计过程管理2层数据流图中的数据结构说明 编号 名称 组成 有关的数据流/数据存储 D07 课题任务书 课题名+原始参数+工作内容+工作基本要求+工作日程+参考资料及文献+题目性质+课题来源+课题类型+出题教师编号+其他指导教师+适合专业 F3.1、S06 D08 课题审核意见 课题编号+审核意见结论+专业负责人意见 F3.2、S06 D09 课题资料 {周总结}+设计文档+外文文献及翻译 S07 D10 周总结 填写日期+本周工作总结+要求的支持和工作建议+下周工作安排+教师对问题的处理 S08 D11 课题明细 学号+课题编号+课题名称+课题性质+课题来源 F3.8表2.13毕业设计过程管理2层数据流图中的数据流说明 编号 名称 来源 去向 包含的数据结构 流通量 F3.1 申报课题任务书 教师 P3.1 {课题任务书} 一年一次 F3.2 审核意见 P3.2 S06 {课题审核意见} 一年一次 F3.3 通过审核的课题 S06 P3.3 课题编号+{课题任务书} 一年一次 F3.4 初步选题意向 学生 P3.3 学号+课题编号+待选课题编号 随机 F3.5 最终选题意向 教师 P3.3 学号+课题编号 一年一次 F3.6 选题结果 P3.3 教师、学生 学号+课题编号 一年一次 F3.7 课题变更请求 教学秘书 P3.3 学号+课题编号+待变更课题编号 随机 F3.8 课题明细 P3.3 教学秘书 {课题明细} 随机 F3.9 设计文档 学生 P3.4 设计文档+外文文献及翻译+{周总结} 随机 F3.10 指导、评阅意见 教师 P3.5 学号+课题号+教师对问题的处理+指导教师评阅意见 F3.11 评审意见 P3.6 S07 学号+课题号+评阅人评阅意见 表2.14毕业设计过程管理2层数据流图中的数据存储说明 编号 名称 来源 组成 说明 S06 课题基本信息 P3.1 课题编号+{课题任务书}+备注 S07 学生课题信息 P3.3 学号+{课题资料}+第一待选课题编号+第一待选课题编号+最终选择课题编号+届次 S08 周总结明细 学号+届次+周次+{周总结} 表2.15毕业设计过程管理2层数据流图中的处理过程说明 编号 P3.1 名称 课题申报管理 流入数据流 F3.1 流出数据流 格式化的课题申报信息 处理周期 一年一次 处理过程描述:通过该处理过程,教师可以填写课题申报任务书,每个课题对应一份任务书。并且每个教师最多能够申报不超过系统规定的最多课题数。该处理过程还提供课题任务书的提交、暂存、修改、删除功能。 编号 P3.2 名称 课题审核管理 流入数据流 课题基本信息 流出数据流 审核意见 处理周期 一年一次 处理过程描述:对“课题基本信息”数据存储中课题按专业进行审核,并保存审核意见。具体步骤如下:首先,专业负责人从“课题基本信息”数据存储中读出本专业对应的课题基本信息,然后,对每个课题填写审核意见,若通过审核则置“课题基本信息”数据存储中审核标记为’1’,否则置为‘0’。最后,置“课题基本信息”数据存储中的审核提交标志为‘1’。 编号 P3.3 名称 课题选择管理 流入数据流 F3.3、F3.4、F3.5、F3.7 流出数据流 F3.6、F3.8 处理周期 随机 处理过程描述:该过程实现学生对课题的初选、教师对课题的最终确认以及教学秘书对课题的变更处理和课题明细统计等工作。 编号 P3.4 名称 课题设计 流入数据流 F3.9 流出数据流 格式化的设计文档 处理周期 随机 处理过程描述:该过程实现设计文档,包括毕业设计说明书、外文文献及翻译以及周总结等的上传、填写、修改、删除等功能。 编号 P3.5 名称 课题指导 流入数据流 F3.10 流出数据流 格式化的指导评阅意见及周总结中教师对问题的处理 处理周期 随机 处理过程描述:该过程实现学生课题资料查看、指导信息的填写、维护等功能 编号 P3.6 名称 设计评审管理 流入数据流 学生课题信息 流出数据流 F3.11 处理周期 一年一次 处理过程描述:专家是使用该过程实现设计的评审意见的填写功能。具体步骤如下:首先从“学生课题信息”数据存储中选取需要评审的学生材料,然后填写评审意见。最后保存意见。2.1.3毕业设计管理系统3层数据流图及数据字典图2.5课题申报管理3层数据流图2.2数据分析与数据库设计2.2.1数据库概念结构设计这里使用E-R图描述数据库的概念结构。根据上一部分描述的数据流图和数据字典,整个毕业设计系统的语义如下:在毕业设计课题申报阶段,一个教师可以申请若干课题,一个课题可以适应于目前的3个专业;一个专业可以审核多个课题,一个课题可以被多个专业审核;一个学生开始可以选则两个课题,但最终一个课题只能对应一个学生;在毕业设计设计、指导阶段,一个教师可以指导多个学生,一个学生被一个教师直接指导(其他指导教师为间接指导);在指导过程中,一个学生需要完成一组周报,一组周报只能由一个学生填写,对每份周报,指导教师需要给出教师对问题的处理、教师评价考核和备注信息。同时,每个学生还需要提交一份设计文档,包括毕业设计说明书和外文文献及翻译。指导教师在批阅完所有设计资料后,需要给出指导教师评阅意见。在毕业设计评审阶段,每位专家可以评审多个学生的设计文档,一个学生的设计文档只能给一个专家评审,评审结束时专家需要给出评审意见。从上面的语义描述中,抽象出系统中的实体有:教师(包括教学秘书、专家、专业负责人、普通教师)、学生、课题、班级、专业、周总结、设计文档、通知共8个实体。实体的属性及其码(实体的码用下划线标出)描述如下:(1)教师实体的属性为:{教师编号、所属教研室名、职称、姓名、性别、邮箱、联系电话、教师身份}。(2)专业实体的属性为:{专业名称、专业负责人}。(3)班级实体的属性为:{毕业届次、班级名称}。(4)学生实体的属性为:{学号、姓名、性别、邮箱、联系电话}。(5)课题实体的属性为:{课题编号、课题名、原始参数、工作内容、工作基本要求、工作日程、参考资料及文献、课题性质、课题来源、课题类型}。(6)周总结实体的属性为:{周次、填写日期、本周工作总结、要求的支持和工作建议、下周工作安排}。(7)设计文档实体的属性为:{设计说明书、外文翻译}。(8)通知实体的属性为:{通知编号、标题、通知内容、发布时间、最后一次修改时间}。由于在PowerDesigner中的CDM模型对应于E-R图,所以这里将直接进行CDM模型的设计。毕业设计管理系统对应的CDM如图2.6所示。图2.6毕业设计管理系统CDM模型2.2.2数据库逻辑结构和物理结构设计PowerDesigner的PDM可以描述数据库的逻辑结构和物理结构。毕业设计管理系统对应的PDM模型如图2.7所示。图2.7毕业设计管理系统的PDM模型(名称)图2.8毕业设计管理系统的PDM模型(代码)由图2.7、2.8可知毕业设计管理系统数据库包含12个基本表。此外,为了方便存放教研室、课题来源、课题性质、最多申报课题数、毕业设计周数等信息,设计一个系统代码表(该表中具体内容见表2.17)和系统参数表(见表2.18)。表2.16毕业设计管理系统中的数据表 表名 说明 表名 说明 Specialty 专业信息表 class_info 班级信息表 Teacher 教师信息表 student 学生信息表 Subject 课题信息表 Week_sumup 周总结信息表 information 通知信息表 subject_specialty 课题专业表 student_subject 学生课题表 sys_code 系统代码表 role_teacher 角色关系表 sys_argu 系统参数表表2.17系统代码表(预存信息) 代码标识 代码名称 代码内容 代码值 备注 1 教研室 信息技术 01 2 教研室 计算机科学与技术 02 3 教研室 软件工程 03 4 教研室 网络工程 04 5 专业 计算机科学与技术 01 6 专业 网络工程 02 7 专业 软件工程 03 8 教师角色 普通教师 01 9 教师角色 教学秘书 02 10 教师角色 专业负责人 03 11 教师角色 专家 04 12 课题类型 真实(真题真做) 01 13 课题类型 模拟(真题假做) 02 14 课题类型 虚拟(假题假做) 03 15 课题性质 设计 01 16 课题性质 论文 02 17 课题来源 科研立项 18 课题来源 生产 19 课题来源 教学 表2.18系统参数表 参数标识 参数名称 参数值 备注 1 zdsbkts 10 最多申报课题数 2 bysjzs 13 毕业设计周数2.2.3视图设计(1)教师角色视图为了方便将一个教师的多个角色作为教师的一个属性显示,这里首先在DBMS上定义函数get_role,该函数根据教师编号得到教师对应的角色,并返回一个字符串,该字符串中显示了教师对应的所有角色名称,不同角色名称间用‘/’隔开。Createfunctionget_role(@tnoaschar(6))returnvarchar(50)BeginDeclare@rolenamevarchar(50),@code_contentvarchar(20)Set@rolename=’’Declarerole_curcursorForselectcode_contentFromrole_teacher,sys_codeWhererole_code=code_valueandcode_name=’教师角色’andtno=@tnoOpenrole_curFetchnextfromrole_curinto@code_contentWhile@@fetch_status=0Begin@rolename=@rolename+@code_content+’/’Fetchnextfromrole_curinto@code_contentEndCloserole_curDeallocaterole_curReturn@rolenameEnd创建函数get_content,根据输入的代码名称和代码值返回代码内容。Createfunctionget_content(@code_nameasvarchar(20),@code_valueaschar(2))returnvarchar(20)BeginDeclare@code_contentvarchar(20)select@code_content=code_contentFromsys_codeWherecode_value=@code_valueandcode_name=@code_nameReturn@code_contentEnd创建教师角色视图teacher_rolename,显示教师基本信息和对应角色,其sql代码如下:Createviewteacher_rolename(tno,tname,tsex,dept,tdept,tech_post,tpost,email,tel,rolename)AsSelecttno,tname,tsex,dept,get_content(‘教研室’,dept),tech_post,get_content(‘职称’,tech_post),email,tel,get_role(tno)Fromteacher;(2)……2.3功能概要设计按照使用毕业设计管理系统的用户类型不同,我们把系统分为管理员(教学秘书)、普通教师、学生、专家、专业负责人五个主要模块。其功能模块及分解后的子模块如表2.18所示。表2.18毕业设计管理系统功能模块结构表 模块名称 子模块1 子模块2 子模块2 功能说明 1管理员 1.1系统管理 1.1.1教师信息管理 1.1.1.1新增教师 增加教师基本信息,并且为教师分配对应角色 1.1.1.2维护教师 修改和删除教师基本信息和对应角色信息 1.1.2学生信息管理 1.1.2.1新增学生 按毕业设计届次增加学生基本信息 1.1.2.2维护学生 修改和删除学生基本信息 1.1.3专业信息管理 1.1.3.1新增专业 按届次新增专业基本信息 1.1.3.3维护专业 修改和删除专业基本信息 1.1.4班级信息管理 1.1.4.1新增班级 按届次新增班级基本信息 1.1.4.2维护班级 修改和删除班级基本信息 1.1.5系统信息管理 1.1.5.1新增系统代码 新增系统代码信息 1.1.5.2修改系统代码 只能修改系统代码信息,不允许删除 1.1.5.3新增系统参数 新增系统参数信息 1.1.5.4修改系统代码 只能修改系统参数信息,不允许删除 1.2通知管理 1.2.1发布通知 1.2.2维护通知 1.3课题管理 1.3.1课题审核 1.3.1.1最终审核课题 对通过专业负责人审核的课题进行最终审核,通过最终审核的课题才允许学生选择 1.3.1.2撤销课题审核 对专业负责人审核通过的课题,可撤销审核 1.3.2调整选题 对本届次的学生选题情况进行综合调整 1.3.3删除课题 删除教师申报的课题 2教师 2.1个人信息管理 修改个人基本信息 2.2课题管理 2.2.1申报课题 按届次增加不超过规定数量的课题 2.2.2维护课题 修改已经增加的课题 2.2.3选择学生 从选择某课题的学生中,最终确定学生选题的结果。 2.2.4调整选题 在自己提交的课题中调整学生的选题结果 2.3我的课题 2.3.1查看学生-课题 按届次查看学生选择课题情况 2.3.2批阅周总结 批阅学生提交的周总结 2.3.3评阅设计文档 评阅学生提交的设计文档 2.4信息公告 查看已发布的毕业设计通知 3专家 3.1课题评审 专家角色的教师对指定的当前届次的学生课题进行评审,并给出评审意见 4专业负责人 4.1课题审核 专业负责人身份的教师对当前届次本专业的课题进行审核,通过审核的课题才允许本专业的学生进行选题。 4.2选题指派 对当前届次本专业的没有选择课题的学生指派毕业设计课题。 5学生 5.1个人信息管理 修改个人基本信息 5.2课题选择 从本专业指定的课题中最多选择2个课题。 5.3我的课题 5.3.1查看课题 查看最终的选题结果和课题详细信息 5.3.2周总结管理 5.3.2.1新增周总结 增加新的周总结信息 5.3.2.2维护周总结 修改和删除未被教师批阅的周总结 5.3.3提交设计文档 将毕业设计说明书和外文文献等毕业设计文档提交到系统 5.4信息公告 查看已发布的毕业设计通知3详细设计3.1管理员3.1.1系统管理-教师信息管理3.1.1.1界面设计图3.1教师管理主窗口界面图3.2新增教师窗口界面图3.3修改教师窗口界面图3.4删除确认框界面3.1.1.2功能说明表3.1“教师信息管理”模块说明书 模块名称:教师信息管理 窗口标题及标识:教师信息管理—form_teacher_info新增教师—form_add_teacher修改教师—form_modify_teacher删除确认框—dlg_delete_confirm 相关表及视图:系统代码表sys_code教师信息表teacher角色关系表role_teacher教师角色视图teacher_rolename 窗口控件设计说明 教师信息管理窗口form_teacher_info查询条件:教研室—建立一个下拉列表,将sys_code表中代码名称为“教研室”的代码内容显示在下拉列表框中,并在列表框中增加一个空白选项。教师姓名—建立一个文本框用来输入完整或部分教师姓名。查询结果:建立一个二维表格—显示满足查询条件的教师角色信息(teacher_rolename),其中教研室和职称不显示代码,只显示具体名称。功能按钮:建立8个功能按钮,查询、新增、修改、删除、第一页、上一页、下一页、最后一页。 新增教师窗口form_add_teacher信息输入:教师编号—建立一个文本框。教师名称—建立一个文本框。性别—建立2个单选按钮,按钮值为男、女。职称—建立一个下拉列表,将sys_code表中code_name为“职称”的code_content值显示在列表框中。教研室—建立一个下拉列表,将sys_code表中code_name为“教研室”的code_content值显示在列表框中。邮箱—建立一个文本框。联系电话—建立一个文本框。登录密码—建立一个文本框。确认密码—建立一个文本框。角色设置—建立一个二维表格,该表格有2个属性列,一个是供选择角色的复选框,另一个显示所有的角色名(sys_code表中code_name为“教师角色”的code_content值)。功能按钮:建立2个功能按钮,重置和提交 修改教师窗口form_modify_teacher信息输入:教师编号—建立一个文本框,只读状态。教师名称—建立一个文本框,只读状态。性别—建立2个单选按钮,按钮值为男、女。职称—建立一个下拉列表,将sys_code表中code_name为“职称”的code_content值显示在列表框中,只读状态。教研室—建立一个下拉列表,将sys_code表中code_name为“教研室”的code_content值显示在列表框中,只读状态。邮箱—建立一个文本框。联系电话—建立一个文本框。登录密码—建立一个文本框。确认密码—建立一个文本框。角色设置—建立一个二维表格,该表格有2个属性列,一个是供选择角色的复选框,另一个显示所有的角色名(sys_code表中code_name为“教师角色”的code_content值)。功能按钮:建立一个功能按钮,保存。 删除确认框dlg_delete_confirm提示信息:文本—确定要删除教师:“教师编号”+“教师姓名”吗?其中教师编号和姓名为选中记录对应的具体值。功能按钮:建立2个功能按钮,确定和取消。 功能说明 教师信息管理窗口form_teacher_info·查询:从下拉列表框和文本框中获得查询条件。单击该按钮后,按条件获得查询结果,并显示在下面的二维表格中。·新增:弹出新增教师窗口form_add_teacher。·修改:获得当前光标所指记录,弹出修改教师窗口form_modify_teacher,并将该记录信息显示在修改教师窗口中。·删除:获得当前光标所指记录的教师编号和教师姓名,弹出删除确认框dlg_delete_confirm。·第一页:显示二维表格中第一页的记录集。·上一页:显示二维表格中当前页的上一页记录集。若当前页无上一页,则该功能无效。·下一页:显示二维表格中当前页的下一页记录集。若当前页无下一页,则该功能无效。·最后一页:显示二维表格中最后一页的记录集。若当前页最后一页,则该功能无效。 新增教师form_add_teacher·重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框至于未选状态。·提交:从窗口中获得输入的字段值,调用教师对象的有效性检验方法validity_teacher(),如果返回值为真,则执行sql语句将教师基本信息(教师编号、教师姓名、性别、职称、教研室、邮箱、电话、密码)存入teacher表中,将教师角色信息(教师编号、角色代码)存入role_teacher表中。提交完成后自动返回到修改教师窗口form_modify_teacher。 修改教师form_modify_teacher·保存:从窗口中获得输入的字段值,调用教师对象的有效性检验方法validity_teacher(),如果返回值为真,则执行sql语句保存教师基本信息。·取消:不进行任何操作,关闭修改教师窗口。 删除确认框dlg_delete_confirm·确定:根据获得的“教师编号”tno,调用教师对象的关联控制方法relation_teacher(tno),如果返回值为假,则提示信息“您所选择的教师已参与毕业设计,无法删除!”。否则,删除teacher表中相应的教师记录。·取消:关闭删除确认框。表3.2“教师信息管理”调用方法说明书 模块名称:有效性检验方法teacher.validity_teacher() 窗口标题及标识:无 相关表及视图:无 功能说明 teacher.validity_teacher()如果教师编号为空,则提示“必须填写教师编号”,返回假,并将光标定位到新增教师窗口的教师编号对应的文本框上;否则,如果教师姓名为空,则提示“必须填写教师姓名”,返回假,并将光标定位到新增教师窗口的教师姓名对应的文本框上;否则,如果职称为空,则提示“必须选择职称”,返回假,并将光标定位到新增教师窗口的职称对应的下拉列表框上;否则,如果教研室为空,则提示“必须选择教研室”,返回假,并将光标定位到新增教师窗口的教研室对应的文本框上;否则,如果登录密码为空,则提示“必须输入登录密码”,返回假,并将光标定位到新增教师窗口的登录密码对应的文本框上;否则,如果登录密码位数小于6且含有数字和字母之外的其他符号,返回假,则提示“密码为不少于6位的只含字母和数字的字符串”,并将光标定位到新增教师窗口的登录密码对应的文本框上;否则,如果确认密码为空,则提示“必须输入确认密码”,返回假,并将光标定位到新增教师窗口的确认密码对应的文本框上;否则,如果确认密码位数小于6且含有数字和字母之外的其他符号,则提示“密码为不少于6位的只含字母和数字的字符串”,返回假,并将光标定位到新增教师窗口的确认密码对应的文本框上;否则,如果登录密码与确认密码不一致,则提示“登录密码与确认密码不一致,请重新输入”,返回假,并将光标定位到新增教师窗口的确认密码对应的文本框上。 模块名称:关联控制方法teacher.relation_teacher(tno) 窗口标题及标识:无 相关表及视图:角色关系表role_teacher课题信息表subject通知信息表information 功能说明 teacher.relation_teacher(tno)按照tno值在角色关系表role_teacher、课题信息表subject、通知信息表information中查看是否有何该tno对应的记录。如果找到,则设置消息“该教师已参与毕业设计,不允许删除!”,返回假否则,返回真。3.1.2系统管理-学生信息管理3.1.2.1界面设计3.1.2.2功能说明3.1.3系统管理-专业信息管理3.1.3.1界面设计3.1.3.2功能说明3.1.4系统管理-班级信息管理3.1.4.1界面设计3.1.4.2功能说明3.1.5系统管理-系统信息管理3.1.5.1界面设计3.1.5.2功能说明三、案例2:图书馆管理系统图书馆管理系统的开发与建设是学校信息化建设的一个重要组成部分。图书馆管理系统要实现整个图书馆信息的集中管理、分散操作、信息共享,使传统的图书馆管理向数字化、无纸化、智能化、综合化的方向发展,服务于图书馆工作人员及广大读者。系统应具有采访、编目、流通、期刊、公共查询、典藏、借阅等方面的功能。作为一个案例,不可能将实际系统中每个对象的全部属性与服务都一一列出,为了简洁,我们将系统作了简化,仅就图书馆管理中采访、编目、流通三个方面的系统分析与设计过程写出,供读者参考。编目是图书馆工作中重要的一个环节,涉及的处理和术语非常专业,对机读数据的处理与存储比较复杂,在本例中,只将其列出,不作进一步拓展,有兴趣的读者可查阅相关资料。1面向对象的分析1.1系统需求根据图书馆管理中采访、编目、流通三个方面的实际工作需要,系统需满足以下八点要求:1、收集、组织各种新书信息,向读者发布预订书目信息;2、通过对读者需求信息的回收处理,对馆藏和正在订购的图书进行查重形成订单;3、能处理邮购、选购、赠送、交换等不同方式获得的文献;4、核对验收到馆文献,对未到图书进行查询和打印,作退还处理;对已验收的到馆文献,自动产生登录号和条形码;5、图书经费管理;6、查询统计查询某个供应商在某段时间内的供书情况;查询某段时间内订购图书的情况;查询某段时间到馆图书的情况;进行到书率统计,赠送统计,采购资金统计;7、图书编目处理;8、图书借阅处理提供读者借书、还书、预约操作。借不到的书可进行预约,并按读者级别排队;还书时,须检查借阅期限,超期应给予罚款;不还的书可以续借。1.2建立对象模型1.确定类-&-对象通过考察该系统需求、系统的问题域、系统边界和系统责任,我们找出了系统的候选类—&—对
本文档为【软件工程课程设计指导书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
点石成金2023
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:70
分类:互联网
上传时间:2018-12-10
浏览量:4