信息系统开发方法

常用的开发方法包括:

①结构化方法

②面向对象方法(使用最多的)

③原型化方法

④面向服务的方法

一、结构化方法

由结构化分析(SA,Structure Analysis),结构化设计(SD,Structure Design),结构化程序设计(SP,Structure Program)三部分组成。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐步求精,模块化设计。即:把一个系统分成几个模块,然后每个模块设计具体怎么实现。

 所以叫自顶向下(从一个系统,往下分成多个模块),逐步求精(一点点细化),模块化设计(把一个系统分成几个模块,具体设计每个模块)。

适用于数据处理领域,但不适应规模较大、复杂的系统开发。缺点:

1.开发周期长(由于结构化的周期是比较长的,用户到最后交付的时候才看到结果,如果需求有偏差,或者错误理解的东西,到项目的最后阶段才能发现)

2.难以适应需求变化(客户的需求变化是比较快的,结构化方法不能及时适应去调整)

3.很少考虑数据结构(结构化开发方法是面向数据流的,按照业务流程,转换成数据流,这一步是什么数据流,流转到下一步是什么样的,注重的是系统功能分解,兼顾数据结构方面不多。就涉及一个问题,结构化分析完之后SA,到结构化设计阶段SD,这个转换比较困难)。

基于这些缺点,现在很少再用结构化开发方法了。

二、面向对象方法

面向对象的方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。

面向对象=对象(Object)

      +类(classification)

      +继承(inheritance)

      +通信(communication with messages)

采用这四个概念开发的软件系统是面向对象的。

------------------太熟了,随便看看就行 start----------------

1.对象(object)

属性(attribute)用来描述对象的静态特征。

张三,有姓名,有年龄,有性别,这些就是属性。

操作(operation)(方法或服务)规定了对象的行为,表示对象能提供的服务。

张三要吃饭、上课、打球,这些动态的行为,就是操作。

2.类(class)

类是一组具有相同属性和相同操作的对象的集合。

一个类中的每个对象都是这个类的一个示例(instance)

类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。

3.继承(inheritance)

集成是指特殊类(子类)的对象拥有其一般类(父类)的全部属性与服务。

父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承其父类(或祖先类)的属性和操作,还可以对父类(或祖先类)中的操作重新定义其实现方法。

如果一个子类只有唯一一个父类,这个继承成为单一继承。

如果一个子类有一个以上的父类,这种继承成为多重继承。(java没有多继承,但其他语言有)

4.多态

多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。

------------------太熟了,随便看看就行 end----------------

5.消息

 消息传递是对象间通信的手段(一个对象和另一个对象时孤立的,他们通过消息来产生联系),一个对象通过向另一个对象发送消息来请求其服务(客户端是一个对象,百度网站是一个对象,我们发送消息请求百度网站,获取网页)。一个消息通常包括接受对象名、调用的操作名和适当的参数(如果有必要的话)。

消息只告诉接受对象需要完成什么操作(比如,我们要请求web服务),但并不指示接收者怎样完成操作(我们不用操心接收者服务器如何执行这个消息产生结果)。消息完全由接收者解释执行。

三、原型化方法(快速原型法)

客户不能明确指出他要什么需求,我们建个原型,在原型上讨论系统是什么样的。讨论完了再根据这个需求去做系统。比如国家要造飞机,不可能直接造一个,再在飞机的基础上修改。而是,先造一个模型,在这个模型的基础上修改、讨论,当确定了之后,再根据这个模型造真正的飞机。

水平原型:给客户看建好的原型,给客户看,客户哪里不满意了,再做修改,在需求讨论中起到一个导航的作用。

垂直原型:对某个技术点没有把握,做个垂直原型,讨论下技术的实现。验证这个点能否实现。

抛弃型原型:用来验证需求的,让用户指出哪些是他需要的,哪些是需要改的。用户指出确定点和需要修改的地方之后,我们把原型扔掉,按照需求重新开发一个系统。

演化型原型:在原型的基础上不断的完善改进,这个原型最终演化为客户需要的产品。

 上图:不停的和用户交流,让用户决定哪些功能需要,哪些不需要。

 上图:它和结构化开发是不同的,原型化的方法是适应用户需要的。

    原型如果建立过程时间很长成本很高,就不适用这种开发模式了。因为原型本身就是为了明确需求,需要快速完成。

    原型法需要相关人员掌握画原型的技术,熟练使用原型工具。

四、面向服务的方法

比如,在学校有很多项目,图书管理项目、后勤管理项目、学生信息系统等,但这些项目之间没有关系,这些系统之间是一个一个的孤岛,他们的数据无法共享的。比如,一个学生要转学,我们要在每个系统里处理和他有关的,他的图书卡、饭卡押金、后勤住宿押金等。如何把这些系统整合起来呢。我们可以采用面向服务的方法。把每个系统当成服务封装起来,对外提供统一标准的接口,服务之间只要通过接口调用,就这样系统之间就可以交互数据了,我们把这种方法叫做面向服务的方法。

原文地址:https://www.cnblogs.com/mySummer/p/14422233.html