《软件工程》课程设计要求()
- 格式:doc
- 大小:35.00 KB
- 文档页数:18
软件工程课程设计要求软件工程是现代信息技术领域的一个重要学科,它致力于研究和应用一系列科学、工程化的方法、原则和工具,以开发、设计和维护高质量的软件系统。
在软件工程课程中,学生将深入学习软件开发的基本概念和技术,同时还需要进行一定的课程设计,以加深对软件工程理论的理解和应用。
本文将详细介绍软件工程课程设计的要求,并探讨如何应对这些要求。
一、课程设计的目的和意义软件工程课程设计是软件工程专业学生的一项重要课程任务,其目标是培养学生的软件系统分析、设计和开发能力。
通过课程设计,学生可以将理论知识应用到实际项目中,体验软件开发的全过程,并锻炼解决实际问题的能力。
此外,课程设计还可以培养学生的团队协作、沟通交流和项目管理等软技能,提高他们的综合素质和实践能力。
二、课程设计的基本要求1. 项目选择和需求分析:学生需要选择一个适合的软件项目,并进行需求分析。
在这一阶段,学生需要与客户充分沟通,明确项目的具体要求和目标。
2. 系统设计和架构:学生需要进行系统的总体设计和详细设计,确定系统的组成部分和相互关系。
在设计过程中,学生需要考虑系统的可扩展性、可维护性和性能等方面。
3. 编码和测试:学生需要采用适当的编程语言和开发工具进行编码工作,并在编码完成后进行测试和调试。
在这一阶段,学生需要重点关注代码的质量和可靠性,确保系统的稳定性和安全性。
4. 系统集成和部署:学生需要将各个模块进行集成,并进行系统的部署和安装。
在这一过程中,学生需要考虑系统的兼容性、易用性和可移植性等因素。
5. 文档编写和报告撰写:学生需要编写详细的设计文档和用户手册,并准备课程设计报告。
这些文档和报告需要清晰、准确地反映项目的需求和设计方案。
6. 团队合作和项目管理:如果课程设计是以团队形式进行的,学生需要合理分工,进行有效的团队合作和项目管理。
他们需要学会协调、沟通和解决冲突,确保整个项目按时完成。
三、应对策略与建议1. 建立合理的项目计划:在开始课程设计之前,学生应该制定详细的项目计划,明确每个阶段的时间和任务安排。
《软件工程》课程设计要求
根据下面对“自驾游团购平台”项目的简单描述,完成并提交所要求的文档(所有文档均为纸质手写),参考网站:/,/travelTuanGouAct.jsp。
项目介绍:
(1)该项目为自驾游团购平台,每个地市有一个负责人,负责本地市的旅游团购的相关活动事宜。
(2)总管理员后台能为每个地市添加分管理员信息,如:账号,密码,手机号等。
(3)分管理员可根据分配的账号、密码信息登录到分管理员后台。
(4)在分管理员后台,分管理员具有如下功能:
a)修改自己的密码
b)上传并管理活动信息(需总管理员审核)
c)查看每个活动的报名情况,并能导出打印。
d)管理自己所发活动的评论信息(网友对活动可评论);
(5)总管理可对每个省市的提交自驾游活动信息进行审核,通过后即可分省市显示到网站页面上,供网友报
名。
(6)总管理员也能查看各省市各活动的具体报名情况。
(7)其它游客报名功能参照提供的网站样例。
完成以下几个文档:
(1)需求分析文档,要有流程图,
(2)用例模型文档
(3)架构设计文档
(4)用例分析
(5)子系统设计和类设计
(6)数据库设计
2个人一组,自由结合,文档上注明学号和姓名,先参《考软件工程》教材相关章节,充分讨论,内容可扩展。
希望大家认真对待这次锻炼机会。
如有不清楚之处,qq咨询。
《软件工程》课程设计要求一、分组3~5 人一组,由班长负责分组,每组指定一名组长。
注:以java 、方向的同学为主来分组,前台和信息技术方向的同学穿插在各组。
java 、这两个方向的同学不要放在一组。
二、选择题目可从附录三中选题,也可选java 、jsp 、等课程设计中老师指定的题目,也可小组自选题目 ( 应选小型软件 : 代码 2000 行左右 , 如小型数据库应用系统、小型网络应用软件等) 。
三、选择软件开发方法从附录一中选择相应的软件开发方法,按相应方法的规范达成软件开发。
四、依据相应方法达成系统剖析、设计,并达成相应文档。
1、《软件工程》课程设计结束,各小组须提交以下文档:若选择方法一、三,则需做完详细设计,需提交以下文档:1)《对于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《整体设计说明书》6)《详细设计说明书》若选择方法二,则需做完整体设计,需提交以下文档:1)《对于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《整体设计说明书》以上文档撰写规范见附录三。
2、《软件工程》课程设计结束时,个人须提交的文档:《课程设计报告》,此中详细表达自己所达成的工作。
五、成绩评定《软件工程》课程设计成绩=文档成绩 +浮动分注:文档成绩由教师依据各小组所提交的份文档的完好性、质量、规范性打分;浮动分由组长依据每人贡献所给参照分及教师依据每人课程设计报告所给分综合评定给出。
注:《软件工程》课程设计时间:19~20 周若选择方法一、三达成系统剖析与设计,小组每个成员都要参加功能剖析、模块设计;若选择方法二达成系统剖析与设计,小组每个成员都要参加功能剖析、实体类类图的创立、用例剖析模型或用例设计模型的成立(用例剖析模型或用例设计模型两者选其一即可)。
(方法中标红部分)附录一:软件开发方法一、的件开方法(构化的件开方法)合用于一般件,特合适于以下状况:1.数据构 +算法的程序思想。
软件工程课程设计要求一、题目:1、简单高校人事管理系统2、简单高校教学管理系统3、简单高校科研管理系统4、职称评审系统5、试卷命题审批系统6、毕业设计双向选题系统7、小型企业网站8、图书管理系统9、运动会成绩及名次管理系统10、仓库管理系统11、汽车销售管理系统12、网上订票系统13、酒店客房管理系统14、房屋租赁管理系统15、电影院售票系统16、工资管理系统17、考勤管理系统18、进销存管理系统19、员工培训管理系统20、网上书店系统21、学生学籍管理系统22、学生成绩管理系统23、个人通讯录管理系统24、ATM柜员机模拟程序25、火车订票系统26、超市收银系统(不考虑条码处理部分)27、简易办公系统28、网上选课管理系统:29、学校教材定购系统30、个人电子相册的设计与实现31、音像租赁管理系统的开发与实现32、家庭财务管理信息系统设计与开发33、文化用品库存管理信息系统的设计与实现34、大学生运动会运动成绩管理及统计分析系统实现35、Windows绘图板的设计与实现36、可换肤MP3播放器的设计与实现37、毕业设计指导网站38、教务处课程网站39、病员监护系统40、低值易耗品管理系统41、软件工程程自主学习课件建设42、企业单位物资管理系统43、高等数学学习、测试系统44、高等学校毕业生就业服务信息系统45、实验室设备管理系统46、通用试题库组卷系统的设计与实现47、操作系统精品课程网站设计与实现也可以自己选择一个类似系统。
最多三人一个小组,也可一人个小组。
二、要求:1、需求分析使用面向对象的开发方法对系统的功能及性能要求进行分析,写出需求规格说明书(可行性分析报告、系统的用例图、用例说明、状态图或顺序图等)。
2、软件设计使用面向对象的开发方法对系统进行设计,软件设计分两个阶段进行:总体设计和详细设计总体设计:1)确定系统总体设计方案,完成系统的模块结构图及模块的功能说明。
2)系统类及类之间的关系图,并说明类之间的关系。
《软件工程课程设计(B)》任务书《软件工程》课程设计旨在通过2周实训时间,培养学生初步掌握系统分析、设计、实现、测试、维护的方法,加深学生对软件工程课程的理解和应用,同时也进一步提高学生运用程序设计语言的能力。
一、目标程序设计不等于软件工程,这是本课程需要进一步让学生加深理解的地方。
传统的程序设计在一定程度上偏重于计算机科学领域,属于较抽象的范畴;而软件工程则是要实实在在地做出一个满足用户要求的系统来,这是一个很具体的实践过程。
作为一个软件开发者,必须具备从事工程实践的技能,包括软件项目的可行性研究、系统分析、设计、编写文档、源码设计、使用工具等基本技能,这就是课程设计要实现的一个目标。
课程设计的教学基本要求如下:1.巩固和加深对软件工程原理的理解,提高综合运用本课程所学知识的能力。
2.培养学生选用参考书,查阅手册及文献资料的能力。
3.培养独立思考,深入研究,分析问题、解决问题的能力。
4.通过实际系统的分析设计、编程调试,掌握软件的分析方法和工程设计方法。
5.能够按要求编写课程设计报告书,能正确阐述设计和实验结果、正确绘制系统和程序框图。
6.通过课程设计,培养学生严谨的科学态度,严肃认真的工作作风和团队协作精神。
二、选题与内容选题应尽量结合教学、科研的实际课题,反映新技术,以获得更好的工程设计实践的训练。
同时课程设计受到时间及开发环境、条件等的限制,命题应从实际出发,课题的大小规模、难易适度。
学生可以根据自己特点、能力、时间进行选题。
三、课程设计的基本步骤1.问题定义(明确问题边界)2.可行性研究3.项目开发计划4.需求分析5.概要设计6.数据库设计7.详细设计8.系统测试9.用户使用说明四、教学方法及要求1.该课程设计可以分组进行,也可独立完成,若分组完成,则3-4人成立一个开发小组,选出小组项目负责人,并对小组成员按任务进行分工或者独立完成;2.开发环境及工具不限;3.严格按软件工程的方法,分阶段进行开发(问题定义、需求分析、概要及详细设计、编码、测试等);4.要求每阶段产生的文档等软件配置齐全、合理;5.上机能正常运行程序。
软件工程课程设计要求《软件工程课程设计》是《软件工程》课程的后继教学环节,是一个重要的、不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
教学要求:本课程设计要求学生采用个体设计的形式,结合具体的开发项目进行设计。
具体要求如下:1)每个班级按项目小组进行分组,每组不得超过4人;2)每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,项目的选定必须考虑“范围、期限、成本、人员、设备”等条件;项目经理负责完成“可行性研究报告”、制定“项目开发计划”、管理项目并根据项目进展情况对项目开发计划进行调整;对于调整的项目开发计划必须存档;3)每项任务要落实到人且规定该任务的起止日期和时间;明确每个阶段提交文档的日期和时间;每个项目小组必须明确指定文档的审查小组和审查人员以及审查结果的返回日期;每位成员必须承担至少一个功能模块的设计工作;审查小组和审查人员不得是完成被审查内容的完成者;审查结果至少包括:存在的问题、出现问题的所在文档的位置及页码、具体建议等;每个阶段的审查结果不得少于10个问题;4)每个项目小组必须提供下列文档,文档中必须注明执笔者、完成者(签名)和完成日期,其中完成需求分析和设计工作的人员不能相同,完成编码和审查/测试的人员不能相同;文档包括: 项目调研计划 立项建议书 可行性研究报告 项目开发计划(包括调整的项目开发计划) 项目计划检查表 需求分析规格说明 概要设计规格说明 详细设计规格说明 编码清单(部分或全部) 审查/测试问题清单5)每个项目小组可以选择完成编码、测试等阶段的部分任务。
软件工程》课程设计要求一、分组选修JSP、Java .net、C#课程的同学按照所选课程任课教师的安排分组;其它同学4〜6人一组,由班长负责分组,每组指定一名组长。
二、选择题目选修JSP、Java .net、C#课程的同学从所选课程任课教师布置的题目中选题,也可从附录二中选题,也可小组自选题目,其它同学可从附录二中选题或小组自选题目。
三、选择软件开发方法所有同学都必须从附录一中选择相应的软件开发办法,按相应方法的规范完成软件开发。
分析、设计阶段由《软件工程》课程教师考查,实现阶段由相应选修课任课教师考查。
四、按照相应方法完成系统分析、设计,并完成相应文档。
系统开发结束(18 周末)应向《软件工程》课程教师提交规定文档,向选修课教师提交教师所要求文档。
1、《软件工程》课程设计结束,各小组须提交如下文档:1)《关于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《总体设计说明书》6)《详细设计说明书》以上文档撰写规范见附录三2、《软件工程》课程设计结束时,个人须提交的文档:《课程设计报告》,其中详细叙述自己所完成的工作。
五、成绩评定《软件工程》课程设计成绩=文档成绩+浮动分注:文档成绩由教师根据各小组所提交的6 份文档的完整性、质量、规范性打分;浮动分由组长根据每人贡献所给参考分及教师根据每人课程设计报告所给分综合评定给出。
注:《软件工程》课程设计时间:16~ 17周附录一:软件开发方法一、传统软件开发方法(瀑布模型)一、问题定义确定目标系统的性质、规模、目标。
二、可行性研究(一)从经济、技术、法律、操作角度分析系统可行性。
(二)若可行,则制度项目开发计划(项目成本、进度安排、分组情况……)三、需求分析(一)建立系统功能模型(DFD 、数据字典)(二)建立系统的数据模型(E-R图)(可选)(三)建立系统的动态模型(STD、时序图、Petri网)(可选)四、设计※总体设计(一)建立软件结构图(软件结构图反应模块及模块间的调用关系,每个模块为一个独立的功能)(二)设计数据库的表结构(每张表应规范到3NF,每张表应包含表名,字段,字段类型、主键、外键)(可选)※详细设计(一)模块设计(设计每个模块的界面及算法)模块界面:可将所设计界面抓图。
软件工程课程设计要求a)开发环境要求:●开发语言:JA V A●JDK版本:1.6●开发工具:Eclipse●数据库:MySQL●上机时间:第17周(从第16周按要求开始准备)b)报告提纲●需求分析:以用例和用例图方式描述需求●系统总体设计:分别画出系统的模块图、类图、顺序图和状态图。
●详细设计:以程序流程图或伪代码,写出关键方法的实现。
●实现:对系统关键功能的实现过程,用代码+文字形式进行描述。
●测试:系统的测试情况●体会:课程学习和项目实现过程的感受、体会或反思。
c)考核时间:6月21日2、考核要求学生演示系统,老师现场提问,根据回答情况和报告情况,给出最终成绩。
考核点:●独立解决问题的能力;●系统设计、实现情况;●代码的规范性、可读性;3、作业1)学生成绩管理系统(数据库版)●功能要求:⏹学生基本信息管理:实现学生的学号(唯一)、姓名、性别、出生年月、班级等内容的增、删、改、查。
要求在查询时,可按照学生的学号、姓名、年龄段、班级进行组合模糊查询。
增加和修改时,需要考虑验证学号的唯一性。
⏹课程信息管理:实现课程的信息,包括课程编号(唯一)、课程名称、课程描述、先修课程(每门课只有1门先修课程)、学分等信息进行增、删、改、查。
⏹班级选课信息管理:实现班级选课功能,每个班级可选一门或多门课程⏹学生成绩管理:实现学生成绩的录入、修改和查询。
在录入成绩时,先选择班级、课程名称,然后进行录入。
在录入过程时,用户可分批多次录入成绩,也可随时点击“保存”按钮保存信息。
查询时可按照班级+课程名称查询,对查询结果以学号排序,并以列表方式显示。
也可按照学生学号或姓名查询某个学生的所有课程成绩。
⏹使用Swing图形界面●关键技术:JDBC、GUI(图形界面)、事件框架、集合框架。
软件工程课程设计要求(精选5篇)第一篇:软件工程课程设计要求《软件工程》课程设计一、目的、要求通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之处。
学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。
二、主要内容要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个学生选择一个小型软件项目,题目可参考附录A,也可自行拟定题目,按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。
分别、选用传统的结构化方法和面向对象的方法,开发环境和工具不限。
三、设计成果要求1.提交软件系统,根据完成情况给分; 2.提交设计报告文档设计报告将从以下三个方面给分: (1) 报告是否规范,符合要求;(2) 报告是否完整、工作量大小;(3) 文档逻辑性是否合理、语言是否流畅。
四、进度安排(1)确定选题,进行可行性分析,开发计划(2)软件需求分析(3)软件设计(4)软件实现,测试计划(5)软件实现,测试报告(6)验收附录A课程设计题目题目一:电子商务网站建设一个集客户购物、下订单、订单处理、销售统计等功能于一体的系统。
通过浏览器,创建账户/登陆账户,让客户可以查询货物,把货物放入购物车,创建订单,通过信用卡支付等。
系统划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS(企业信息系统)进行交互。
功能如下: 1.用户注册/登陆/忘记密码/管理个人信息查询货物购物车管理提交订单信用卡支付查询历史购物记录2.货物商店接受/处理订单消息手工接受/拒绝订单用E-mail来通知客户发订单给供应商销售统计3.供应商接受订单派送货物给用户提供一个基于web的库存管理维护库存数据库题目二:外文图书采购系统 1.问题概述某图书馆外文采购有两个组--征订组和验收,登记组。
软件工程课程设计要求软件工程课程设计要求一.课程设计的要求课程设计以实际应用中的小型题目为主,尽量要求设计小组能独立完成。
要求学生能把软件工程学的基本原理和方法应用到软件的实际开发和设计中。
根据不同的题目类型选择一种或两种开发模式,完成从系统定义,软件计划,软件需求分析,软件设计,编码/测试,直至运行/维护的软件生存期的全过程。
具体要求如下:1.强调过程的完整性依据软件生存期的原理开发软件是保证软件产品质量的行之有效的方法。
要把小问题当作大任务来看待,一步一个脚印进行,从而积累开发大工程的经验和方法。
2.强调模型的明确性生存期模型是系统开发项目总貌的一种描述,同时给出软件开发项目的一个降低分险的结构。
不同的开发模型有不同的特点和不同的适用范围。
因此,根据实际问题的类型,要求能选用正确的软件开发模型进行开发。
3.强调文档的完整性文档是与程序开发,维护和使用有关的图文资料,它是软件的重要组成部分。
在软件开发的各个阶段所产生的各类文档既是该阶段的主要工作成果和总结,也是下一阶段实施的重要依据。
二.课程设计的内容1.系统分析2.软件计划3.软件需求分析4.概要设计5.详细设计6.软件编码7.软件测试8.软件维护三、课程设计实施程序1. 根据要求,自行选定某一设计题目(可参考示例)。
使用语言不限。
2. 对课程设计的全过程进行分析及整理,写成文字材料,每小组提交一个完成的系统及相关文档,期末统一刻录成光盘存档。
附录1:课程设计题目示例1. 基于Web在线考试系统的设计与实现本系统作为一个在线的考试系统,要求实现网络考试系统的各项基本功能。
从维护和安全的角度看,可以把系统设计成B/S模式的,可以让用户通过浏览器直接访问位于服务器上的考试题以及对系统进行远程维护。
系统前台主要有考生注册和登录模块、在线考试模块、查询成绩模块以及退出登录等;系统后台主要有考生信息、考题信息、考试成绩信息、考试套题和课程信息等管理模块。
软件工程课程设计概要软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量软件的学科。
软件工程课程设计作为软件工程专业教学中的重要环节,旨在培养学生综合运用所学知识解决实际问题的能力,提高学生的软件开发技能和团队协作能力。
一、课程设计的目标软件工程课程设计的主要目标是让学生在实际项目中体验软件开发的全过程,包括需求分析、设计、编码、测试和维护等阶段。
通过课程设计,学生应能够:1、深入理解软件工程的基本原理和方法,掌握软件开发的流程和规范。
2、提高分析和解决问题的能力,能够根据用户需求设计出合理的软件解决方案。
3、熟练掌握至少一种编程语言和开发工具,具备实际的编码能力。
4、培养团队协作精神,学会在团队中有效地沟通和协作,共同完成项目任务。
5、提高软件测试和调试的能力,能够保证软件的质量和稳定性。
二、课程设计的选题课程设计的选题应具有一定的实用性和综合性,能够涵盖软件工程的多个方面。
选题可以来自实际的应用场景,如企业管理系统、在线购物平台、学生成绩管理系统等;也可以是具有创新性的研究课题,如基于人工智能的图像识别系统、区块链应用等。
选题的难度应适中,既要有一定的挑战性,又要保证学生在规定的时间内能够完成。
三、课程设计的要求1、团队协作学生通常以小组为单位进行课程设计,每个小组由3-5 名学生组成。
小组内成员应分工明确,相互协作,共同完成项目任务。
在团队协作过程中,学生应学会倾听他人的意见和建议,尊重团队成员的贡献,共同解决遇到的问题。
2、需求分析在开始开发之前,小组需要对项目进行详细的需求分析。
需求分析应包括对用户需求的调研、功能需求的定义、非功能需求的考虑等。
需求分析的结果应以需求规格说明书的形式呈现,清晰地描述软件的功能、性能、数据、安全等方面的要求。
3、设计根据需求分析的结果,小组需要进行软件的设计。
设计包括总体设计和详细设计两个阶段。
总体设计应确定软件的体系结构、模块划分和接口设计;详细设计应描述每个模块的内部实现细节,包括算法、数据结构、流程控制等。
软件工程课程设计要求1.软件工程课程设计简介软件工程课程设计为软件工程课程的必修实践环节,目的是使学生巩固课堂所学的理论知识并加深理解,增强感性认识,培养观察、分析和解决问题的能力,初步建立正确的软件工程概念。
通过本课程,使得学生初步能够将掌握软件工程中的理论知识应用于软件项目开发过程中具体的问题。
通过实习能够提高学生的动手能力,团队协作能力以及项目管理能力。
2.课程设计的基本要求学生选择附录2中任意一个项目,按照软件工程中的开发方法和项目管理方法来进行软件项目开发,按期分阶段的完成老师布置的各个阶段的项目文档。
在课程设计过程中,要求学生通过查阅资料来了解所开发项目的背景知识,选择适当的软件开发方法来进行系统建模,然后选择适当的平台进行系统开发。
3.实习内容以及时间分配具体实习的内容见下面的附件,时间分配如下:查阅资料,完成系统需求分析,确定系统开发平台,撰写需求分析说明书(10学时)完成系统概要设计,撰写系统概述设计说明书(10学时)完成系统详细设计,撰写系统详细设计说明书(10学时)系统编码实现(20学时)软件测试,撰写软件测试说明书(10学时)准备材料完成项目答辩。
(4学时)4.考核方式以及成绩评定考核方式分为以下两个部分:系统文档(50%),最终系统的实现及源代码(50%)。
系统文档为软件实习中各个阶段产生的软件工程文档,每个文档将从文档的格式、语言表述能力、系统分析能力和各种CASE工具运用能力方面来进行考核。
系统实现及源代码包括系统最后可运行的程序,实现的源代码以及最后的项目完成情况。
文档提交要求装订成册,系统代码要可运行并进行打包刻录在光盘中进行提交5.推荐教材与主要参考书陈明,软件工程,清华大学出版社附录1.软件工程课程设计题目简介网上在线销售系统要求实现一个简单的网上销售系统,在此系统下能够为各个商户分配资源空间,各个商户能够对自己的资源空间进行管理(包括添加货物,删除货物,更新信息等)并能够统计目前物品的销售情况和当前遇到情况。
·关闭选课注册:选课总学生数至少为3个,以顺利进入缴费系统,否则关闭选课,同时取消本次选课学生及教师的课程表。
·如果有人正在进行选课操作,则教务长不能关闭选课注册·每门课正式开设的条件是:有1个教师选择教授该课(没有教师选择教授该课,则取消所有包含该门课的课程表),同时至少3名学生选择该课·选课结束系统统计每个学生当前学期的所有选课情况,并向缴费系统发起一个事务。
缴费系统会把其学费和最终的课程表发送给每个学生·如果系统不能联通缴费系统,则以固定周期重复发送请求,直到联通为止登录·教务长登录后可以开启注册系统·所有用户必须用账号密码登录,需要有登录界面教师信息管理·教务长登录后可以增、删、改教师的信息·增:包含姓名、生日、社保账号、头衔、学院(填写完必要信息生成新教师后系统自动分配一个唯一的id以编号,系统返回id给教务长)·改:教务长需要输入教师id以进入修改,系统显示当前信息,修改完后可以保存·删:教务长需要输入教师id以进入修改,系统显示当前信息,完全删除前提示教务长是否确认删除·教师id号未找到则报错;删除教师确认操作取消后不改变教师信息学生信息管理·教务长登录后可以增、删、改学生的信息·增:包含姓名、生日、社保账号、头衔、毕业时间(填写完必要信息生成新学生后系统自动分配一个唯一的id以编号,系统返回id给教务长)·改:教务长需要输入学生id以进入修改,系统显示当前信息,修改完后可以保存·删:教务长需要输入学生id以进入修改,系统显示当前信息,完全删除前提示教务长是否确认删除·学生id号未找到则报错;删除学生确认操作取消后不改变学生信息注册选课·学生登录后可以增、删、改课表信息·增:系统从学校所有课程中获取信息,给学生提供可选课程列表,学生选课提交·删:系统显示当前学期学生课表,删除前完全删除前提示学生是否确认删除·改:系统显示当前学期学生课表和可选课表,可以对当前课表进行删除,或选择可选课表添加·学生必须从可选课表中选择4门必修课和2门选修课,必须满足完成先修课、与已有课表不冲突两个条件才能选课成功,选课成功要有提示·如下情况需要有错误提示:课表冲突、该课程已满、获取可选课表错误、当前未选课(进行删和改时)、无法获取所有课程(学校所有课程,增操作)、选课系统已关闭·教师登录后可以选择下个学期希望、不希望教授的课·选课:系统显示该教师有资格教授的课和已选择要教授的课,教师可以从有资格教授的课程列表中选择课程,也可以从已选择要教授的课程列表中删除课程。
软件工程课程设计说明书一、课程设计目的:软件工程是一门综合性、实践性很强的课程,通过本课程设计,使学生学习掌握软件分析、设计的基本理论,熟悉开发流程。
初步掌握软件建模及开发文档规范。
同时对所学知识进行综合训练。
二、课程设计任务:软件系统开发及文档编写。
三、课程设计要求:通过查阅资料,首先针对目标系统进行调研、需求分析,然后进行系统分析、设计,最后进行系统实现。
同时完成一套比较规范的文档。
四、课程设计题目:结合学生实际情况,选择自己感兴趣的问题。
可以是科学计算(算法研究)、图形图像处理(原理、应用、识别)、管理类软件(教学管理、图书管理、企业管理等)、工具/游戏、网络应用软件等等。
题目不宜过大。
五、课程设计人员组成:单人或小组(1-2人)六、课程设计时间及安排:2周课程设计之前:查阅资料,确定题目。
第1-2天:搜集资料,调研分析。
第3-6天:系统分析与设计。
第7-11天:系统实现/测试。
第12-14天:整理文档,成果验收,提交设计报告。
报告格式:纸张A4,一级标题:4号黑体;二级标题:小4宋体加粗;正文:5号宋体;图、表名称宋体小5号。
目录、参考文献格式具体见下页。
(参考格式)目录1绪论1.1 选题目的及意义(或:本课题的开发背景)1.2 系统概述1.3 人员组成及分工(若为1人略掉)2 可行性研究报告3 需求规格说明书4总体设计说明书5数据库设计说明书(若无数据库则略掉)4详细设计说明书6 系统实现5.1 开发环境5.2 关键技术5.3 运行结果7测试分析报告参考文献参考文献(样式)1. 荆涛. 数据库平台及开发工具选择.农经纵横, 1999 (5) : 77~ 792. 戴霄陈学武李文勇公交IC 卡信息处理的数据挖掘技术研究.交通与计算机2006,1 第24 卷(总第128 期)3. 夏火松. 数据仓库与数据挖掘技术.北京.科学出版社, 2004. 109~ 1104. 陈京民等. 数据仓库与数据挖掘技术.北京.电子工业出版社,2002. 257~2815. 王晟马里杰.SQL SERVER 数据库开发经典案例解析.北京.清华大学出版社,2006.165~230说明:需求分析、软件结构等部分有图或表,则图与表应有图(表)编号、名称。
《软件工程》课程设计要求一、分组3~5人一组,由班长负责分组,每组指定一名组长。
注:以java、.net方向的同学为主来分组,前台和信息技术方向的同学穿插在各组。
java、.net这两个方向的同学不要放在一组。
二、选择题目可从附录三中选题,也可选java、jsp、.net等课程设计中老师指定的题目,也可小组自选题目(应选小型软件:代码2000行左右,如小型数据库应用系统、小型网络应用软件等)。
三、选择软件开发方法从附录一中选择相应的软件开发办法,按相应方法的规范完成软件开发。
四、按照相应方法完成系统分析、设计,并完成相应文档。
1、《软件工程》课程设计结束,各小组须提交如下文档:若选择方法一、三,则需做完详细设计,需提交如下文档:1)《关于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《总体设计说明书》6)《详细设计说明书》若选择方法二,则需做完总体设计,需提交如下文档:1)《关于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《总体设计说明书》以上文档撰写规范见附录三。
2、《软件工程》课程设计结束时,个人须提交的文档:《课程设计报告》,其中详细叙述自己所完成的工作。
五、成绩评定《软件工程》课程设计成绩=文档成绩+浮动分注:文档成绩由教师根据各小组所提交的份文档的完整性、质量、规范性打分;浮动分由组长根据每人贡献所给参考分及教师根据每人课程设计报告所给分综合评定给出。
注:《软件工程》课程设计时间:19~20周若选择方法一、三完成系统分析与设计,小组每个成员都要参与功能分析、模块设计;若选择方法二完成系统分析与设计,小组每个成员都要参与功能分析、实体类类图的创建、用例分析模型或用例设计模型的建立(用例分析模型或用例设计模型二者选其一即可)。
(方法中标红部分)附录一:软件开发方法一、传统的软件开发方法(结构化的软件开发方法)适用于一般软件,特别适合于如下情况:1.数据结构+算法的程序设计思想。
2.非交互式软件(软件的执行过程主要不是由用户控制,而是由程序控制,并按序执行。
)如:大型工程计算软件、实时数据跟踪软件、自动化控制系统、系统软件、数据库应用系统……3.面向过程的结构化语言:C语言、Pascal语言……二、面向对象的软件开发方法适用于一般软件,特别适合于如下情况:1.类+消息的程序设计思想。
2.交互式软件(软件的执行过程完全用户交互控制,而不是由程序控制。
)如:基于网络的完全由用户交互控制程序执行过程的应用软件和系统软件。
3.面向对象的语言:Java、C++、C#……三、传统与面向对象方法相结合的实用方法适用于一般软件。
一、传统软件开发方法(瀑布模型)一、问题定义确定目标系统的性质、规模、目标。
二、可行性研究(一)从经济、技术、法律、操作角度分析系统可行性。
(二)若可行,则制订项目开发计划(项目成本、进度安排、分组情况……)三、需求分析(一)业务分析1.业务描述2.建立业务模型(SFD)(可选)(二)功能分析1.功能描述2.建立系统功能模型(DFD、数据字典)(三)数据分析建立系统的数据模型(E-R图)(可选)(四)建立系统的动态模型(STD、时序图、Petri网)(可选)四、总体设计(一)软件运行环境(二)软件架构模式(四)建立软件结构图(软件结构图反应模块及模块间的调用关系,每个模块为一个独立的功能)(五)设计数据库的表结构(每张表应规范到3NF,每张表应包含表名,字段,字段类型、主键、外键)(可选)五、详细设计(一)模块设计(设计每个模块的界面及算法)模块界面:可将所设计界面抓图。
模块算法:叙述模块功能。
模块的输入。
模块的处理。
模块的输出。
使用如下工具描述算法:流程图、N-S图、PAD图、活动图PDL判定表/树(可选)※一个功能模块的实现过程中可能包含多个函数、过程、类,应列出主要的函数、过程或类,对于其中的一些重要的、难度较大的函数、过程、类中的方法的实现算法可用流程图、N-S图、PAD图、活动图、PDL、判定表/树等工具进行详细设计。
(可选)(见例2)(二)建立数据库、录入数据六、实现(一)编码(算法→源代码)(二)测试参考案例:1、图书馆管理系统的开发2、网上商城管理系统的开发二、面向对象软件开发方法(喷泉模型)一、问题定义二、可行性研究三、面向对象分析(一)业务分析1、业务描述2、建立系统业务模型(可选)★可选择顺序图、活动图描述系统整体业务流程。
★可选择活动图描述系统参与者的行为。
(二)功能分析,建立系统功能模型(用例图、用例描述)1、建立需求结构2、建立功能模型为需求结构中每个最小的需求单元建立一个功能模型:(1)功能描述(2)用例图(3)用例叙述(三)对象分析,建立系统初步的对象模型(实体类的类图)(四)用例分析,建立用例分析模型确定用例的实现策略。
★可选择顺序图对用例进行分析。
(粗略的顺序图,图中的消息用粗略的方法表达)★可选择活动图对用例进行分析。
(五)扩充和完善,建立系统完整的对象模型(平台无关对象模型)确定系统的实现策略(系统中包含哪些类,不同的类起什么作用)。
★对于系统中重要的类,用状态图分析其状态变迁。
四、面向对象的总体设计(一)扩充、完善功能模型(用例图)(二)软件运行环境(三)软件架构模型1、软件架构模式2、软件分层架构(反应了系统的实现策略)3、软件逻辑结构(子系统结构,每个子系统对应需求结构中一个最小的需求单元)(四)扩充和完善对象模型,建立平台相关对象模型。
(五)用例设计,建立用例设计模型★可选择顺序图对每个用例进行设计(详细的顺序图,图中的消息用准确的方法表达)。
★可选择活动图对每个用例进行设计。
(五)若某些类的对象须长期存储,则定义存储方式一般用数据库存储,建立数据库设计模型。
1、数据库的表结构(实体类→表→3NF(每张表应包含表名、字段、字段类型、主键、外键))2、数据库的逻辑结构(表之间的关系)(可选)(七)设计人机交互界面,建立界面设计模型(可选)1、界面结构模型2、屏幕界面模型(八)建立组件图(可选)(九)建立部署模型五、面向对象的详细设计(一)确定每个用例的实现算法(实现用例的类中服务的算法、关联的算法),描述算法可用流程图、N-S图、PAD图、活动图、PDL、判定表/树等工具。
(二)建立数据库、录入数据六、面向对象实现(一)编码算法→源代码(二)测试参考案例:1.e速快餐系统的开发2. 在线书店的开发3. C++类库管理系统的开发三、传统与面向对象方法相结合的实用方法一、问题定义二、可行性研究三、需求分析(一)业务分析方法一:业务描述方法二:业务描述、业务模型(系统流图)方法三:业务描述、业务模型(可选择顺序图、活动图描述系统整体业务流程;可选择活动图描述系统参与者的行为。
)方法一:功能描述、DFD、数据字典(二)功能分析方法二:功能描述、用例图、用例描述方法三:用语言详尽地叙述功能(三)数据分析方法一:E-R图方法二:实体类的类图(四)动态分析:建立系统动态模型(STD、时序图、Petri网)(可选)四、总体设计(一)软件运行环境(二)软件架构模式(三)建立软件结构图(功能模块图)(四)设计数据库的表结构方法一:E-R图→表→3NF方法二:实体类→表→3NF五、详细设计(一)模块设计:设计模块的界面及算法。
方法一:模块界面:可将所设计界面抓图。
模块算法:叙述模块功能。
模块的输入。
模块的处理。
模块的输出。
※一个功能模块的实现过程中可能包含多个函数、过程、类,应列出主要的函数、过程或类,对于其中的一些重要的、难度较大的函数、过程、类中的方法的实现算法可用流程图、N-S图、PAD图、活动图、PDL、判定表/树等工具进行详细设计。
(可选)方法二:模块界面:可将所设计界面抓图。
模块算法:叙述模块功能。
模块的输入。
模块的处理。
模块的输出。
使用如下工具描述算法:流程图、N-S图、PAD图、活动图PDL判定表/树(可选)※一个功能模块的实现过程中可能包含多个函数、过程、类,应列出主要的函数、过程或类,对于其中的一些重要的、难度较大的函数、过程、类中的方法的实现算法可用流程图、N-S图、PAD图、活动图、PDL、判定表/树等工具进行详细设计。
(可选)方法三:(特别适合于用面向对象的语言实现的软件)模块界面:可将所设计界面抓图。
模块算法:★可选择顺序图来分析、设计每个用例。
用顺序图粗略地描述用例(顺序图中的消息用粗略的方法表达)→用顺序图详细地描述用例(顺序图中的消息用准确地方法表达)★可选择活动图来分析、设计每个用例。
★可选择状态图描述关键类。
※一个功能模块的实现过程中可能包含多个函数、过程、类,应列出主要的函数、过程或类,对于其中的一些重要的、难度较大的函数、过程、类中的方法的实现算法可用流程图、N-S图、PAD图、活动图、PDL、判定表/树等工具进行详细设计。
(可选)(二)建立数据库、录入数据六、实现(一)编码(二)测试附录二:文档撰写规范一、《关于软件性质、规模、目标的报告书》内容:(一)软件性质。
(二)软件规模。
(三)开发该软件要实现的目标。
(四)题目来源、选题背景。
二、《可行性研究报告》内容:(一)技术可行性:分析小组人员现有技术水平能否开发出该软件。
(二)经济可行性:进行成本——效益分析,简单估算开发该软件须投入的成本(软件开发所需的软、硬件资源及人力资源的费用),简单估算软件投入使用后会带来的效益,比较成本和效益。
(三)法律可行性:该软件的选题、内容、开发所用的核心技术是否涉及到侵权、妨碍他人等法律及道义问题。
(四)操作可行性:软件所预定的操作方式(如单机或网络方式)是否符合用户单位的实际情况,是否可被用户单位接受。
(五)结论:根据上述四个方面可行性研究的结果,权衡该软件是否能在给定的时间及资源的限制下如期开发出来。
三、《项目开发计划》(一)系统概述:项目目标、主要功能、系统特点。
(二)系统资源:开发和运行该软件所需要的软、硬件资源及人力资源。
(注:人力资源须写明小组人数、组长、各小组成员的技术特长及责任)(三)成本预算:分阶段的人员费用,所须软、硬件资源费用、机时费用及其他费用。
(四)进度安排:各阶段起止时间,完成的文档,文档验证方式及要交付的产品清单。
四、《需求规格说明书》根据所选择的软件开发方法,完成方法中需求分析阶段所要求的内容。
五、《总体设计说明书》根据所选择的软件开发方法,完成方法中总体设计阶段所要求的内容。
六、《详细设计说明书》根据所选择的软件开发方法,完成方法中详细设计阶段所要求的内容。
注:文档中所涉及的图可用Microsoft Visio、Rational Rose等工具绘制,绘图后将图保存为.JPG文件,以图片形式插入文档中。