1、软件工程课程设计规定一、分组35人一组,由班长负责分组,每组指定一名组长。注:以java、.net方向同窗为主来分组,前台和信息技术方向同窗穿插在各组。java、.net这两个方向同窗不要放在一组。二、选取题目可从附录三中选题,也可选java、jsp、.net等课程设计中教师指定题目,也可小组自选题目(应选小型软件:代码行左右,如小型数据库应用系统、小型网络应用软件等)。三、选取软件开发办法从附录一中选取相应软件开发办法,按相应办法规范完毕软件开发。四、按照相应办法完毕系统分析、设计,并完毕相应文档。1、软件工程课程设计结束,各小组须提交如下文档:若选取办法一、三,则需做完详细设计,需提交如下
2、文档:1)关于软件性质、规模、目的报告书2)可行性研究报告3)项目开发筹划4)需求规格阐明书5)总体设计阐明书6)详细设计阐明书若选取办法二,则需做完总体设计,需提交如下文档:1)关于软件性质、规模、目的报告书2)可行性研究报告3)项目开发筹划4)需求规格阐明书5)总体设计阐明书以上文档撰写规范见附录三。2、软件工程课程设计结束时,个人须提交文档:课程设计报告,其中详细论述自己所完毕工作。五、成绩评估软件工程课程设计成绩=文档成绩+浮动分注:文档成绩由教师依照各小组所提交份文档完整性、质量、规范性打分;浮动分由组长依照每人贡献所给参照分及教师依照每人课程设计报告所给分综合评估给出。注:软件工程
3、课程设计时间:1920周若选取办法一、三完毕系统分析与设计,小组每个成员都要参加功能分析、模块设计;若选取办法二完毕系统分析与设计,小组每个成员都要参加功能分析、实体类类图创立、用例分析模型或用例设计模型建立(用例分析模型或用例设计模型两者选其一即可)。(办法中标红某些)附录一:软件开发办法一、老式软件开发办法(构造化软件开发办法)合用于普通软件,特别适合于如下状况:1.数据构造+算法程序设计思想。2.非交互式软件(软件执行过程重要不是由顾客控制,而是由程序控制,并按序执行。)如:大型工程计算软件、实时数据跟踪软件、自动化控制系统、系统软件、数据库应用系统3.面向过程构造化语言:C语言、Pas
4、cal语言二、面向对象软件开发办法合用于普通软件,特别适合于如下状况:1.类+消息程序设计思想。2.交互式软件(软件执行过程完全顾客交互控制,而不是由程序控制。)如:基于网络完全由顾客交互控制程序执行过程应用软件和系统软件。3.面向对象语言:Java、C+、C#三、老式与面向对象办法相结合实用办法合用于普通软件。一、老式软件开发办法(瀑布模型)一、问题定义 拟定目的系统性质、规模、目的。二、可行性研究(一)从经济、技术、法律、操作角度分析系统可行性。(二)若可行,则制定项目开发筹划(项目成本、进度安排、分组状况)三、需求分析(一)业务分析1.业务描述2.建立业务模型(SFD)(可选)(二)功能
5、分析1.功能描述2.建立系统功能模型(DFD、数据字典)(三)数据分析建立系统数据模型(E-R图)(可选)(四)建立系统动态模型(STD、时序图、Petri网)(可选)四、总体设计(一)软件运营环境(二)软件架构模式(四)建立软件构造图(软件构造图反映模块及模块间调用关系,每个模块为一种独立功能)(五)设计数据库表构造(每张表应规范到3NF,每张表应包括表名,字段,字段类型、主键、外键)(可选)五、详细设计(一)模块设计(设计每个模块界面及算法)模块界面:可将所设计界面抓图。模块算法:论述模块功能。模块输入。模块解决。模块输出。使用如下工具描述算法:流程图、N-S图、PAD图、活动图PDL鉴定
6、表/树(可选)一种功能模块实现过程中也许包括各种函数、过程、类,应列出重要函数、过程或类,对于其中某些重要、难度较大函数、过程、类中办法实现算法可用流程图、N-S图、PAD图、活动图、PDL、鉴定表/树等工具进行详细设计。(可选)(见例2)(二)建立数据库、录入数据六、实现(一)编码(算法源代码)(二)测试参照案例:1、图书馆管理系统开发 2、网上商城管理系统开发二、面向对象软件开发办法(喷泉模型)一、问题定义二、可行性研究三、面向对象分析 (一)业务分析1、业务描述2、建立系统业务模型(可选)可选取顺序图、活动图描述系统整体业务流程。可选取活动图描述系统参加者行为。(二)功能分析,建立系统功
7、能模型(用例图、用例描述)1、建立需求构造2、建立功能模型为需求构造中每个最小需求单元建立一种功能模型:(1)功能描述(2)用例图(3)用例论述(三)对象分析,建立系统初步对象模型(实体类类图)(四)用例分析,建立用例分析模型拟定用例实现方略。可选取顺序图对用例进行分析。(粗略顺序图,图中消息用粗略办法表达)可选取活动图对用例进行分析。(五)扩充和完善,建立系统完整对象模型(平台无关对象模型)拟定系统实现方略(系统中包括哪些类,不同类起什么作用)。对于系统中重要类,用状态图分析其状态变迁。四、面向对象总体设计(一)扩充、完善功能模型(用例图)(二)软件运营环境(三)软件架构模型1、软件架构模式
8、2、软件分层架构(反映了系统实现方略)3、软件逻辑构造(子系统构造,每个子系统相应需求构造中一种最小需求单元)(四)扩充和完善对象模型,建立平台有关对象模型。(五)用例设计,建立用例设计模型可选取顺序图对每个用例进行设计(详细顺序图,图中消息用精确办法表达)。可选取活动图对每个用例进行设计。(五)若某些类对象须长期存储,则定义存储方式普通用数据库存储,建立数据库设计模型。1、数据库表构造(实体类表3NF(每张表应包括表名、字段、字段类型、主键、外键)2、数据库逻辑构造(表之间关系)(可选)(七)设计人机交互界面,建立界面设计模型(可选)1、界面构造模型2、屏幕界面模型(八)建立组件图(可选)(
9、九)建立布置模型五、面向对象详细设计(一)拟定每个用例实现算法(实现用例类中服务算法、关联算法),描述算法可用流程图、N-S图、PAD图、活动图、PDL、鉴定表/树等工具。(二)建立数据库、录入数据六、面向对象实现(一)编码 算法源代码(二)测试参照案例:1.e速快餐系统开发 2. eB在线书店开发 3. C+类库管理系统开发三、老式与面向对象办法相结合实用办法一、问题定义二、可行性研究三、需求分析 (一)业务分析 办法一:业务描述 办法二:业务描述、业务模型(系统流图) 办法三:业务描述、业务模型(可选取顺序图、活动图描述系统整体业务流程;可选取活动图描述系统参加者行为。) 办法一:功能描述
10、、DFD、数据字典(二)功能分析 办法二:功能描述、用例图、用例描述 办法三:用语言详尽地论述功能(三)数据分析 办法一:E-R图 办法二:实体类类图(四)动态分析:建立系统动态模型(STD、时序图、Petri网)(可选)四、总体设计(一)软件运营环境(二)软件架构模式(三)建立软件构造图(功能模块图)(四)设计数据库表构造 办法一:E-R图表3NF 办法二:实体类表3NF五、详细设计(一)模块设计:设计模块界面及算法。办法一: 模块界面:可将所设计界面抓图。模块算法: 论述模块功能。模块输入。模块解决。模块输出。一种功能模块实现过程中也许包括各种函数、过程、类,应列出重要函数、过程或类,对于
11、其中某些重要、难度较大函数、过程、类中办法实现算法可用流程图、N-S图、PAD图、活动图、PDL、鉴定表/树等工具进行详细设计。(可选)办法二:模块界面:可将所设计界面抓图。模块算法:论述模块功能。模块输入。模块解决。模块输出。使用如下工具描述算法: 流程图、N-S图、PAD图、活动图 PDL 鉴定表/树(可选)一种功能模块实现过程中也许包括各种函数、过程、类,应列出重要函数、过程或类,对于其中某些重要、难度较大函数、过程、类中办法实现算法可用流程图、N-S图、PAD图、活动图、PDL、鉴定表/树等工具进行详细设计。(可选)办法三:(特别适合于用面向对象语言实现软件)模块界面:可将所设计界面抓
12、图。 模块算法: 可选取顺序图来分析、设计每个用例。用顺序图粗略地描述用例(顺序图中消息用粗略办法表达)用顺序图详细地描述用例(顺序图中消息用精确地办法表达)可选取活动图来分析、设计每个用例。可选取状态图描述核心类。一种功能模块实现过程中也许包括各种函数、过程、类,应列出重要函数、过程或类,对于其中某些重要、难度较大函数、过程、类中办法实现算法可用流程图、N-S图、PAD图、活动图、PDL、鉴定表/树等工具进行详细设计。(可选)(二)建立数据库、录入数据六、实现(一)编码(二)测试附录二:文档撰写规范一、关于软件性质、规模、目的报告书内容:(一)软件性质。(二)软件规模。(三)开发该软件要实现
13、目的。(四)题目来源、选题背景。二、可行性研究报告内容:(一)技术可行性:分析小组人员既有技术水平能否开发出该软件。(二)经济可行性:进行成本效益分析,简朴估算开发该软件须投入成本(软件开发所需软、硬件资源及人力资源费用),简朴估算软件投入使用后会带来效益,比较成本和效益。(三)法律可行性:该软件选题、内容、开发所用核心技术与否涉及到侵权、妨碍她人等法律及道义问题。(四)操作可行性:软件所预定操作方式(如单机或网络方式)与否符合顾客单位实际状况,与否可被顾客单位接受。(五)结论:依照上述四个方面可行性研究成果,权衡该软件与否能在给定期间及资源限制下如期开发出来。三、项目开发筹划(一)系统概述:
14、项目目的、重要功能、系统特点。(二)系统资源:开发和运营该软件所需要软、硬件资源及人力资源。(注:人力资源须写明小组人数、组长、各小构成员技术特长及责任)(三)成本预算:分阶段人员费用,所须软、硬件资源费用、机时费用及其她费用。(四)进度安排:各阶段起止时间,完毕文档,文档验证方式及要交付产品清单。四、需求规格阐明书依照所选取软件开发办法,完毕办法中需求分析阶段所规定内容。五、总体设计阐明书依照所选取软件开发办法,完毕办法中总体设计阶段所规定内容。六、详细设计阐明书依照所选取软件开发办法,完毕办法中详细设计阶段所规定内容。注:文档中所涉及图可用Microsoft Visio、Rational
15、Rose等工具绘制,绘图后将图保存为.JPG文献,以图片形式插入文档中。附录三:软件工程课程设计题目题目1:远程教学平台。建立一种分布式、互动式远程教学平台,为教师教学、学生学习提供比较完整教学解决方案。其重要功能涉及告知发布、参照资料发布、电子课件发布、学生作业提交、协助教师批改学生作业、协助学生复查批改后作业。题目2:网上机票预订系统。开发一种基于web网上机票查询和销售系统,该系统可以录入航班和机票信息,顾客可以查询航班时刻表、查询机票、可用信息和机票折扣信息,顾客可以通过web订票。题目3:网上投稿系统。开发一种基于web网上投稿系统,该系统可以接受作者电子投稿,以及作者信息(如姓名、
16、单位、通信地址、电话、E-mail等)注册,并能提供投稿人查询稿件解决状况,以及在稿件解决后状况(退稿、录取、修改后再审等),能自动发送E-mail告知投稿人。题目4:BBS系统。开发一种基于webBBS系统,包括普通BBS所具备功能,如顾客注册、顾客信息管理、发帖功能、帖子管理、主题词查询、顾客信息修改和查询等。题目5:在线拍卖系统。所有顾客均可浏览拍卖目录,创立账户,注册。已注册顾客可登录系统管理账户(即更新、维护账户中信息)。注册顾客又可分为买主和卖主。卖主可登录系统并创立拍卖项,买主可登录系统后竞拍(每次竞拍价应高于上一次竞拍价)。当一项拍卖结束时间到达时(拍卖时间由系统规定),系统终
17、结拍卖,此时买主、卖主被告知拍卖已成交、成交价格及双方联系方式,以便真正完毕这笔交易,系统将从卖主信用卡(账户)中收取交易有关费用,如果卖主信用卡不能付款,系统将针对该卖主建立一种未付款记录。题目6:期刊管理系统期刊信息是图书馆、企事业单位资料室等进行期刊管理所必须而频繁使用信息资料。期刊管理系统目是实现期刊登记、借阅、查询等业务自动化管理,以提高工作效率。规定系统简朴实用,即可单独使用,也可以作为其她大型应用系统一种构成某些来使用。该系统重要功能如下:1)读者信息管理:添加读者信息,更改读者信息,删除读者信息。2)期刊管理:管理所有种类期刊基本信息,管理员登记新到期刊信息,涉及刊号、年、期、
18、数量和相应文章信息。3)期刊借阅:解决读者期刊借阅、归还业务。4)期刊查询:查询期刊库存、某期刊去向信息。5)期刊征订:完毕下一年度预订期刊目录生成。6)期刊内容登记:将新到每本期刊所有文章信息(文章题目、作者姓名、作者单位、核心词等)登记到数据库中。7)期刊内容查询:输入核心词,查询出涉及这些核心词文章题目、登载期刊信息(名称、年、期)等。题目7:学生信息管理系统拟开发某学校学生信息管理系统,系统重要功能如下:1)学籍信息管理:学籍信息添加、修改、删除、查询。2)班级信息管理:班级信息添加、修改、删除、查询。3)课程信息管理:年级课程设立、课程信息添加、修改、删除、查询。4)成绩信息管理:学
19、生成绩添加、修改、删除、查询、记录。5)顾客管理。题目8:员工培训管理系统拟开发某公司员工培训管理系统,系统功能如下:1)培训需求管理2)培训筹划管理3)学员基本信息管理:员工基本信息(涉及工号、姓名、职称、岗位、已培训过课程和成绩、培训筹划等)添加、修改、删除、查询。4)课程信息管理:培训课程信息(涉及课名、学时、种类等)添加、修改、删除、查询。5)成绩信息管理:学员学习某课程成绩添加、修改、删除、查询。6)培训效果评价。7)培训筹划实行状况管理。8)培训资源管理:资源涉及教材、师资、场地等。9)系统管理:顾客管理、权限管理。题目9:超市管理系统拟开发超市管理系统:系统顾客分为管理员和普通员
20、工,功能如下:1)商品信息管理:商品种类增、删、改、查询;商品信息增、删、改、查询;2)员工信息管理:员工信息增、删、改、查询。3)商品进货管理。4)商品销售管理。5)商品库存管理:库存查询、库存报警(当某商品库存量不不大于某值或不大于某值时须报警),库存盘点(记录某个时间段内,某个商品营业额)。6)供应商管理。7)系统管理:修改密码,添加管理员等。员工功能:1)商品信息管理:商品信息查询。2)商品销售管理:商品销售状况、个人销售业绩查询。3)商品库存管理:库存查询。题目10:花店网上订花系统顾客可浏览店内所有鲜花,可查看鲜花详细信息,可搜索某种鲜花,可将选中鲜花放入购物车,结账时须检测顾客身
21、份,只有注册会员才可结帐订花。管理员可对商品种类、商品信息进行管理,可进行订单管理,可对注册顾客进行管理。注册顾客可查看自己订单解决状况。题目11:美发店管理系统完毕美发店员工寻常管理及,提供服务,所售物品入,出库管理,及顾客管理(可考虑设计不同级别顾客),能辅助记录美发店经营状况及员工考核,也可查询顾客消费状况。题目12:课程设计管理系统教师可上传题目及规定,同窗们完毕题目选取及分组登记,教师可查看同窗上传完毕状况,并给出成绩,同窗可查询。(可考虑实现问题留言及回答)题目13:酒店餐饮管理系统可提供点菜及包房管理(为以便开发,可以只考虑包房点菜)。辅助实钞票额核算及营业记录。题目14:酒店客房管理系统提供房间管理,订房,入住,换房,退房,结账等基本客房管理功能。题目15:学生选课系统实现学生信息管理和选课查询,涉及学生基本信息,如班级、学号、姓名及课程基本信息,并支持完毕课程选取及查询。题目16:个人网站实现网站布局及发布,完毕个人信息上传及编辑,支持访问浏览。(可考虑扩展留言功能)。题目17:包头市旅游信息网站设计与实现本系统设计与实现是为了给游戏兴趣者提供一种交流平台。基本功能要实现旅游信息发布、心得体会及疑难问题发布、回答及在线讨论。