CMM模型,结构化开发方法和面向对象开发方法的比较,UML(统一建模语言),jackson开发方法
CMM模型
一、CMM简介
CMM,英文全称为Capability Maturity Model for Software,即:软件成熟度模型。
CMM的核心是把软件开发视为一个过程。它是对于软件在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。
根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好地实现商业目标。
分级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
优点:
1、提高软件开发的管理能力,因为CMM可提供软件公司自我评估的方法和自我提高的手段;
2、提高软件开发效率;
3、提高软件质量;
4、提高软件竞争力;
https://www.cnblogs.com/imyalost/p/7859824.html
结构化开发方法和面向对象开发方法的比较
结构化方法的基本思想主要体现在三个方面。
(1)自顶向下,逐步求精:把程序看成是一个逐步演化的过程。把一个系统与程序看成是一层一层的。例如:户籍管理系统可以划分为:户籍迁入迁出,人员迁入迁出,户籍注销,人员注销等几个子系统,而每个子系统又划分为接收用户信息,实施处理,提供返回信息等等部分。
(2)模块化:即将几个系统分成几个模块,每个模块实现特定的功能,最终整个系统由这些模块组成。模块跟模块之间通过接口传递信息,模块最重要的特点就是独立性,模块之间还有上下层的关系,上层模块调用下层模块来实现一些功能。
(3)语句结构化:顺序结构、分支结构、循环结构,都是常用的语句结构。
2、1结构化分析方法的特点
(1)面向用户,用户自始至终参与系统的分析工作;
(2)强调调查工作的重要性;
(3)对管理业务中的各种数据进行分解;
(4)采用了层次分解的系统思想;
(5)用图形工具来分析和构建新方案。
2、2面向对象分析方法的特点
(1)强调系统开发的整体性和全局性
(2)侧重于数据转换的过程而不是数据本身
(3)系统的开发周期长
(4)封装性
(5)继承性
(6)多态性
(7)易维护性
https://www.cnblogs.com/myHenryS/p/6218680.html
UML(统一建模语言):
什么是模型:是对现实世界的简化
建模:能够更好的理解正在开发的系统
通过建模达到下面的目的
1、模型有助于按照实际情况或按照所需的样式对系统进行可视化
2、模型能够规约系统的结构或行为
3、模型给出了构造系统的模板
4、模型对做出的决策进行文档化
对于一个复杂的系统,如银行、电信系统建模的重要性就越大。如果不能很好的理解一个复杂系统,盲目开发,失败的可能性很大。
统一建模语言(Unified Modeling Language , UML) 是一种绘制软件蓝图的标准语言,可以用UML对软件密集的制品进行可视化、详述、构造和文档化
1、可视化:清晰的模型有利于交流
2、详述:可以使用uml对分析、设计、实现等决策进行详细描述
3、构造:把uml描述映射成编程语言
4、文档化:系统的所有细节都可以是uml进行描述。如:项目计划、发布活动等
https://blog.csdn.net/qq_35409640/article/details/76794993
jackson开发方法
一:简介编辑
1975年,M.A.Jackson提出了一类至今仍广泛使用的软件开发方法。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可与其它方法结合,用于模块的详细设计。杰克逊结构图是用来描述数据结构中的顺序,选择和重复。
二:使用说明编辑
一般通过以下五个步骤来完成设计:
(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。
(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。
(3)按以下的规则由输入、输出的数据结构导出程序结构。
1)为每一对在输入数据结构和输出数据结构中有对应关系的单元画一个处理框。
2)为输入和输出数据结构中剩余的数据单元画一个处理框。
3)所有处理框在程序结构图上的位置,应与由它处理的数据单元在数据结构Jackson图上的位置一致。
4)必要时,可以对映射导出的程序结构图进行进一步的细化。
(4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。
(5)用伪码写出程序。
CMM模型,结构化开发方法和面向对象开发方法的比较,UML(统一建模语言),jackson开发方法的更多相关文章
- 第六章 Odoo 12开发之模型 - 结构化应用数据
在本系列文章第三篇Odoo 12 开发之创建第一个 Odoo 应用中,我们概览了创建 Odoo 应用所需的所有组件.本文及接下来的一篇我们将深入到组成应用的每一层:模型层.视图层和业务逻辑层. 本文中 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- 软工+C(2017第5期) 工具和结构化
// 上一篇:Alpha/Beta换人 // 下一篇:最近发展区/脚手架 工具/轮子 软件工程/计算机相关专业的一个特点是会使用到众多的工具,工具的使用是从程序猿进化到程序员的一个关键要素.软件工程师 ...
- 软工+C(5): 工具和结构化(重构中, part 1...)
// 上一篇:Alpha/Beta换人 // 下一篇:最近发展区/脚手架 目录: ** 0x01 讨论:工具/轮子 ** 0x02 讨论:结构/演进 ** 0x03 讨论:行为/活动 ** 0x04 ...
- webpack环境搭建开发环境,JavaScript面向对象的详解,UML类图的使用
PS:因为所有的设计模式都是基于面向对象来完成的,所以在讲解设计模式之前先来过一下面向对象都有哪些知识点 搭建开发环境 初始化npm环境 下载安装nodejs安装即可,nodejs自带npm管理包,然 ...
- Structured Streaming Programming Guide结构化流编程指南
目录 Overview Quick Example Programming Model Basic Concepts Handling Event-time and Late Data Fault T ...
- [AI开发]基于DeepStream的视频结构化解决方案
视频结构化的定义 利用深度学习技术实时分析视频中有价值的内容,并输出结构化数据.相比数据库中每条结构化数据记录,视频.图片.音频等属于非结构化数据,计算机程序不能直接识别非结构化数据,因此需要先将这些 ...
- cuSPARSELt开发NVIDIA Ampere结构化稀疏性
cuSPARSELt开发NVIDIA Ampere结构化稀疏性 深度神经网络在各种领域(例如计算机视觉,语音识别和自然语言处理)中均具有出色的性能.处理这些神经网络所需的计算能力正在迅速提高,因此有效 ...
- 【转】移动Web单页应用开发实践——页面结构化
1. 前言 在开发面向现代智能手机的移动Web应用的时候,无法避免一个事实,就是需要开发单页应用(Single Page WebApp).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用 ...
随机推荐
- SQL SERVER 微软下载地址
https://www.microsoft.com/zh-cn/search/DownloadsDrillInResults.aspx?q=sql+server+2012&cateorder= ...
- Tarjan的LCA离线算法
LCA(Least Common Ancestors)是指树结构中两个结点的最低的公共祖先.而LCA算法则是用于求两个结点的LCA.当只需要求一对结点的LCA时,我们很容易可以利用递归算法在O(n)的 ...
- Linux下cacti的安装
Cacti安装手册 第一步. Cacti的架构 第二步. Cacti的工作流程 第三步. Cacti简介 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用r ...
- laravel 模型关联之(多对多)
多对多 多对多就相当于一个专题Topic有多个文章,但是这多个文章又属于多个专题, 而且多对都必须有一个表是他们之间的关联关系表PostTopic Post表和Topic表之间没有直接的关联,而且通过 ...
- win7安装linux双系统
整体流程大概就是下载启动盘制作工具以及linux镜像,这些步骤网上很多,我就不再重复了 这里以centos举例说几个我踩到的坑吧 1.选择开始安装后提示 Warning: /dev/root does ...
- 【摘自大型网站技术架构书】负载均衡时session如何共享
由于负载均衡服务器可能会将请求分发到集群任何一台服务器上,所以保证每次请求能够获得正确的session比单机时复杂. 集群环境下,session管理的主要几种手段 1.session复制 sessio ...
- 关于ptrdiff_t
整除.opencv中的内存一般是通过malloc分配,不能保证都是都能被16整除,此时需要截断,但是剩下的内存要如何维护? CV2.0的这样维护的:在 malloc 是多申请一个指针的空间,这个指针指 ...
- Service和IntentService的区别
不知道大家有没有和我一样,以前做项目或者练习的时候一直都是用Service来处理后台耗时操作,却很少注意到还有个IntentService,前段时间准备面试的时候看到了一篇关于IntentServic ...
- 3.Hive中查看数据来源文件和具体位置方法
虚拟列 -- 当 hive 产生了非预期的或 null 的时候,可以通过虚拟列进行诊断,判断哪行数据出现问题 INPUT__FILE__NAME (输入文件名)map任务读入File的全路径 ...
- 38.NOW() 函数
NOW 函数返回当前的日期和时间. 提示:如果您在使用 Sql Server 数据库,请使用 getdate() 函数来获得当前的日期时间. SQL NOW() 语法 SELECT NOW() FRO ...