项目管理基础:软件开发的方法介绍

              

软件开发方法主要有结构化方法、原型化方法、面向对象开发方法、敏捷方法。

1、结构化方法

结构化方法由结构化分析、结构化设计、结构化程序设计组成,它是一种面向数据流的开发方法。

  • 结构化分析:依据分解与抽象的原则,按照系统中数据处理的流程,采用数据流图来建立系统的功能模型,从而来完成需求分析阶段的任务。

  • 结构化设计:根据模块独立性原则、软件结构优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,从而实现系统的概要设计。

  • 结构化程序设计:根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。

  • 指导思想:自顶向下、逐层分解。

  • 原则:功能的分解与抽象。

  • 适用领域:数据处理领域,不适合大规模、复杂的项目,并且难以适应需求的变化。

2、原型化方法

  • 流程:确定需求→开发原始模型→征求用户对初始原型的改进意见→根据改进意见调整原型

  • 适用领域:适合客户需求不清晰、业务理论不太确定、需求经常变更的情况。也适合系统规模不是很大很复杂的项目。

3、面向对象开发方法 

面向对象开发方法基本出发点是尽可能按照人们认知世界的方法和思维来分析解决问题,

组成:面向对象分析、面向对象设计、面向对象实现。

常见的开发方法:Booch方法、Coad方法、OMT方法。

UML统一建模语言是面向对象的标准建模语言,通过统一的语义和符号表示,使各种方法的建模过程和表示统一起来,目前已成为面向对象建模的工业标准。

4、敏捷方法 

目标:尽可能早地、持续地对有价值的软件的交付使客户满意。通过在软件开发过程中加入灵活性,敏捷方法可以使用户在开发周期的后期增加或改变需求。

敏捷过程的典型方法

1、极限编程 XP

极限编程XP是一种轻量级、高效、低风险、柔性、可预测、科学的软件开发方式。

  • 核心价值观:沟通、简单、反馈、勇气、谦逊。

  • XP原则:快速反馈、简单性假设、逐步修改、提倡修改、优质工作。

  • XP最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结队编程、集体代码所有制、持续集成、每周工作40小时、现场客户编码标准。

2、水晶法 Crystal

水晶法认为每个不同的项目都有一套不同的策略、约定和方法论。

3、并列争求发 Scrum

采用迭代方法,其中把每30天一次迭代称为一个冲刺,并按需求的优先级别来实现产品。

4、自适应软件开发 ASD

基本原则:

  • 有一个使命作为指导

  • 特征被视为客户价值的关键点

  • 过程中的等待是很重要的

  • 变化不被视为改正,而是被视为对软件开发实际情况的调整

  • 确定的交付时间迫使开发人员认真考虑每一个生产的版本的关键需求

  • 风险考虑

 

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

 

 

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

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

相关文章

类加载器子系统的作用

类加载器子系统的作用

Magento Block设计分析(深入分析)

Magento中Block是一个很重要的组件,它在Block中充当非常重要的角色,下面我们来分析一下Magento中Block是怎样设计的,我们应该怎样使用这个重要的角色。1、Magento Block类图: 图1: 继承Varien_Object的对象都有一个_data类变量,用…

JAVA输出x和y和z_JAVA实例:输入三个整数x,y,z,请把这三个数由小到大输出-吾爱编程网...

今天为大家分享一个java经典实例输入三个整数x,y,z,请把这三个数由小到大输出,相信很多初学者都会学到这道题目,接下来吾爱编程为大家介绍一下程序的相关写法,有需要的小伙伴可以参考一下:1、题目:输入三个整数x,y,z,请…

软件项目管理相关概念介绍笔记

1、成本估算由于软件项目具有可见性差、难定量化的特点,一般情况下很难在项目完成前准确的评估软件项目开发的工作量和费用。通常会根据以往开发类似项目的经验来进行成本估算。也可以将整个项目划分为若干个子系统或按照软件的生命周期的各个阶段分别进行费用估算&…

类加载器ClassLoader的角色

类加载器ClassLoader的角色

软件项目管理:进度管理相关概念介绍

软件项目管理当中,项目进度的合理安排是如期完成软件项目的重要基础,也是合理分配资源的重要依据。项目进度安排是项目管理工作当中非常重要的组成部分。软件开发项目进度安排的方式:1、系统最终交付日期已经确定,软件开发部门必须…

ios开发 多人语音聊天_手游语音市场的现状、机遇与挑战

文/手游那点事小鱼原创2014年持续火热的手游市场成就了一大批企业的上市梦,同时也在大环境下产生了对系列手游增值服务的需求。基于玩家对手游社交性的需求,以及借鉴传统端游,页游中成功的社交体系,手游市场逐步出现了对手游语音的…

linux 下运行 tomcat

一开始找不到表名,原来mysql 表名区分大小写。 修改参数 lower_case_table_names1 成功运行后不能通过浏览器访问! 开启8080端口 一、关闭防火墙 firewall-cmd --state 查看状态 [rootVM_7_88_centos /]# firewall-cmd --state running [rootVM_7_88…

软件项目管理:软件工具与开发环境相关知识介绍

1、软件工具相关名词概念软件工具:用来辅助软件开发、运行、维护、管理等过程中的活动软件。软件开发环境:是指支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。软件工具集:包括支持软件开发相关过程、活动、任务的…

apollo java客户端_携程配置中心Apollo的Java客户端API的使用

一、SpringBoot集成1.发布配置信息设置本机为DEV环境:Linux在/opt/settings/server.properties增加配置envDEV,windows在c:\opt\settings\server.properties图1 在apollo portal上新建项目后,默认就有了application命名空间。在DEV环境下新建…

JNI----Native本地方法接口

Native本地方法接口 JNI:Java Native Interface 本地接口的作用是融合不同的编程语言为Java所用,它的初衷是融合C/C程序 native:凡是带native关键字的,说明java的作用范围达不到了,会去调用底层c语言的库&#xff01…

项目管理基础:系统分析相关概念介绍

1、系统分析的主要任务系统分析主要任务是对现行的系统进一步详细调查,将调查得到的资料集中,对组织内部整体管理状况和信息处理过程进行分析,为系统开发提供所需要的资料,并提交系统方案说明书。2、系统分析的主要阶段系统分析主…

线性代数及其应用_线性代数入门——行列式的简单应用选讲

系列简介:这个系列文章讲解线性代数的基础内容,注重学习方法的培养。线性代数课程的一个重要特点(也是难点)是概念众多,而且各概念间有着千丝万缕的联系,对于初学者不易理解的问题我们会不惜笔墨加以解释。在内容上,以…

系统开发基础:UML相关知识笔记

1、UML概念统一建模语言(Unified Modeling Language UML)是面向对象软件的标准建模语言。由于简单、统一,又能够表达软件设计中的动态和静态信息。目前UML已经成为可视化建模语言的工业标准。2、UML的组成UML三要素:构造块、规则、…

迭代器 java_面试必备(含答案):30 个 Java 高频面试问题

Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几…

硬件基础:台式电脑上的常用的几个接口!

今天给大家详细讲解台式电脑上的常用的几个接口!1、I/O接口部分下图所有的接口,也是我们机箱后面的接口,统称为:I/O接口。2、键鼠PS/2PS/2接口是I/O接口中比较常见的一种接口,用来连接键盘和鼠标,二者可以用…

系统开发基础:UML中图的相关知识笔记(上)

1、图的概念图(Diagram) 是一组元素的图形表示,大多数情况下,把图画成顶点(代表事物)和弧(表示关系)的连通图。2、UML中图的分类UML2.0中的图主要有:类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部…