1软件工程课程设计指导书2目录一、软件工程课程设计指导书适用范围................................................................................3二、课程设计基本目的与可能收获........................................................................................3三、课程设计任务与具体要求................................................................................................41.学习课程设计指导书和分组...........................................................................................42.确定目标、初步方案,准备、试用开发环境与工具...................................................43.学习与搜集素材,借阅、购置必要的书籍与材料.......................................................44.课堂与课下结合开发项目...............................................................................................45.各阶段的开发工作...........................................................................................................46.做好小组与个人的开发记录、总结,做好小组内外的交流与互助...........................5四、开发阶段任务及角色分工一览表....................................................................................6五、小组成员角色描述与负责完成的文档............................................................................7六、课程设计交付成果说明....................................................................................................91.书面材料...........................................................................................................................92.软件与电子文档...............................................................................................................9七、主要参考文献与网址......................................................................................................11八、课程设计参考题目及要求(可自选题目)..................................................................131、网站开发类....................................................................................................................132、MIS系统类.....................................................................................................................233、其他类题目的功能需求说明........................................................................................25九、附录:..............................................................................................................................32附录A:软件工程课程设计报告格式(注:要求用A4纸打印).................................32附录B:学生分组与项目开发进度考察表.......................................................................35附录C:图书网站考察分析与开发小组原型功能确认活动完成的文档说明...............36附录D:UML技术规范与面向对象方法开发工具ROSE简介..........................................38附录E:ASP.NET技术规范及其软件、硬件环境简介....................................................42附录F:文档的作用和分类...............................................................................................473一、软件工程课程设计指导书适用范围课程设计名称:软件工程课程设计所属课程:软件工程所属专业:计算机科学与技术、软件工程、网络工程适用学生:学习软件工程课程的计算机相关专业本科生先修课要求:程序设计基础、操作系统、数据库系统、数据结构二、课程设计基本目的与可能收获1.通过本课程设计的实践及其前后的准备与总结、复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、数据结构、操作系统、数据库、网络编程等)创造实践机会。3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。4.使学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQLServer、Oracle、MySql等)设计与实现;客户机/服务器结构)。5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)深入实践,积极探索与大胆创新的机会。并且通过课程设计实践,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。4三、课程设计任务与具体要求1.学习课程设计指导书和分组学习研究课程设计指导书,进行分组(根据个人志趣自愿结合3-5人一组)并且明确每个学生在开发小组中扮演的角色及承担的职责(包括选出组长)。2.确定目标、初步方案,准备、试用开发环境与工具每个小组确定开发目标及初步方案;选择、准备、试用开发平台、数据库、交互网页开发技术、网页设计工具及其他有关开发工具。3.学习与搜集素材,借阅、购置必要的书籍与材料学习开发小组及成员根据自己承担的任务,利用各种途径(图书馆、因特网、书店、同学亲友等)进行针对性的学习并收集相关素材,包括精选、购置必要的书籍。4.课堂与课下结合开发项目因为需要自学和探索的内容与软件较多,每个学生要特别发挥积极主动精神投入课程设计和开发活动。除了正式安排的课程设计时间之外,学生需要充分利用好课余时间,自己有计算机的学生更要充分利用有利条件以取得尽可能好的开发成果,力争获得最大收益。5.各阶段的开发工作小组开发各阶段的任务及成员角色分工参看后面的“开发阶段任务及角色分工一览表”。需要说明的是,表中给出的各阶段顺序是迭代进行的,可能需要反复多次改进才能最后完成。开发过程中,小组长必须承担起领导责任,不定期召开小组开发工作研讨会(建议5-8次)。会前有准备,会议有记录(包括日期、出席人员、主题、讨论纪要、结论与问题、计划与行动分工。事后要保存好以备老师检查),会后有分工和检查。开发小组工作会议的可能内容是:1)选题内容及开发方案研讨;小组成员分工;开发计划拟定。2)同类著名网站浏览、分析;需求分析;网站原型及成员分工确认。3)原型主页设计及网页组织研讨。4)数据库设计及应用研讨。5)交互网页开发技术或其他专门开发技术或开发工具使用的研讨。56)网站原型集成测试、原型功能改进与扩充;开发文档整理、汇总。7)关键技术难点的解决方案研讨6.做好小组与个人的开发记录、总结,做好小组内外的交流与互助各个开发小组及其每个成员可以互相研讨、帮助,但必须独立完成自己承担的开发任务与文档编制任务,不得抄袭他人成果。在课程设计进行期间,每个小组由小组长建立项目开发记录本,每周至少做一次记录,包括小组会议记录,小组记录本要保存好供老师检查。建议每个小组成员也建立自己个人的开发记录或日志。记录的内容可以包括:个人在小组中承担任务、计划与进度;相关学科与软件工具学习内容摘要与存在问题、难点;好的创意与建议;开发或学习心得;文档草稿;重要信息与线索记录等。这样做可以有助于项目开发工作和自己的学习,也有助于最后完成个人和小组的课程设计报告。6四、开发阶段任务及角色分工一览表_________________________________________________________________________________________________________________________文档阶段角色承担的任务代号名称角色A(主程序员,组长)角色B(辅助程序员1)角色C(辅助程序员2)角色D(素材文档员)角色E(网页设计员)G0问题定义与开题小组报告项目开发计划AG0★G1知名同类网站网站考察分析考察、分析报告小组报告EG1★G2软件项目需求(用户类型与业(功能需求(加工算法(分层DFD分析报告(SRS)务流程分析图)说明部分)说明部分)数据字典)G3网站原型原型需求分析需求分析报告小组报告AG3★★(注:此报告内容与G2阶段大致相同,但是落实到原型上的内容,原型的功能要精简而明确,)G4软件体系(软件模块总体设计小组报告BG4★★(所有模块清单(名结构文档层次结构图)(网站工作原理图)称,功能,I/O,调用)G5数据库与文件(二维表清单(表名,主(数据库中各表数据库设计小组报告CG5★★设计文章码,字段,类型,长度)关联图及说明)(E-R图)G6网站前台网站前台设计