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).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用 ...
随机推荐
- 【HDU1573】X问题
[题目描述] 求在小于等于N的正整数中有多少个X满足:X mod a[0] = b[0], X mod a[1] = b[1], X mod a[2] = b[2], …, X mod a[i] = ...
- FastDFS和apache/nginx整合
因为FastDFS默认自带的http服务器性能不好, 所以一般建议用外置的apache或者nginx 来解决http下载,以应付大并发的情况 注意nginx扩展模块只支持GET和HEAD模式获取文件, ...
- InvocationtargetException 类型转换异常
日期类型转换不了json格式数据 json转换数据的时候可以设置某个字段不需要转换 jsonconfig=new JsonConfig() //{} 内传入不需要转换的字段 jsonconfig.se ...
- PyV8在服务端运行自动崩溃问题
近来想在服务端架设WSGI + PyV8去自动解析JavaScript代码,然后返回解析后的数据给客户端.但是发现,在nginx配置后,客户端一请求,服务端的python脚本自动崩溃. 见代码: de ...
- django: rest-framework的 分页和过滤
django: rest-framework的 分页和过滤 2018年06月28日 10:09:01 weixin_42359464 阅读数:136 标签: flaskrestframeworkdja ...
- Robot Framework - 基础关键字 BuiltIn 库(一)
今天给大家分享的是Robot Framework 机器人框架中 BuiltIn 基础库的使用...BuiltIn 库里面提供了很多基础方法助力于我们在自动化测试领域中做的更好!——本系列教程是教会大家 ...
- 20169219 实验四Android程序设计
一.实现Linux下dc的功能,计算后缀表达式的值 public int evaluate(String expr) { int op1, op2, result = 0; String token; ...
- 【Java】对Map按key和value分别排序
一.什么是Map? 在讲解Map排序之前,我们先来稍微了解下map. map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. ...
- Android 画个电池出来(Paint和canvas)
1.Android中很多时候都要自己去画一个自定义控件出来,就需要用到Paint和Canvas这两个类. 2.效果图:
- Java并发编程的3个特性
一.原子性 原子行:即一个或者多个操作作为一个整体,要么全部执行,要么都不执行,并且操作在执行过程中不会被线程调度机制打断:而且这种操作一旦开始,就一直运行到结束,中间不会有任何上下文切换(conte ...