《软件工程课程设计》指导书安阳工学院计算机科学与信息工程系2009年5月一.课程设计基本目的1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会为学生提供主动学习(比如,对Web网页设计、ASP或JSP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、积极探索与大胆创新的机会。3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQLServer、Oracle、MySql等)设计与实现;客户机/服务器结构)。5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。二.要求、内容与时间分配1.要求(含工作量要求):a总体要求1)编程语言的应用和掌握;2)软件工程思想、方法和技术的应用和掌握;3)团队合作、沟通技巧和职业道德方面的训练。b具体要求完成项目开发计划、需求分析说明书、软件设计说明书、软件测试分析报告2.内容与时间分配:1、命题由教师命题,以开发小组为单位选择课题,经教师审查调整后确定。2、需求分析对所选择课题的问题域进行深入调查研究的基础上,对系统的功能及性能需求进行分析,写出需求规格说明书;包括可行性分析报告、系统的需求模型。本阶段末进行需求方案评审,重点是DFD和E-R图。3、软件设计软件设计分两个阶段进行:总体设计和详细设计总体设计:确定系统总体设计方案;建立软件系统的体系结构,完成系统的模块化,建立系统的静态模型及动态模型,进行用户界面设计。详细设计:对模块内部过程及数据结构进行设计,由小组成员分工完成。4、编码及软件测试编写程序。要求给出详细的注释,包括:模块名,模块功能,中间过程的功能,变量说明等。所有测试过程都要求采用综合测试策略;先作静态分析,再作动态测试。应事先制订测试计划,并要求保留所有测试用例,完成测试报告。由学生完成:模块测试、组装测试、系统(或功能)测试(时间由学生在编码阶段自行安排)。5、验收测试验收测试由教师完成:以开发小组为单位进行,三.考核与成绩评定办法根据软件开发文档、源代码和运行系统的质量进行考核,学生成绩以优、良、中、及格、不及格等级评定的方式给出。四.课程设计题目(一)个人财务管理系统1描述:本软件的主要功能包括:账户管理、收支管理、借贷管理、统计功能、基础设置2要求:a.账户管理:管理用户的账户信息。接受用户账户信息的提交,进行处理后用表单的形式进行显示。b.收支管理:处理用户的收入和支出的信息,进行处理后用表单的形式进行显示,同时提供时间段的收支情况查询功能。c.借贷管理:用户提交借贷信息,进行处理后显示借贷的详细信息,同时提供时间段的借贷情况的查询。d.统计功能:统计功能提供用户财务信息的查询和统计的功能,可以统计账户信息,收支信息,借贷信息,并以时间段作为标准,显示统计结果。e.基础设置:通过基础设置,进行整个系统的初始化设置,包括添加各个管理项目...