大数据-----软件开发模型(详细讲解)

大数据学习免费学习资料(免费教程)

软件工程中,常用的开了模型有四种:瀑布模型、原型模型、增量模型和螺旋模型。

⒈瀑布模型包括计划,需求分析、设计、编码、测试、运行维护六个阶段,阶段自上而下,相互衔接,次序固定。瀑布模型具有很强的顺序性和依赖性,即:下一阶段必须以上一阶段的完成为前提。测试工作是在处于开发后期的测试阶段集中进行的,测试中可能发现大量的错误,因此必须返回需求分析、设计或编著码中定位问题,而以前认为已完成的各阶段必须修改,从而代价昂贵。

⒉原型模型的主要思想是先通过需求分析并建立一个软件系统的概貌原型,通过用户与开发者的评价和判断,不断的对原型进行反复的扩充、改进和求精,最终建立符合用户需求的目标系统。开发过程中可能会多次生成更完善的原型,测试人员要对每个原型进行测试,并且在每个原型中投入的工作量及测试目标也将有所不同。

⒊增量模型是软件企业在面对紧迫的市场限期时常用的开发模型。其思路是:既然不可能一下推出一个功能完善的软件,那就先推出一个具有最迫切需要功能的版本,然后渐进地增加功能开发逐步完善的软件版本。

⒋螺旋型开发模型结合了瀑布模型和原型模型的特点,并且加入了二者所忽略的风险分析。

螺旋模型的每个周期都包含制定计划,风险分析、实施工程和评审四个阶段。开发过程每迭代一次,螺旋线就增加一周,软件开发前进一个层次,系统生成一个新版本,软件开发时间与成本又有新投入,最后得到 一个用户满意的软件版本。

“一个有效的企业架构(Enterprise Architecture,EA)对企业的生存和发展具有决定性的作用,是企业通过IT获得竞争优势的不可缺少的途径。“以技术领域划分又涉及:

高并发原则(无状态,服务化,拆分,队列机制,并发),

高可用原则(降级,限流,回滚,灾备恢复),

业务设计(幂等设计,防重设计,流程可定义,状态与状态机,文档与注释,后台系统自动化与审批化),

高可用设计(负载均衡与反向代理,隔离(线程隔离,进程隔离,集群隔离,机房隔离,读写分离,动静分离,爬虫、热点隔离,资源隔离)),

限流设计(限流算法,分布式限流,接入层限流,应用限流),

降级设计(自动降级,手动降级,读写降级,多级降级,熔断降级),

超时去重设计(代理层超时,web容器超时,中间件超时,持久层超时,业务端超时,前端通讯超时),

回滚机制(事务回滚,代码回滚,部署回滚,数据版本回滚,静态资源回滚)

压测及预案(线上压测,线下压测,应急预案,灾备预案),

缓存设计(堆缓存,磁盘缓存,分布式缓存,多级缓存,应用缓存,缓存服务化),

连接池(数据库连接池,爬虫连接池,线程池),

异步并发(异步callbackk,异步future,异步web),

扩容设计(单体垂直和水平扩容,应用拆分,服务拆分,数据库拆分,前端拆分)

队列设计(缓冲队列,任务队列,消息队列,请求队列,总线队列,混合队列)等。但是显然基于个人擅长点所组织的架构不是好的选择,因此在此简介业务评测比较好的TOGAF(开放组织架构体系,百度百科),其中华为,甲骨文,IBM等企业已经使用该模型。

开放组体系结构框架(TOGAF)是一个行业标准的体系架构框架,它能被任何希望开发一个信 息系统体系架构在组织内部使用的组织自由使用。TOGAF 企业版v8 是为开发企业架构 的一个详细的方法和相关支持资源的集合。

开放群组企业架构框架,有4 种被接受为企业架构的子集的架构,TOGAF 都支持:

业务架构

定义了商业策略,管理,组织和关键业务流程。

应用架构

这种结构为待配置的个人应用系统提供一个蓝图,从他们的交互,他们的关系到该组织核心的业务流程。

数据架构

这个描述一个组织逻辑的和物理的数据资产和数据管理资源的结构。

技术架构

它描述了支持核心部署和关键任务应用的软件基础设施。这种软件有时也叫做中间件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python response[200_python – django上的代码200 httpresponse

我正在进行服务基本登录,我需要在Django视图中回答代码200和JSON,但我不知道这是否是使用HttpResponse库的正确形式?def Login(email,password):UserCUser()if User.is_valid(email,password) :userUser.find(email)datos[Id] str(user[Id])datos[Name] user[Name…

C#中struct和class的区别详解

本文详细分析了C#中struct和class的区别,对于C#初学者来说是有必要加以了解并掌握的。 简单来说,struct是值类型,创建一个struct类型的实例被分配在栈上。class是引用类型,创建一个class类型实例被分配在托管堆上。但struct和cla…

python面向对象编程的语言_怎么使用python面向对象编程

怎么使用python面向对象编程发布时间:2020-08-25 13:42:19来源:亿速云阅读:89作者:Leah本篇文章给大家分享的是有关怎么使用python面向对象编程,小编觉得挺实用的,因此分享给大家学习,希望大家阅…

软件测试计划时要记住什么

测试计划是软件测试生命周期的早期阶段之一。良好的计划是平稳执行阶段的关键,而糟糕的计划可能导致不必要的时间消耗。测试用例编写,资源分配等是作为测试计划的一部分执行的一些活动。 在规划过程中应注意并注意一些关键点,以避免将冗余问题…

ssm框架搭建连接mysql_从零开始搭建SSM框架(Spring + Spring MVC + Mybatis)

最近在回顾和总结一些技术,想到了把之前比较火的 SSM 框架重新搭建出来,作为一个小结,同时也希望本文章写出来能对大家有一些帮助和启发,因本人水平有限,难免可能会有一些不对之处,欢迎各位大神拍砖指教&am…

基于TFS实践敏捷-可视化管理

TFS是基于微软平台一套不错的系统,支持源码管理运行调试持续集成自动化测试Bug管理代码评审任务项管理文档管理沟通管理。 基于TFS 2015实践看板管理,让团队的数据可视化,让大家更多的关心产品、关注团队的努力,增强沟通、及时反映…

linux查看java版本_linux 查看java版本

inux查看java jdk安装路径和设置环境变量windows:set java_home:查看JDK安装路径java -version:查看JDK版本linux:whereis javawhich java (java执行路径)**echo $JAVA_HOME****echo $PATH**二:下面是配置linux的环境变量:(记得so…

[转载]基于TFS实践敏捷-修复Bug和执行代码评审

本主题阐释了这些功能,以继续这一关注虚拟敏捷团队成员的一天的教程。 Peter 忙于编写一些代码以完成积压工作 (backlog) 项任务。但是,他的同事发现了一个阻碍他们工作的 Bug,他想立即修复此 Bug。 他暂停了手中的工作并修复此 Bug。 他请求…

lzw压缩 java_java实现的LZW 压缩算法源码 | 学步园

导读:/** LZW.java** Created on 01 Dec 2005** Implementation of LZW compression/decompression algorithm*/import java.io.* ;/**** author Moshe Fresko* courseAlgorithmic Programming 1* exercise3*/public class LZW implements Compression{boolean stop…

单元测试入门

https://docs.microsoft.com/zh-cn/visualstudio/test/getting-started-with-unit-testing?viewvs-2019 使用 Visual Studio 定义和运行单元测试,使代码保持正常运行、确保代码覆盖率并在客户之前找到错误和缺陷。 经常运行单元测试,确保代码正常运行。…

java中乐观锁_Java中乐观锁与悲观锁的实现

锁(locking)业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生…

.net开源框架简介和通用技术选型建议

.net体系 .net core .net 类库 asp.net mvc asp.net webapi asp.net core EF 跨平台和运行时解决方案(解决方案) Katana:微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等。 MONO.NET:跨平台的.NET运行环境,让.NE…

JAVA 2048源码_java实现2048游戏源代码

本文实例为大家分享了java实现2048游戏源代码,供大家参考,具体内容如下一.主要功能:1、游戏初始化:新建游戏44的16宫格画布,随机格子上生成2或者4两个数字2、格子的移动:先判断能否移动,移动后判…

.Net开源的跨平台爬虫框架 DotnetSpider

项目详细介绍 DotnetSpider是开源的.NET跨平台数据采集爬虫框架。需要 Scheduler,Downloader ,Processor,Pipeline 四部分。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39…

开源干货!.NET Core + Vue.js通用动态权限(RBAC)管理系统框架[DncZeus]开源

DncZeus 前言 关于 DncZeus DncZeus Dnc Zeus "Dnc"--.Net Core 的缩写; "Zeus"--中文译为宙斯,是古希腊神话中的众神之王,奥林匹斯十二主神之首,统治宇宙万物的至高无上的主神(在古希腊神…

浏览器使用java_java如何调用本地的浏览器

1.调用本地的浏览器 import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;public class UseBrowser {public static void main(String[] args) {URL url null;try {url new URL("http://www.baidu.com");} catch (MalformedURL…

java input函数怎么用_Java函数习惯用法详解

在Java编程中,有些知识 并不能仅通过语言规范或者标准API文档就能学到的。在本文中,我会尽量收集一些最常用的习惯用法,特别是很难猜到的用法。我把本文的所有代码都放在公共场所里。你可以根据自己的喜好去复制和修改任意的代码片段&#xf…

十大开源的.NET用户界面框架 让GUI设计不再犯难

选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户。好的UI更能吸引用户,有时甚至成为决定一款应用成败的关键。下面小编整理出十大应用最广泛.NET开源用户界面框架&am…

mysql一对一级联_MySQL 表的一对一、一对多、多对多问题

将实体与实体的关系,反应到最终数据库表的设计上,将关系分为三种:一对一,一对多(多对一)和多对多,所有的关系都是表与表之间的关系;一对一一对一:一张表的一条记录只能与另外一条记录进行对应,反…

.Net开源框架列表

API 框架 NancyFx:轻量、用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台。官网ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛用于多种不同的客户端,包括浏览器…