您的位置:首页 > 其它

软件开发基础知识

2017-07-11 09:17 281 查看

一:关于软件开发模型

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐