软件工程思想与ACCP项目实战的结合

时间:2022-11-16 08:20:49 硕士论文 我要投稿
  • 相关推荐

软件工程思想与ACCP项目实战的结合

  摘要:软件工程是一门综合性的学科,重点从软件开发技术和软件工程管理两个方面对软件的开发和维护进行研究。而ACCP项目实战是学生在校期间一个重要的综合性实践教学环节,是实现培养目标、培养学生专业工作能力、提高学生综合素质的重要手段。所以应结合ACCP项目实战对学生进行软件工程思想和能力的培养。

  关键词:ACCP项目实战;软件工程

  引言

  软件工程是一门指导计算机软件开发和维护的工程科学,它把软件当成一种工业产品,用工程化的方法和原理来进行软件的计划、开发和维护,对于培养学生的软件技能素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。ACCP项目实战是学生在校期间一个重要的综合性实践教学环节,是实现培养目标、培养学生专业工作能力、提高学生综合素质的重要手段。ACCP项目实战是开发一个具有一定实用价值的小型应用软件,这正是结合 ACCP项目实战对学生进行软件工程思想和能力培养的良好时机。

  1、瀑布模型的选定

  软件生命周期是软件工程中最基本的概念。通常把软件从开始计划起到最终被废弃不用这整个过程称为软件的生命周期。软件生命周期一般又可划分为若干阶段,不同的划分方法形成了不同的软件生存周期模型。瀑布模型将软件生命周期分为七个阶段,它们自上而下、相互衔接,如同瀑布流水逐级下落。

  ACCP项目实战中我们采用瀑布模型,是因为一方面瀑布模型非常适合需求明确的软件项目,ACCP项目实战的题目一般相对来说简单一些,需求很明确,不会出现开发过程中需求变动的情况,使用瀑布模型方便对开发过程进行控制和管理。另一方面是考虑到学校没有开设软件工程的课程,瀑布模型是最简单的开发模型,有利于向学生传授软件工程思想。下面对瀑布模型与ACCP项目实战结合后的流程进行说明。

  2、ACCP项目实战开发流程

  2.1 明确设计任务

  指导教师应在项目实战开始前将任务及时地下达给所指导的每一个学生,使学生明确自己所需完成的任务和要求,清楚ACCP项目实战规定的期限和ACCP项目实战的进度。

  2.2 查阅有关资料

  学生在教师指导下围绕课题任务查阅有关资料。从中了解目前的发展状况,熟悉方案设计所需的知识范畴,并为软件设计准备各种备查手册。学生根据对系统的认识及自身情况来进行重点学习。前期准备工作完成后再进人系统实质性的开发过程。

  2.3 需求分析

  需求分析是软件开发时期的第一步,也是关系到软件开发成败的关键一步。只有搞清楚用户对系统的要求才能够开发出符合用户需要的软件产品来。ACCP项目实战中指导教师一般给出了系统功能的总体要求,但系统详细的需求说明要求学生自己完成,通常采用下面的方法:

  (1)首先利用各种方法和技术,形成一份基本的需求规格说明,初步确定软件的用户界面、系统结构和数据库结构等。

  (2)开发一个简单的原型系统,将学生分为两组,分别扮演用户和分析员的角色,对需求规格说明进行验证。学生经常会忽视数据结构的设计与功能实现之间的内在联系,所以必要时,指导教师要指出问题所在,让学生对数据结构及功能进行优化组合。

  (3)根据发现的问题对原型进行修改补充。

  (4)重复上述过程,直到完善需求说明。

  如今,“软件=程序+文档”已是共识,文档在软件的开发中地位十分重要,而学生在校期间普遍注重编程能力的提高,很少涉及软件开发过程中各种文档的写作,所以在这个阶段,要让学生练习写出规范的SRS(需求规约)。相关的标准化组织都公布有软件工程中各种文档的模板,教师要指定一种标准,让学生按照标准的文档进行写作。一方面让学生锻炼软件开发文档的写作能力,另一方面让其体会、加深理解文档在软件开发中的地位。

  2.4 设计

  这一阶段在需求分析的基础上要求学生完成软件系统的总体设计、数据库设计、接口设计等,并编写设计说明书和数据库设计说明书。指导教师只关注总体设计,而不太关注底层的实现。这一步组织学生以小组的形式相互讨论,进行软件模块的划分,由教师根据各个学生的实际开发能力进行任务分配。学生要利用需求分析和软件系统结构的相关知识来建立计算机模型,使用UML等建模工具对系统进行分析和设计,画出硬件装置方框图和软件功能模块图,确定设计的重点、难点和解决方法。如果系统较复杂,可将设计过程分为概要设计书和详细设计两个阶段。

  2.5 编码

  这一阶段要进行代码的编写,实现各个模块、子系统的功能,列出程序清单。上一阶段的数据库设计说明书、概要设计说明书和详细设计说明书是编码的主要依据。

  2.6 测试

  运用软件工程学中所描述的测试方法和技巧对代码、子系统、模块进行单元测试、组装测试和系统连调。软件工程学中要求由与系统无关的第三方来进行测试工作,考虑到ACCP项目实战过程中资源与人力的限制,我们要求学生相互间为他人提供测试。

  但要让学生明白在现实软件开发中测试人员的知识和技能,特别是发现问题的能力,将为发现产品隐患、提高系统质量提供有益的帮助。

  (1)测试人员要仔细阅读规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲等有关资料,了解测试内容及测试准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。

  (2)将测试过程分成单元测试、集成测试和确认测试几个阶段,以保证测试的质量。

  这一阶段工作完成后要给出系统测试报告。测试阶段完成后,软件已经开发完成,可以进入运行维护阶段了。作为ACCP项目实战,程序开发活动完成,下一步将进入ACCP项目实战论文书写和答辩过程。

  2.7 撰写设计(论文)说明书

  ACCP项目实战说明书是ACCP项目实战成果的集中体现,需观点明确,文字精练,清晰地表达出设计思路和过程。

  2.8 审阅设计(论文)说明书

  由指导教师对设计(论文)说明书进行认真审阅并给出恰当的评语和评分。

  2.9 答辩

  学生针对自己的ACCP项目实战课题,对理论依据、设计思想、方案论证、立论结论、设计细节、调试方法、可行性、实用性、发展前景等诸方面进行论述,并回答答辩人提出的问题,完成ACCP项目实战的最后一环。

  3、讨论

  ACCP项目实战是学生对其所学知识的一次综合性检验,对学校教育和学生个人发展的重要性不言而喻。所以有必要在设计中引人软件工程的思想与方法,让学生体会、理解软件工程对软件开发的重要性,并通过实际应用掌握基本的开发方法。由于瀑布模型是最早出现的软件开发模型,具有缺乏灵活性的缺点,而且ACCP项目实战侧重检验学生掌握专业知识的程度,因此在项目实战中采用瀑布模型重点是让学生养成软件工程的思想,熟悉基本的软件开发流程。

【软件工程思想与ACCP项目实战的结合】相关文章:

市场营销专业项目实战式教学06-06

探析在项目教学中引入隐性分层教学的思想05-31

关于语文教学要与思想教育相结合08-11

谈谈实战训练在高校篮球教学的重要性05-23

软件工程论文题目06-05

谈“和而不同”思想中蕴含的伦理思想08-03

浅谈当前多元思想指导下的教学设计思想08-28

邹韬奋体育思想探析08-29

关于软件工程的历史与发展趋势04-26

软件工程毕业设计开题报告11-12