软件设计师10-系统开发模型

开发模型

开发模型是软件工程中指导开发的开发思想、开发体系。

经典模型-瀑布模型

最初始的模型,上个世纪七十年代提出,盛极一时,全球百分之九十的项目都用瀑布模型。

软件计划、需求分析、软件设计、程序编码、软件测试、运行维护。每个阶段都会有输出产物,是一个很经典的模式。但是每个阶段都依赖于上一阶段,不能应对客户需求变更

瀑布模型总结:只能适应于需求明确的项目,需求不明确的项目千万不能用瀑布模型

其他经典模型

原型模型

定位于需求不明确的项目。在项目初期会构造一个简易系统(可以是界面无后台功能,也可以是一套初步的系统)。一般用于需求分析阶段。

演变模型

在原型模型基础上,逐步完善逐步演变,形成最终的成熟软件。

增量模型

先把核心部分做出来,周期可能为完整项目的百分之二十,完成后又开发第二个模块、一个一个模块开发。好处就是,先把核心模块做完给用户看,以后每个模块给用户时都会审核核心模块,避免了做完项目后核心需求得改的情况。

螺旋模型

融合了原型模型(原始版本)、瀑布模型(各个阶段)、演化模型(逐步完善)各种模型。

引入了风险分析。

V模型

强调测试贯穿始终,在需求分析时就开始验收测试和系统测试,而不是像瀑布模式一样在最后进行测试。

喷泉模型

面向对象的模型,迭代,无间隙。

构件组装模型

极大提高软件开发复用性。

标准构建组装模型

敏捷开发

适用于小型项目,XP编程(极限编程)仅适用于小项目。敏捷开发(对内对外的沟通),功能简单(不需要过度设计)。

信息系统开发方法

需求开发

需求分类

业务需求

系统用来做什么,宏观方面的想法。

用户需求

和使用系统的人沟通,收集各个用户角度的需求。要把用户需求转换为系统需求。

系统需求

系统需求分为:功能需求(软件的功能)、性能需求(非功能需求:安全性、可靠性)、设计约束。

结构化设计

自顶向下,逐步求精

模块独立(高内聚、低耦合)

结构化具体方法

模块大小适中

减少调用深度(父模块调用子模块,子模块再调用其他模块叫调用深度)

模块多扇入,少扇出(多被调用,少调用其他模块,说明模块复用性比较高)

单入口,单出口

模块的作用域应该在模块之内

功能是可预测的

内聚与耦合

内聚:模块内部组件之间的联系

耦合:模块与模块之间的联系

模块结构

软件测试

动态测试

黑盒测试

白盒测试

灰盒测试

静态测试

桌前检查:程序员自己查看代码

代码走查:人工执行代码(逻辑在程序员的大脑里面跑一次)

代码审查:程序员之间交叉检查代码

设计测试用例

测试阶段

McCabe复杂度

系统运行与维护

立项阶段 -> 开发阶段 -> 维护阶段 -> 消亡阶段

可维护性

易分析性(代码需要容易看懂),易改变性(代码要有低耦合度),稳定性,可测试

维护类型

改正性维护:改正bug。

适应性维护:适应环境(软件环境,硬件环境)。

完善性维护:扩充功能,使系统更完善。

预防性维护:预防性工作(文档,代码重构,在bug未出之前改正,如00年的时间问题,提前升级叫预防性,事后叫改正性维护)。

软件过程改进 - CMMI

衡量软件承包方的能力成熟度模型。

项目管理

原文地址:https://www.cnblogs.com/aeolian/p/12015919.html

时间: 2024-10-07 09:32:37

软件设计师10-系统开发模型的相关文章

软件生命周期以及开发模型

一.软件生命周期: 可行性研究,需求分析(这两步是软件定义) 概要设计.详细设计.实现.集成测试.确认测试:属于软件开发 使用与维护.退役:维护. 二.软件开发模型: 1.以软件需求可完全确定为前提的瀑布模型 2.在软件开发初期只能提供基本需求所采用的渐进式开发模型如:原型模型.螺旋模型. 3.以形式化开发方法为基础的变换模型. 三.瀑布模型 1.主要思想:a.软件开发过程与软件生命周期一致 b.相邻二阶段之间存在因果关系 c.需对阶段性产品进行评审. 2.不足:a.缺乏灵活性 b.到最后阶段才

开发模型

系统开发模型: 即,系统架构,是指整合应用系统程序大的结构.经常提到的系统结构有两种:三层架构 和 MVC. 这两种架构,既有区别,又有联系.但是这两种结构的使用,均是为了降低系统模块间的耦合度. (便于开发时的分组) 传统的JavaWeb 项目的系统开发模型大体经历了四个阶段: 纯JSP ---> JSP+JavaBean 的Model1 --->MVC的Model2   ---> MVC+三层架构 1. 纯JSP “纯 JSP”开发模型中,将所有的业务处理.数据显示功能都交由JSP页

软件开发过程-------瀑布模型、原型模型、螺旋模型、敏捷开发模型

瀑布模型: 计划 → 需求分析 →  设计 →  编码 →  测试 →  运行维护 特点:①软件开发的各项活动严格按照线性方式进行.       ②当前活动接受上一项活动的工作结果.           ③当前活动的工作结果需要进行验证. 缺点:①由于开发模型是线性的,增加了开发的风险.           ②早期的错误可能要等到开发后期的阶段才能发现. 原型模型: 客户与开发公司紧密联系,开发周期长.开发会受到需求变更的影响. 特征:①实现客户与系统的交互. ② 进一步细化待开发软件需求. ③

软考-系统开发与软件project

关于软件project方面的知识,相信大家都不陌生,软考中这部分知识也是重点考察范围,关于软件project的知识点很的琐碎.我把这部分的知识点分成了五部分,各自是软件project的基础知识.开发管理.需求分析.软件设计.測试与维护. 1.第一部分介绍软件project的基础知识,它包含生存周期,开发模型,开发方法,重点要掌握几种开发模型的关联,这是软考中考频很高的知识点. 2.第二部分介绍开发过程中的项目管理.过程管理.和质量管理. 项目管理的知识点比較多.但也确实考点也多,大家要好好的看看

软件开发模型

作为一名程序员,开发过程就是一个最好的学习过程,在开发的过程中,不断寻找新的解决办法,学习新的开发技术,能更好的开阔我们的思路,让我们不断的进步. 临近毕业,着手准备毕业设计,我决定做一个在线考试系统,预计4月底完工,花费这么久来做这个项目,主要是因为,我要利用这个项目,将自己大学四年,学到的,没学到的东西 进行一次重新学习,第一站,软件开发模型. 软件开发模型(software development model)是指软件开发的整个过程,包括需求,设计,开发(写代码),测试,甚至是维护有时候也

软考 软件设计师 系统架构师 视频教程

软考介绍: 计算机技术与软件专业技术资格(水平)考试,简称计算机与软件考试,是由国家人力资源和社会保障部与工业和信息化部组织领导的国家级考试,目的是科学.公正地对全国计算机与软件专业技术人员进行专业技术资格.职业资格认定和专业技术水平测试. 系统架构师视频教程:http://item.taobao.com/item.htm?spm=686.1000925.0.0.vXgA34&id=42171953455 软件设计师视频教程:http://item.taobao.com/item.htm?spm

软件设计师考试(几种开发模式)转

原文转自 https://blog.csdn.net/zhangdong305/article/details/51451931 她可能也是转别人的不提了 软件考试要了解一下的吧!老特么记不住,心累呀!还有11天考试 瀑布模型 : 使用优点或者要求 1.里程碑或基线驱动. 1.开发阶段清晰,便于评审.审计.跟踪.管理和控制. 1.不可逆或很难可逆. 1.在开发时间内需求不变化或很少变化.2.分析设计人员对此领域非常熟悉. 3.低风险项目. 4.用户使用环境稳定(如系统软件,工具软件) 缺点 2.

【官方】千米红包系统开发 软件开发

千米红包系统开发系统软件开发问老何,平台的意义很广泛,也可以很狭隘,关键是要看如何方便我们实际生活工作中的沟通和对事物的理解. 目前中国移动社交呈现熟人社交为主,多维化社交快速发展的局面,其主要原因为:第一,熟人社交类应用发展时间较长,获取了大量的忠实用户;第二,熟人社交用户黏性强,用户参与积极性较高;第三,多维化社交通过与LBS相结合,为移动社交用户带来全新用户体验,吸引了用户的积极参与.因为多维化社交为用户提供更多的沟通与交流方式,可能成为移动社交的主流. 总的来说,千米红包本身是一款基于L

黑农瑞选系统开发软件APP

信息成本论到了现代的经济社会,信息的价值被逐渐认可提高,开始变成一种资源,部分观点表示,信息作为组织管理中的关键因素和核心要件,信息的价值不可忽视.由于信息不对称的情况存在,信息可以划分成完全信息及不完全信息.完全信息指的是在博弈论,全体参加者可以获取并得知全部剩余参加者的所有信息,了解全部详情和细节,完全避免了不确定的因素,可以说是百分百的一种形式. 黑农瑞选系统开发案例丨T:l8O.V2854.电8832吴丨.黑农瑞选商城开发,黑农瑞选APP开发,黑农瑞选软件开发,黑农瑞选搭建平台开发,黑农