软件开发基础知识

一:关于软件开发模型

1. 什么是软件开发模型

         软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架

2.有哪些类型        

         2.1. 边做边改模型(Build-and-Fix Model) 缺点:需求不明,开发难;缺少规划和设计以及文档,维护难

         2.2. 瀑布模型(Waterfall Model)是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的(从一个阶段“流动”到下一个阶段);  缺点:文档驱动 系统可能不满足客户的需求。

         2.3. 快速原型模型(Rapid Prototype Model): 迅速建造一个可以运行的软件原型      缺点:关注满足客户需求 可能导致系统设计差、效率低,难于维护

         2.4. 增量模型(Incremental Model):把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件   缺点:待开发的软件系统需要能被模块化。

         2.5.螺旋模型(Spiral Model):采用一种周期性的方法来进行系统开发,强调风险分析;特别适用于庞大、复杂并具有高风险的系统   缺点:风险驱动 风险分析人员需要有经验且经过充分训练

         2.6.演化模型(evolution model):属于迭代开发方法;实际上就是从初始的原型逐步演化成最终软件产品的过程,特别适用于对软件需求缺乏准确认识的情况。

         2.7.喷泉模型(fountain model):是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。缺点:在开发过程中需要大量的开发人员,不利于项目的管理。

         2.8.智能模型(四代技术(4GL)):也称为“基于知识的软件开发模型”,它把瀑布模型和专家系统结合在一起,利用专家系统来帮助软件开发人员的工作。

         2.9.混合模型(hybrid model):把几种不同模型组合成一种混合模型

         2.10.RAD(快速应用开发)模型:是一个增量型的软件开发过程模型。强调极短的开发周期。

 二:面向对象

    1. OOA: Object Oriented Analyzing, 面向对象分析

    2. OOD: Object Oriented Design  面向对象设计

    3. OOP: Object Oriented Programming  面向对象编程

          三者之间的联系: http://www.jianshu.com/p/224d8fc4d0f0

三:面向对象设计(OOA)的基本原则,以及常用的数据结构与算法

    1. 面向对象设计的基本原则         

            (1) 单一职责原则(SRP):一个类,最好只做一件事,只有一个引起它变化的原因(低耦合、高内聚)
            (2)
开放封闭原则(OCP):原则的核心;对扩展开放,对修改封闭的;实现开放封闭原则的核心思想就是对抽象编程,而不对具体编程
            (3)
里氏替换原则(LSP):子类可以替换父类并且出现在父类能够出现的任何地方;实现的方法是面向接口编程
            (4)
依赖倒置原则(DIP):其核心思想是:依赖于抽象;具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象
            (5)
接口隔离原则(ISP):使用多个小的专门的接口,而不要使用一个大的总接口。分离的手段主要有以下两种:委托分离/多重继承分离(较好)

     2.数据结构          

           a.什么是数据结构

                        数据结构具体指同一类数据元素中,各元素之间的相互关系,

               b. 组成

                        数据的逻辑结构:包括集合结构,线性结构,树形结构,图形结构

                        数据的存储(物理)结构: (又称映像),包括 顺序、链接、索引、散列

                        数据的运算结构:包括检索、插入、删除、更新和排序

               c.常用结构

                        线性表( 数组,链表),栈,队列,树,图,堆,散列表

           参考:http://blog.jobbole.com/110835/       http://www.jianshu.com/p/230e6fde9c75

 

 

     

posted @ 2017-07-11 09:17  青语  阅读(1900)  评论(0编辑  收藏  举报