内容正文:
2.2 信息系统的开发过程
学习目标
了解信息系统的生命周期和大体开发过程
初步体验信息系统的大体工作过程
意识到搭建信息系统的背后隐含了很多开发工作,增强对信息系统开发人员的尊重。
体验探索
你的身边有监控吗?在你的生活中,有哪些地方有监控?它们的作用是什么?搭建类似的监控系统背后隐含了哪些开发工作?
2.2.1 信息系统开发的四个阶段
2.2.1 信息系统开发的四个阶段
系统运行与维护
系统分析
系统设计
系统实施
可行性研究
系统生命周期
系统维护与更新
系统上线运行
2.2.1 信息系统开发的四个阶段
系统分析
系统分析的作用就是明确信息系统需要解决的问题。
系统开发的背景、系统的目的与需求、队伍组建、行动规划等。
总体来说此阶段要获得以下信息:为什么要做这个项目;目标是什么;有什么人员角色参与;各自的职责是什么;资金是否充足;开发计划是什么;开发过程中遇到问题该如何解决?
2.2.1 信息系统开发的四个阶段
系统设计
系统设计的目的就是回答系统如何做出它该做的事情。
根据系统方案设计出系统的物理模型,包括系统总体结构的设计、输出设计、输入设计、处理设计、数据库设计、远程通讯设计等
2.2.1 信息系统开发的四个阶段
系统实施
系统实施阶段需要安装软硬件并调试,然后初步运行系统。
主要目标:将设计阶段的结果在计算机和网络上具体实现
主要任务:配置系统运行的硬件环境、配置系统的软件以及对使用者的培训
2.2.1 信息系统开发的四个阶段
系统运行和维护
系统开始运行后,需要对系统进行定期维护。
除了要掌握系统使用方法,还要设计一套行之有效的运行和维护方案
为了是系统充分适应人和环境的变化,满足新的需求,还要及时对系统进行局部改造升级,还要生成系统运行日志和检查记录。
2.2.1 信息系统开发过程模型
瀑布模型
早期的系统开发模型,也称生命周期模型。分为三个时期,形如瀑布流水,最终得到软件产品。
1)为项目提供了按阶段划分的检查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。
4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4)瀑布模型的突出缺点是不适应用户需求的变化。
2.2.1 信息系统开发过程模型
快速原型模式
迅速建造一个可以运行的软件原型 ,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。
优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
这种模型适合预先不能确切定义需求的软件系统的开发。
缺点:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。
2.2.1 信息系统开发过程模型
演化模型
第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……
1)任何功能一经开发就能进入测试以便验证是否符合产品需求。
2)帮助导引出高质量的产品要求。如果没有可能在一开始就弄清楚所有的产品需求,它们可以分批取得。而对于已提出的产品需求,则可根据对现阶段原型的试用而作出修改。
3)风险管理可以在早期就获得项目进程数据,可据此对后续的开发循环作出比较切实的估算。提供机会去采取早期预防措施,增加项目成功的机率。
4)大大有助于早期建立产品开发的配置管理,产品构建(build ),自动化测试,缺陷跟踪,文档管理。均衡整个开发过程的负荷。
5)开发中的经验教训能反馈应用于本产品的下一个循环过程,大大提高质量与效率。
6)如果风险管理发现资金或时间已超出可承受的程度,则可以决定调整后续的开发,或在一个适当的时刻结束开发,但仍然有一个具有部分功能的,可工作的产品。
7)心理上,开发人员早日见到产品的雏型,是一种鼓舞。
8)使用户可以在新的一批功能开发测试后,立即参加验证,以便提供非常有价值的反馈。
9)可使销售工作有可能提前进行,因为可以在产品开发的中后期取得包含了主要功能的产品原型去向客户作展示和试用。
缺点
1)如果所有的产品需求在一开始并不完全弄清楚的话,会给总体设计带来困难及削弱产品设计的完整性,并因而影响产品性能的优化及产品的可维护性。