软件工程课程设计指导书《软件工程》课程设计指导书福建农林大学计算机与信息学院2010年12月软件工程课程设计指导书软件工程课程设计指导书一、软件工程课程设计指导书适用范围......................3二、课程设计基本目的....................................4三、课程设计选题方案及备选题目..........................5四、可采用技术简介.....................................5五、课程设计过程与具体要求..............................5六、角色分工...........................................8七、课程设计交付说明...................................10八、主要参考文献与网址.................................10附录A:软件工程课程设计报告格式.......................13软件工程课程设计指导书一、软件工程课程设计指导书适用范围所属课程:软件工程所属专业:计算机科学与技术、软件工程等领域方向:软件工程与软件开发实践、网页设计与Web应用、数据库应用与电子商务、Java/.net语言及其应用等等参考学时:2周或以上适用学生:学习《软件工程》课程的计算机科学与技术、软件工程等专业的本科生先修课要求:程序设计、操作系统、数据库等软件工程课程设计指导书二、课程设计基本目的1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、积极探索与大胆创新的机会。3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQLServer、Oracle、MySql等)设计与实现;客户机/服务器结构)。5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。软件工程课程设计指导书三、课程设计选题方案及备选题目学生以3人为一小组,自由组队。每1小组可以从附件:《备选题目》中选择适合自己的团队的题目,也可以选择不在备选题目中的属于程序设计类的题目,经过指导老师批准也可做为课程设计的题目。学习委员按以下格式编好小组编号,并将选题结果提交给指导老师小组编号小组成员姓名角色选题编号题目自选题目J2010SC0103072231001郭嘉A34医院挂号管理系统072231009B072231011CJ2010SC0104072231023AXXXXXXX072231026B072231028CJ2010SC0103中,J表示金山学院,SC表示计算机科学与技术专业,表示2010表示2010年,01表示1班,最后2位03表示1班的第3小组四、可采用技术简介《备选题目》以WEB应用程序类型为主。合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如下:技术名称ASPJSPPHPASP.NET对数据库的支持好好好好开发难易度容易容易较难容易使用平台WindowsUNIX/Linux/windowsUNIX/Linux/windowsWindows对组件的支持支持支持不支持支持执行方式解释执行编译之后执行解释执行编译之后执行跨平台不好好好不好五、课程设计过程与具体要求1.学习课程设计指导书和分组软件工程课程设计指导书学习研究课程设计指导书,进行分组(网站开发项目3人一小组)并且明确每个学生在开发小组中扮演的角色及承担的职责(包括选出组长)。2.确定目标、初步方案,准备、试用开发环境与工具每个小组确定开发网站目标及初步方案;选择、准备、试用开发平台、数据库、交互网页开发技术、网页设计工具及其他有关开发工具。3.学习与搜集素材,借阅、购置必要的书籍与材料学习开发小组及成员根据自己承担的任务利用各种途径(图书馆、因特网、书店、同学亲友等)进行针对性的学习并收集相关素材,包括精选、购置必要的书籍。4.课堂与课下结合开发项目因为需要自学和探索的内容与软件较多,每个学生要特别发挥积极主动精神投入课程设计和开发活动。除了实验室正式安排的课程设计时间之外,学生需要充分利用好课余时间,自己有计算机的学生更要充分利用有利条件以取得尽可能好的开发成果,力争获得最大收益。5.各阶段的开发工作小组开发各阶段的任务及成员角色分工参看后面的“开发阶段任务及角色分工一览表”。需要说明的是,表中给出的各阶段顺序是迭代进行的,可能需要反复多次改进才能最后完成。开发过程中,小组长必须承担起领导责任,不定期召开小组开发工作研讨会(建议5-8次)。会前有准备,会议有记录(包括日期、出席人员、主题、讨论纪要、结论与问题、计划与行动分工。事后要保存好供老师检查),会后有分工和检查。开发小组工作会议的可能内容是:1)选题、网站内容及开发方案研讨;小组成员分工;开发计划拟定。2)同类著名网站浏览、分析;网站需求分析;网站原型及成员分工确认。3)原型主页设计及网页组织研讨。4)数据库设计及应用研讨。5)交互网页开发技术或其他专门开发技术或开发工具使用的研讨。6)网站原型集成测试、原型功能改进与扩充;开发文档整理、汇总。6.做好小组与个人的开发记录、总结,做好小组内外的交流与互助软件工程课程设计指导书各个开发小组及其每个成员可以互相研讨、帮助,但必须独立完成自己承担的开发任务与文档编制任务,不得抄袭他人成果。在课程设计进行期间,每个小组由小组长建立项目开发记录本,每周至少做一次记录,包括小组会议记录,小组记录本要保存好供老师检查。建议每个小组成员也建立自己个人的开发记录或日志。记录的内容可以包括:个人在小组中承担任务、计划与进度;相关学科与软件工具学习内容摘要与存在问题、难点;好的创意与建议;开发或学习心得;文档草稿;重要信息与线索记录等。这样做可以有助于项目开发工作和自己的学习,也有助于最后完成个人和小组的课程设计报告。软件工程课程设计指导书六、角色分工三人一组的开发团队分为:角色A(主程序员,组长);角色B(程序员)角色C(辅助程序员和美工设计员)。每个人对应某一角色,负责完成与角色相关任务和文档。角色角色名称职责与提交文档的内容条件A主程序员(组长)全面协调小组工作;负责整个项目开发工作、系统需求分析、系统测试与调试和小组文档核查等工作1.开题(问题定义与可行性研究);2.组内分工,项目规划,甘特图;3.用户类型与业务流程图分析,用例分析;4.网站原型需求分析;5.数据库二维表结构描述;6.系统总体测试;7.个人课程设计报告:1.综合素质好,有团队精神,组织、协调能力强2.项目分析与编程能力较强B程序员主要负责网站结构设计与前台程序的开发等工作1.功能需求说明部分:2.网站原理图与参与系统总体设计3.绘制1层图和2层图4.系统功能模块结构图(树状结构)5.个人完成的带注释的关键模块清单6.个人完成的某些单元模块测试7.个人课程设计报告编程能力较强,较熟悉Web编程C辅助程序员主要负责网站数据库设计与后台程序的开发等工作1.所有的数据条目(参见教材P110),以及用例描述功能需求说明部分;2.参与系统总体设计3.个人完成的带注释的关键模块清单较熟悉数据库创意好;网页设计与美工、绘图软件工程课程设计指导书4.个人完成的某些单元模块测试5.部分关键加工算法说明6.系统配置、帮助与使用说明7.个人课程设计报告:能力强软件工程课程设计指导书七、课程设计交付说明1.交付形式每个学生提交个人课程设计报告,格式要求参看附录,交给组长。由组长将组内所有成员的文档和源代码等所有材料打包,交给学习委员,学习委员在收齐后所有小组的文件之后交给老师,老师初步检查无重大误之后,再交打印版。2.软件与电子文档(1)个人电子文档:小组成员完成的自己课程设计报告,命名为:学号姓名软件工程课程设计报告.doc,如:072231001郭嘉软件工程课程设计报告.doc。(2)小组项目电子文档:小组完成项目后,把可运行程序、源代码、相关文档连同各个小组成员的文档压缩,命名为自己小组的编号,如J2010SC0103.rar。压缩包的内容包括:1.源文件压缩包(一般为项目的压缩包,比如一个.net项目压缩成一个包)2.数据库文件3.简单的软件使用说明4.小组各成员的课程设计报告软件工程课程设计指导书八、主要参考文献与网址1.张海藩,软件工程导论(第三版),清华大学出版社,19982.郑人杰等,实用软件工程(第二版),清华大学出版社,19973.SoftwareEngineering——APractitionaer’sApproach,RogerS.Pressman,(英文版,第4版),机械工业出版社&McGraw-Hill,19974.软件工程:Java语言实现,StephenR.Schach著,袁兆山等译,机械工业出版社,19995.[美]HerbertSchildt著,史光华译,Java2:编程起步,人民邮电出版社,20016.[美]WattsS.Humphrey著,袁昱译,小组软件开发过程,人民邮电出版社,20007.[]JacquieBarker著,韩柯等译,Java面向对象编程指南,电子工业出版社,20018.张龙祥编著,UML与系统分析设计,人民邮电出版社,2001年8月9.[美]I.Jacobson,G.Booch,J.Rumbaugh著,周伯生等译,统一软件开发过程,机械工业出版社,200210.[美]JosephSchmuller著,李虎等译,UML基础、案例与应用,人民邮电出版社,200211.飞思科技产品研发中心编著,JSP教程,电子工业出版社,200212.楊学瑜等编著,JSP入门与提高,清华大学出版社,200213.Donny著,JSP与网站开发编程实战,科学出版社,200114.覃剑锋张钢编著,ASP网站建设专家,机械工业出版社,200115.武延军赵彬编著,精通ASP网络编程,人民邮电出版社,200016.徐国平等编著,JSP网络开发务实,电子工业出版社,2001年9月17.宋玲主编,电子商务21世纪的机遇与挑战(第二版),电子工业出版社,200018.曹建编,Flash5Dreamweaver4与Fireworks4网页设计尖锋,电子工业出版社,200119.库博工作室,中文ACCESS2000实用教程,中国水利电力出版社,199920.李赫雄等,SQLSERVER2000应用程序开发,邮电出版社,20012