当前位置:文档之家› 232传统软件工程方法学大作业

232传统软件工程方法学大作业

软件工程课程设计指导书计信学院1.课程设计目的本课程设计是为软件工程课程配套设置的.其目的是使学生能够针对具体软件工程项目进一步掌握在软件工程管理、软件需求分析、软件概要设计、软件详细设计和软件测试等阶段的方法、工具和技能,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,从而提高学生分析问题、解决问题的能力,使学生具备初步的软件项目管理的能力。

2.课程设计要求(1)每个班级按项目小组进行分组,每组不能超过4人(项目过程完整可以包括6人)。

每个小组需要完成从项目可行性分析――>项目开发计划――>项目需求分析――>项目概要设计――>项目详细设计――>编码――>测试――>项目结项(红色为可选项)这些阶段。

每个阶段都必须有完整的开发文档支持。

开发文档包括:●可行性分析报告●项目开发计划●需求分析规格说明●概要设计规格说明●详细设计规格说明●测试计划●测试记录●项目审查记录●用户手册、系统手册●项目结项书同时,还应该进行相应的配置管理与质量管理。

(2)每个项目小组选出项目负责人一名。

项目负责人的职责:召集项目成员、组织成员讨论、选定开发项目、拟定“可行性研究报告”、“项目开发计划”、执行项目管理并根据项目进展情况对项目开发计划进行调整;对于调整的项目开发计划必须存档。

(3)开发文档的具体要求见:软件开发文档撰写3.课程设计内容课程设计任务包括:●熟悉至少一种建模工具(PowerDesigner、RationalRose、Erwin)●完成可行性分析●完成需求分析●完成概要设计●完成详细设计●代码实现●代码测试工作●完成各阶段的审查工作●完成项目管理工作课程设计参考资料●软件工程过程(简要)●软件开发文档撰写(参见附录)软件工程过程(简要)在整个生命周期中,任一阶段如果不能通过评审,就不能开展下一阶段的工作,应根据情况返工重做。

返工的情形可能是返回上一阶段,也可能是返回前几个阶段,这根据实际情况以及可能造成的危害程度来决定。

质量管理、沟通管理以及配置管理是贯穿于整个生命周期的,其基本思想是提高软件的质量,规避可能出现的风险。

验收要求:(1)每个项目组选派一名代表作答辩陈述,但项目组其他成员也必须到答辩现场;(2)每组最多10分钟时间,其中:自述+程序演示≤8分钟;提问≤4分钟;报告要求1)上交文件:a)报告文件电子档、程序源代码和可执行文件。

2)报告结构、内容及要求a)封面;b)目录;c)课程设计项目简介、小组成员分工、所承担任务说明及工作量比例;d)项目开发可行性;e)系统需求规格说明书;f)概要设计说明书;g)详细设计说明书;h)测试计划方案;i)用户使用说明书;j)项目总结报告和体会。

k)参考文献:不要求数量,必须是在完成该项目过程中真正阅读过或使用过的资料,包括:图书、手册、文章、网上资料等。

附:软件开发文档参格式2003本科《软件工程课程设计》报告项目题目:班级:项目组长:项目组成员:姓名学号指导教师:开始日期:完成日期:计信学院目录一可行性研究和计划1.可行性研究●目标:确定软件要完成的范围、所需的资源、开发成本和项目进度●关键子过程1)确定系统的高层逻辑模型2)确定系统的解法3)确定开发计划4)成本分析●需要提交的文档包括:(1)项目计划书(必须提交):指出本项目的实施计划,质量保证计划,配置管理计划,以及需要的支持条件。

由项目负责人提交。

(2)工作说明书(可选):指出在本项目实施过程中,项目组成员的责任分配。

由项目负责人提交(3)项目公告(可选):指明本项目的项目管理制度,文档管理制度,开发环境以及软件工程制度。

由项目负责人提交。

●项目一旦立项后,需要做的工作包括:(1)指定项目负责人,对本项目的进度,质量进行控制。

(2)确定参与项目的小组成员以及每个成员的工作内容。

(3)指定配置管理人员。

(配置管理由专人负责)在开发的过程中,可能会涉及到计划的变更,这要求提交正式的“计划变更说明书”,以确认计划的变更。

“计划变更说明书”由项目负责人提交。

同时,在项目一开始,就应该对项目的进度进行跟踪,对应的就是“项目进度跟踪表”,由项目负责人提交。

●可行性研究的评审条目1)系统流程图是否涵盖所有系统要求的功能2)数据流图是否准确、完整地反映了系统的逻辑模型3)数据字典对数据的定义是否是准确的、无歧义的4)系统解法是否合理5)开发计划是否合理6)成本分析是否合理二软件需求分析项目成功的一个重要因素是对客户需求的充分理解和挖掘,以达到客户的预期目标或是超前客户的目标。

在对客户的需求的充分理解之下,将客户的需求完整清晰的表达出来,是这一阶段的重要任务。

●目标:详细、准备地描述软件实现的功能要求和性能要求●关键子过程1)确定对系统的综合要求:A。

系统的功能要求(划分出系统必须完成的所有功能)B。

系统性能要求(指出系统性能的特殊要求)C。

运行环境要求(指出系统对运行环境的要求)D。

将来可能提出的需要2)分析系统的数据要求:建立系统的概念数据模型3)确定系统的逻辑模型4)修正开发计划5)确定验证测试准则:采用验证测试需要的测试用例●这阶段需要做的工作包括1)需求调研:深入了解客户的需求,完整且准确理解客户的需求2)用户的相关报表文件等客户资料的收集整理。

3)需求分析:将需求调研的结果整理成文●这阶段的工作任务应该是占整个项目时间的1/4左右。

需要提交的文档包括:1)需求规格说明书:详细准确的描述客户的需求(包括功能性需求和非功能性需求)。

由系统分析人员提交。

2)报表文件一揽表。

由需求调研人员提交。

在任一阶段,若需对需求进行更改,需要填写“需求变更说明书”以确认需求的变更。

“需求变更说明书”由提出需求变更的人员提交,需经项目负责人确认并同意。

●软件需求分析评审条目1)对功能要求、性能要求、运行要求、将来可能提出的要求的描述是否准确,无歧义。

2)是否准确地反映了系统的概念模型3)数据流图的每一层细化是否等价于其上层功能4)数据流图的底层细化功能是否已达到了元素级5)测试用例是否涵盖了所有的数据流三概要设计●目标从软件的需求规格说明书出发,设计系统的总体功能结构,定义系统模块之间的接口,定义系统与外部环境的接口。

但是所有的这些都不要求设计模块内部过程的细节。

●关键子过程1)确定系统功能模块:确定整个系统的功能结构图;确定每个模块的功能;确定功能模块的关联关系以及接口;确定系统主要的数据构成。

2)确定系统外部接口:列出系统涉及的主要外部实体或设备;与外界系统的数据交换;系统总体接口和界面设计;系统总体运行设计3)数据库设计:确定数据库管理系统;根据数据流图和E-R图给出数据库逻辑模型;转换为数据库物理模型;创建数据库●此阶段需要提交的文档有:(1)概要设计说明书:指出系统架构,系统功能,系统流程以及数据库的设计。

概要设计说明书由系统架构设计师提交。

建议使用UML来做。

(2)数据字典:数据字典说明书。

建议使用POWERDESINGER工具来做。

四详细设计●目标着重描述每一模块是怎样实现的,包括实现的算法、逻辑流程等●关键子过程1)确定模块的程序流程图、处理过程、算法以及相关的数据结构2)确定模块的输入输出3)确定用户界面的设计●此阶段需要提交的文档详细设计说明书●详细设计评审条目1)2)五编码此阶段的主要任务是软件工程师根据详细设计说明书,以及项目公告的内容,进行编码。

要求编码过程中,应该依据编码规范,命名规范等相关规范开展编码工作,源代码需有适当的注释。

●目标从软件概要设计和详细设计规格说明出发,在选定的开发平台上编写代码,实现系统。

●关键子过程1)遵照软件概要设计规格说明建立数据库。

2)遵照软件详细设计规格说明编写程序代码●此阶段需要提交的文档软件源程序清单单元自测记录六测试测试分为两个阶段:首先进行单元测试,然后进行系统测试。

测试人员原则上由非本项目的编码人员组成。

单元测试主要对功能和性能以及故障和异常情况进行测试。

系统测试是基于系统的功能,性能,可用性,兼容性,安全性等方面进行测试。

●目标寻找软件与需求、设计等方面的不一致性●关键子过程首先拟订测试计划;进行测试,测试的过程中,需要进行测试记录;测试完毕需要进行测试总结。

●此阶段需要提交的文档有:(1)测试计划:详细指出测试计划,测试管理,测试评价以及测试用例。

由测试组组长提交。

(2)测试记录:准确详实的记录测试过程中的现象和状态。

由测试组提交。

(3)测试报告:对测试结果和出现的问题进行总结分析,以及相关的处理建议。

由测试组组长提交(4)测试用例说明书:详细列出功能测试用例,性能测试用例,故障和异常测试用例。

此说明书由测试组提交。

七运行测试完成后,将产品上线运行前,需要做一些辅助性的工作:建立用户手册,建立系统管理员手册。

主要的任务是将产品安装交付客户。

此阶段需要提交的文档包括:(1)用户手册:详细说明如何使用系统,目标对象是系统的操作人员。

又文档助理提交。

(2)系统管理员手册:详细说明系统运行环境,参数设置等。

由文档助理提交。

(3)安装报告单:报告安装状态,如安装路径等内容。

由安装人员提交。

(4)系统问题报告:报告系统在试运行期间发现的问题以及解决办法。

由问题发现人及项目负责人共同提交。

八项目结项系统在试运行并经过客户认可后,客户验收并同意接受系统,此时,需要做的工作就是将相关的文档资料提交给客户。

作为部门内部,需要做相关的总结与经验提取,以利于本部门的经验的学习和积累。

此阶段需要提交的文档包括:(1)项目文档交付清单:指明交付给客户的文档资料。

由文档助理提交。

(2)项目验收报告:指明项目验收情况。

由项目负责人和事业部的项目负责人共同提交。

(3)项目负责人总结:由项目负责人提交(4)项目总结报告:对项目的进度,质量以及未尽事宜做总结描述。

由项目负责人提交(5)项目组成员总结:由项目组的每个成员提交。

总结成员自己在本项目中的工作以及学习情况。

相关主题