好的,咱们来聊聊信息系统开发的那些事儿。这章内容主要是概念性的,得多看几遍,记记笔记,理解了就好。咱们主要聊的是信息系统开发方法,软件产品线,软件复用,还有逆向工程这些东西。
首先,咱们得知道结构是啥意思。简单来说,就是系统里面各个部分怎么联系、怎么互动的一个框架。
然后,咱们说说结构化方法,也就是生命周期法。这个方法包括结构化分析、设计和程序设计三大块,核心思想就是从上到下,一步步细化,模块化设计。
结构化方法的特点有这么几个:目标清晰,工作分阶段,文档规范,设计结构化。说白了,就是面向过程,面向数据流。
但是,结构化方法也有不足,比如开发周期长,需求变化适应性差,不太考虑数据结构。
结构化方法的工具,主要是用图形来表达需求,比如数据流图、数据字典这些。
接下来,咱们聊聊面向对象方法。这个方法认为,世界是由各种对象组成的,每个对象都有自己的规律和状态,属于某个类。复杂的对象可以由简单的对象构成,这些对象的组合和互动就形成了系统。
面向对象方法的特点包括:系统复用性好,阶段界限不明显,适用于各类信息系统开发。
但是,面向对象方法也有局限,比如依赖特定的技术支持,大型项目开发上有所限制。
现在,很多大型信息系统开发,都是结合结构化方法和面向对象方法来做的。
原型化方法,就是快速原型法,根据用户初步需求,快速建立系统模型,然后交流,最终实现需求。
原型法可以分为水平原型和垂直原型,也可以分为抛弃式原型和演化式原型。
原型法的优点是可以缩短开发周期,降低成本和风险,提高用户满意度。但是,对开发环境和管理水平要求高。
敏捷开发,就是以人为核心,迭代,循序渐进的开发方法。它强调团队协作、面对面沟通、频繁交付新版本、自我组织型的团队,适应需求变化。
敏捷软件开发宣言有四点:个体和交互胜过过程和工具,可以工作的软件胜过文档,客户合作胜过合同谈判,响应变化胜过遵循计划。
结对编程、自适应开发、水晶方法、特性驱动开发、极限编程XP、并列争球法SCRUM,这些都是敏捷开发的具体实践。
最后,咱们说说软件产品线、软件复用和逆向工程。
软件产品线就是一系列产品,共享公共特征,满足特定领域需求。软件复用就是用已有的软件知识来建立新软件,提高生产力和质量。逆向工程就是分析程序,建立程序的高级别表示。
逆向工程有四个级别:实现级、结构级、功能级、领域级。领域级抽象最高,实现级抽象最低。
逆向工程相关的概念还有重构、设计恢复、再工程和正向工程。
好了,今天的分享就到这里。记得关注公众号:Coding-9527,一起学习,一起进步!
APP官网地址


