资源描述
本页为作品封面,下载后可以自由编辑删除,欢迎下载!本页为作品封面,下载后可以自由编辑删除,欢迎下载!精精 品品 文文 档档 1【精品精品 word 文档、可以自由编辑!文档、可以自由编辑!】课程设计管理系统课程设计管理系统 详细设计说明书详细设计说明书 版本版本:V1.0 发行日期发行日期:2010/11/17 作者:作者:2 2-13 E13 E-NETNET 小组小组 修改情况一览表修改情况一览表 版本 Version 出版日期 Issue Date 修订章节 Section Changed 修订原因 Reason for Issue 修订者 Modifier 1.0 2009/11/16 4 首次编写文档 全部组员 目录目录 1 引言.1 1.1 编写目的.1 1.2 项目背景.1 1.3 定义.1 1.4 参考资料.2 2 系统的结构.2 2.1 组件图.2 2.2 部署图.2 2.3 包图.2 3 模块设计说明.2 3.1 核心模块设计说明.2 3.1.1 模块描述.2 3.1.2 功能.3 3.1.3 性能.3 3.1.4 模块的结构.4 3.1.5 流程逻辑.4 3.1.5.1 管理员开设课程.5 3.1.5.2 用户编辑课程.6 3.1.5.3 用户申请开课.6 3.1.5.4 转换项目.7 3.1.5.5 编辑项目.7 3.1.5.6 创建项目.8 3.1.5.7 学生申请入组.9 3.1.5.8 组长同意申请.10 3.1.5.9 组长拒绝申请.11 3.1.6 接口.11 3.1.7 活动图和状态图.11 3.2 权限与用户模块设计说明.17 3.2.1 模块描述.17 3.2.2 功能.17 3.2.3 性能.17 3.2.4 模块的结构.17 3.2.5 流程逻辑.17 3.2.6 接口.17 3.2.7 活动图和状态图.17 3.3 消息模块设计说明.17 3.3.1 模块描述.17 3.3.2 功能.17 3.3.3 性能.17 3.3.4 模块的结构.17 3.3.5 流程逻辑.17 3.3.6 接口.17 3.3.7 活动图和状态图.18 3.4 日志模块设计说明.18 3.4.1 模块描述.18 3.4.2 功能.18 3.4.3 性能.18 3.4.4 模块的结构.18 3.4.5 流程逻辑.18 3.4.6 接口.18 3.4.7 活动图和状态图.18 3.5 日程模块设计说明.19 3.5.1 模块描述.19 3.5.2 功能.19 3.5.3 性能.19 3.5.4 模块的结构.19 3.5.5 流程逻辑.19 3.5.6 接口.19 3.5.7 活动图和状态图.19 详细设计说明书 第 1 页 厦门大学软件学院课程设计 1 引言引言 1.1 编写目的编写目的 编写这份文档的目的是为详细设计阶段的工作有一个记录,也为工作小组对整个课程设计管理系统有一个更清楚的把握。也是为在设计阶段的不断迭待开发计划中,我们将根据需求文档中的功能需求,SSD 图,领域模型对设计阶段的工作不断地进行细化从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序,减小编码的时间。本报告的预期读者是项目组长、设计人员、开发人员、测试人员、本系统的最终使用者和管理人员。1.2 项目背景项目背景 项目名称:课程设计管理系统:委托单位:邱明、王美红老师 开发单位:E-NET 小组(李芬,宋一雄,许育聪,吴宾君)主管部门:厦门大学软件学院 用户:管理员、教师、助教、学生、游客 实现软件的单位:厦门大学各学院 其他配套软件和硬件:Windows XP、数据库(SQL)、网络 软件工程导论、面向对象分析与设计和J2EE平台技术是厦门大学软件学院开设在三年级上学期的专业课程。为了让学生深入理解软件工程的基本概念和原则,掌握面向对象分析与设计方法,具备在JavaEE 平台上开发大型商业系统的能力。这三门课程引入了跨越三门课程的课程设计,以促使学生以该课程设计为目标,进行问题式学习。1.3 定义定义 管理员(管理员(Admin)老师(老师(Teacher)小组(小组(Group)组长(组长(Groupleader)基本信息基本信息(Basic information):(Basic information):ID,全称,简称、描述,类别,开始时间,结束时间等。控制信息(控制信息(Control informationControl information):):是否记录日志、是否有效(允许学生学习)、是否为小组模式(支持在课程中建立小组),级别(系统级别、课程级别、项目级别或者小组级别)等。课程(课程(Course):):当前正在开设并纳入课程管理系统管理的课程。详细设计说明书 第 2 页 厦门大学软件学院课程设计 通讯录(通讯录(Contacts)联系人(联系人(Contact)消息(消息(Message)项目(项目(Project)主题(主题(Theme)资源(资源(Source)作业(作业(Assignment)日志(日志(Log)申请(申请(Application):):组员申请加入一个小组的申请。1.4 参考资料参考资料 UML 和模式应用 Craig Larman 著 机械工业出版社 Head First 设计模式Freeman&Freeman 著 中国电力出版社 文档资料:文档资料:ftp:/59.77.7.25 详细设计说明书样本 ftp:/59.77.7.25 软件工程课程文档模板 2 系统的结构系统的结构 系统的逻辑架构、层和包图 2.1 组件图组件图 2.2 部署图部署图 2.3 包图包图 3 模块设计说明模块设计说明 3.1 核心模块设计说明核心模块设计说明 3.1.1 模块描述模块描述 该模块实现系统中最重要且基础的核心模块,实现了关于课程方面的核心业务。通过设计期详细设计说明书 第 3 页 厦门大学软件学院课程设计 待实现与其他模块相对较低的耦合性。3.1.2 功能功能 一一 1、支持课程的类别管理:可定义课程的类别,如学科通修、学科选修、任意 选修等。2、课程信息的设定:包括增加,修改和删除课程;3、在课程中新增、删除和修改主题;4、重置课程,即删除课程中的以下项目 1)所有的课程事件和课程的日志;2)学生提交的作业,可选择是否删除作业范例;3)论坛中发表的帖子,可选择是否删除精华贴;4)删除课程所有委派的角色,即被设为教师,助教,学生和访客的用户;5)删除所有学生的成绩;6)删除所有的问卷调查结果。二 1、教师可新建,删除和修改课程中的项目,每个项目都有负责教师(从课 程的教师和助教角色中选择);2、学生或小组可以选择加入项目。3、负责教师可以批准学生或小组加入项目 4、学生或小组可以选择转换项目,需经负责教师批准。三 1、小组由学生自行组建,新建小组的用户在小组中的角色为组长;2、小组可以建立在项目或课程中(以项目和课程的控制信息决定);3、学生可以申请加入小组,在小组中的角色为组员;4、组长管理项目小组的人员变更,批准或拒绝其他同学加入小组以及将 小组成员踢出等。5、撤销小组:教师,助教和组长都可以撤销小组。6.组内移交组长位置 7.组长邀请其他非本组成员入组 8.组员可以退出该小组 3.1.3 性能性能 响应时间:响应时间:任何系统操作响应时间300 人的情况。提示信息:提示信息:系统将在用户操作后 0.5s 之内作出相应。详细设计说明书 第 4 页 厦门大学软件学院课程设计 语言适应性:语言适应性:软件支持中文和英文两种显示界面 可扩展适应性:可扩展适应性:如果时间允许或用户需求,开发人员将在该模块上实现更多的功能,并且能和原模块良好兼容。3.1.4 模块的结构模块的结构 Course-ID:int-name:string-discription:string-startDate-week:int-topicList:List-isValidate:boolean-teacher:string-projectList:List+editCourse(INFO)+defineCourseType(type)+resetCourse(INFO)+addProject()+addTopic()+removeProject(project)+removeTopic(Topic)+dealingProject()Topic-ID:int-name:string-discription+editTopic(topic)Rule-TopicRule:string-LogRule-ChooseCourseRule+setRule(topicRule)+setRule(logRule)+setRule(chooseCourseRule)AdminUserTopicListProject-id:int-fullName:String-shortName:String-description:String-capacity:int-startDate:Date-endDate:Date-isGroupModel:boolean-assistant:String+setModel(isGroup)+addGroup(Group)+addStudent(student)+applyIntoGroup(Group)+exitOutofGroup(Group)+removeStudent(student)+removeGroup(Group)DealProject-project:Project+editProject(project)+reset(project)+applyChangeProject(toProject)+applyJoinProject(project)+addApplication(application)+removeApplication(Application)+approveApplication(Application)+rejectApplication(Application)Application-date:Date-id:intprojectListapplicationListGroup-id:int-fullname:String-groupleadername:String+inviteGroupMember()groupListEntityManager+courseList:ListCouseList 3.1.5 流程逻辑流程逻辑 详细设计说明书 第 5 页 厦门大学软件学院课程设计 3.1.5.1 管理员开设课程管理员开设课程 alt:User:EntityManageCouseListcourse:CourseaddCourse(courseInfo)checkCourse(courseInfo)courseExistrefusenotExistaddCourse(course)详细设计说明书 第 6 页 厦门大学软件学院课程设计 3.1.5.2 用户编辑用户编辑课程课程 :Admin:EnityManagecourseListcourse:CourseeditCourse(courseInfo,ID)findCourse(ID,courseInfo)editCourse(courseInfo)3.1.5.3 用户申请开课用户申请开课 alt:USER EnityManagercourselist:CouseListapplyList:CourseListapplyCourse(courseInfo)findCourse(courseInfo)refusecourseExistaddToApplyList(courseInfo)notExistaddApplication(courseInfo)详细设计说明书 第 7 页 厦门大学软件学院课程设计 3.1.5.4 转换项目转换项目 :GroupprojectList:List:DealProject:ApplicationappList:List:Course:EntityManagercourse:=find(courseId)switchProject(toProjectId)dealingProject()p:=findProject()toProject:=findProject(toProjectId)applyChangeProject(p,toProject)addApplication()add(application)3.1.5.5 编辑项目编辑项目 :ProjectprojectList:List:DealProject:Course:Teacher:EntityManagercourse:=find(courseId)editProject(projectId)dealingProject()p:=findProject(projectId)editProject(p)详细设计说明书 第 8 页 厦门大学软件学院课程设计 3.1.5.6 创建项目创建项目 :Course:ProjectprojectList:List:Teacher:EntityManagercourse:=find(courseId)setUpProject()addProject()add(project)详细设计说明书 第 9 页 厦门大学软件学院课程设计 3.1.5.7 学生申请入组学生申请入组 :studentCFBentityManagerTermstudentAppapplictionListenterTeam(userId,TeamId)find(user,class.userID)find(team,class.teamId)apply(user)studentapp()persist(appliction)setapplier(user)add(appliction)详细设计说明书 第 10 页 厦门大学软件学院课程设计 3.1.5.8 组长同意申请组长同意申请 :groupLeaderCFBentityManagergroupstudentappgroupMemberListagreeEnter(userId,TeamId)find(user,class.userID)find(team,class.teamId)agreeEnter(user)studentapp()persist(consent)getapplier(user)add(groupmember)详细设计说明书 第 11 页 厦门大学软件学院课程设计 3.1.5.9 组长拒绝申请组长拒绝申请 :groupLeaderCFBentityManagergroupstudentapprefuseEnter(userId,TeamId)find(user,class.userID)find(team,class.teamId)refuseEnter(user)deleteAppliction()persist(refusal)3.1.6 接口接口 3.1.7 活动图和状态图 3.1.7.1 课程部分:课程部分:详细设计说明书 第 12 页 厦门大学软件学院课程设计 开设课程开设课程活动图活动图 AdminCMSaddCourseenterCourseInfocheckCouseListrefuseAddaddCourseToListresultcourseExistcourseNotExistcreateResult 详细设计说明书 第 13 页 厦门大学软件学院课程设计 编辑课程活动图编辑课程活动图 USERCMSchooseEditCourseListAllCourseChooseOneCourseeditCoursecheckInforefuseUpdateupdateCourseResultcreateResultnotLegalpass 详细设计说明书 第 14 页 厦门大学软件学院课程设计 申请开课活动图申请开课活动图 USERCMSapplyCourseenterCourseInfocheckIfExistrefuseaddToApplicationListcreateResultresultcourseExistnotExist 状态图:状态图:3.1.7.2 项目部分:项目部分:活动图:活动图:详细设计说明书 第 15 页 厦门大学软件学院课程设计 项目项目请求与审核请求与审核 GroupCMSTeacherSwitch ProjectProjects ListSelect the ProjectGenerate ApplicationApplications ListDeal with ApplicationSwitch ProjectRemove ApplicationResultapprovedisapprove 状态图:状态图:3.1.7.3 小组部分:小组部分:活动图:活动图:详细设计说明书 第 16 页 厦门大学软件学院课程设计 加入小组和恢复申请活动图加入小组和恢复申请活动图 studentCMSGroupLeaderapplygenerate applictionprocess applictionjoin groupdelete applictioncreate resultresultapplictionapprovedeny 详细设计说明书 第 17 页 厦门大学软件学院课程设计 3.2 权限与用户模块权限与用户模块设计说明设计说明 3.2.1 模块描述模块描述 3.2.2 功能功能 3.2.3 性能性能 3.2.4 模块的结构模块的结构 3.2.5 流程逻辑流程逻辑 3.2.6 接口接口 3.2.7 活动图和状态图活动图和状态图 3.3 消息模块消息模块设计说明设计说明 3.3.1 模块描述模块描述 3.3.2 功能功能 3.3.3 性能性能 3.3.4 模块的结构模块的结构 3.3.5 流程逻辑流程逻辑 3.3.6 接口接口 详细设计说明书 第 18 页 厦门大学软件学院课程设计 3.3.7 活活动图和状态图动图和状态图 3.3.7.1 活动图:活动图:状态图:状态图:3.4 日志模块日志模块设计说明设计说明 3.4.1 模块描述模块描述 3.4.2 功能功能 3.4.3 性能性能 3.4.4 模块的结构模块的结构 3.4.5 流程逻辑流程逻辑 3.4.6 接口接口 3.4.7 活动图和状态图活动图和状态图 活动图:活动图:状态图:状态图:详细设计说明书 第 19 页 厦门大学软件学院课程设计 3.5 日程日程模块模块设计说明设计说明 3.5.1 模块描述模块描述 3.5.2 功能功能 3.5.3 性能性能 3.5.4 模块的结构模块的结构 3.5.5 流程逻辑流程逻辑 3.5.6 接口接口 3.5.7 活动图和状态图活动图和状态图 活动图:活动图:状态图:状态图:
展开阅读全文