软件开发流程简析

2016-06-16 20:24向一丁
电脑知识与技术 2016年10期
关键词:总体设计需求分析

向一丁

摘要:该文通过学生案例来实现软件项目开发的几个阶段,对每个阶段进行了简要的阐述和分析,并一步步对读者进行引导,以其能方便快捷弄懂软件项目开发的流程。

关键词:远程考试;需求分析;总体设计;详细设计

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)10-0102-02

随着计算机网络,通信及电子技术的快速发展,人们的生活水平得到了明显的提高,科学技术水平也得到了更进一步的改善,人们的家居环境进入了智能化时代,最突出的是在计算机方面。但是在这方便快捷的智能化生活背后,有无数科研工作者付出了辛苦的劳动,他们对一些复杂的数据进行采样分析,实验并投入应用,创造了大量的社会价值,因为前期艰辛的付出造就了今日的社会的进步发达。本文就计算机领域软件技术的发展进行简要的阐述和分析,计算机技术的发展离不开硬件和软件,在此,作者就计算机软件谈谈个人看法和观点。现今,我们常用的编码软件有Java、C、C#,算法描述的知识有如数据结构,系统化的软件项目开发可以用到软件工程等方面的知识。

软件是由计算机文档和程序设计的概念发展演化而来的,是在文档和程序设计发展到一定规模并且逐步商品化的过程中形成的。软件开发经历了用户需求阶段、软件设计阶段和软件开发阶段的演变过程。是我们生活中不可缺少的东西,许多工作都会涉及软件的应用,软件渗透了大量的脑力劳动,也锻炼着软件开发者的逻辑思维能力和编码水平,软件无时无刻不用于我们的生活中,所以个人觉得软件开发者是很伟大的,给我们的生活带来乐趣,带来便利。软件开发是根据用户要求建造出系统或者系统中的软件部分过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。

然而《软件工程》课程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的科学。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在学习《软件工程》课程的过程中,同学们听起知识点会觉得很迷茫,也许并不知道老师在讲什么,因此在教学过程中一方面要突出教,一方面要突出学,教师采用有意义的案例进行讲授,学生跟着老师思路走的同时融入自己的思考,带着问题进行知识的探索,同时可以利用丰富的网络资源,进行知识的整合和再利用。教师授课过程中,可根据教学班同学情况的不同而进行如分组教学模式,让同学们模拟开发团队,并分别在团队中承当相应角色,开始设计开发项目,整个项目流程由老师引导,不干预学生选题、需求、设计、代码及测试一系列工作,让同学真实做到教中学,学中教,理论和实践相结合的模式。学生在项目开发过程中会遇到很多问题,教师可以给予引导,参考意见,但不建议给予实质帮助。通过一系列工作,一学期结束后,同学们学到的不仅仅是理论知识,还有提高了实践动手能力,培养了团队意识,有了创新的概念,也正符合现阶段人才培养的需求和目标,即培养创新创业型人才。

软件工程作为一门动态的学科,它的更新速度远远快于其他任何专业,若想在这瞬息变化的技术世界中站稳脚跟,需要切实了解其发展过程和技术本身,并随时关注它的前沿技术以及未来的发展趋势,比如现在的云计算技术等。为了更好地了解软件技术的特点、发展进程以及未来趋势,需从软件工程这门学科和技术出现的背景出发。本文以远程考试系统为例,对软件工程项目开发做个简要分析。

远程考试系统是一个基于数据库和Web的远程在线实时测试系统。首先我们从可行性方面进行着手,然后讨论它的需求分析,到方案的设计和代码编写,以及测试和维护整个流程。

1 可行性研究

当用每种考核方式时,都是为了检验学生把握知识的程度。由于Web方式的远程考试跟传统比较考试会有所不同,传统考试的中心是人,评判的对象也主要是人,具备较好的灵活性,但是对于根据Web的考试,虽然考试的主体也是人,但评判的主体通常都是计算机自动进行的,所以在灵活性方面稍加缺乏。因此,这个优缺点也比较明显。一方面,传统的考核模式具备超强的灵活性,考生答题时便可以获得更多的自由度,与根据Web的考试比较而言就显得严格了。另一方面,由于无人为的干扰,根据Web的考试,能够利用题库进行,随机选题的方法,在试题上具有更高的客观性。

2 需求分析

2.1系统组成

该系统从功能逻辑上大体划分以下系统四个部分:

1)考试系统:该系统可供考生参加在线测试,同时并能完成一些辅助功能。

2) 批阅系统:该系统能够批阅试卷,查看分数,统计成绩,管理试卷等功能。

3) 管理系统:管理系统能对系统中的用户信息和试卷进行管理,并具增删查改功能。

4) 题库系统:题库管理系统主要用于试题库的维护。 同时还可以定义考试中的试题模板,让管理系统根据此模板自动生成试卷。

2.2 模块划分

将该系统模块大体划分为以下几个部分:

1)考生

该模块主要有注册、修改、删除考生信息等功能。考生通过注册,生成准考证号和密码,并打印考试通知给考生,考生可凭准考证号和密码参加考试。

2) 试题

考试科目的设置,试题的录入、修改和删除通过试题模块进行操作。通常情况下由系统管理员通过远程操作,以维护试题库中的试题、答案、得分设定等。

3) 答题

该模块可以生成试卷、显示且引导考生完成整个考试,并记录考生答题状态。同时还应设置倒计时系统,用于提示考生的考试剩余时间,并突出显示以提醒考生。也可根据计时系统在时间到点时同时锁定以及终止考试。

4) 阅卷

自动阅卷系统的功能是将考生答卷状况与试卷库中标准答案与之比较,显示每一题的成绩与总成绩,最终输入成绩单。

5) 查询

该模块为考生提供查询成绩、考试日期等查询功能。

3 详细设计

3.1 开发工具与环境

远程考试系统是在Internet的Web页面中进行的,因此,所有的开发工具必须支持Web。

1)Web应用软件,对于Web的开发环境,有较多的选择,目前国内比较流行的Dremaweaver各版本就是其中之一。

2) web开发环境,必需要有IIS服务。

3) 数据库系统,目前基于Web的数据库系统可采用Access、SQLServer、MySql、Oracle

上述是个简单的项目开发过程,涉及了软件项目开发的前期和中期,在代码完成后需要进行测试以及提交给用户验收。因此,我们可以得出一个结论,即开发任何一个系统,都应该先掌握与项目有关的信息和资料,不能盲目的无目标的去开发,全方位的了解它,才能更好地进入开发流程,完善系统的不足。

综上所述,软件项目建设流程每一步都很重要和关键,当然还少不了对软件项目进行后期的维护。软件是现代科学技术发展的产物,随着其规模和复杂性的提高、使用范围的扩大,需要从技术和管理两方面对软件的开发过程进行控制,本质是希望软件系统的开发变得像工程学科中的产品生产一样。通过一系列的标准和规范,利用科学的技术、方法、工具和管理手段,以较低的成本获得较高的质量并具有可维护性好的软件产品。软件为我们的生活提供了太多的方便,希望未来,软件工程发展也越来越好,越来越被人们所熟知。

科学在进步,时代在发展,人类将会学习更多的东西,才能保证不被社会所淘汰,并利用所学知识开发出许多的项目,这些项目对国家、对人们的 生活都会起着非常大的作用,给人们的生活带来便利,省时省力,对人们而言,这些都是不可或缺的。

参考文献:

[1] 张海潘.软件工程[M].北京:人民邮电出版社,2002.

[2] 郑小发.软件工程技术[M].北京:中国传媒大学出版社,2011.

[3] 付雯.软件工程技术[M].北京:机械工业出版社,2013.

[4] 刘强.“软件工程”课程教学改革的探索与实践[C].全国高校软件工程专业教育年会论文集,2007.

猜你喜欢
总体设计需求分析
SSP15A干湿分离减量成套设备总体设计
大型简体自动化装配对接装备总体设计
地下互通立交总体设计研究
大学师生需求发展分析
基于UML技术的高校贫困生管理系统建模分析
圆坯连铸机总体设计及其软件系统的研究与开发
水下控制模块总体设计的研究
圆环塔斜拉桥总体设计