瀑布模型

计算与软件工程作业五

扶醉桌前 提交于 2020-04-08 11:53:46
|作业要求| 作业要求链接 | |--|--| |我在这个课程的目标|学习软件工程的基本操作,能够自行完成作业,并能将软件工程与其他课程联系起来 |此作业在哪个具体方面帮我实现目标|看完相关的博文链接后,认真的思考文章中的内容,总结软件开发的经验等等| |参考文献|( https://www.cnblogs.com/xinz/p/3852390.html ) ##软件开发过程 软件开发过程是随着开发技术的演化而随之改进的。从早期的瀑布式的开发模型到后来出现的螺旋式的迭代开发,以致最近开始兴起的敏捷软件开发,它们展示出了在不同时代的软件产业对于开发过程的不同的认识,以及对于不同类型项目的理解方法。 ###瀑布模型 软件将要经历一个定义、开发、运行维护,直至被淘汰这样的全过程,这个全过程称为软件的生命周期。 为了使软件生命周期中的各项任务能够有序地按照规程进行,需要一定的工作模型对各项任务给予规程约束,这样的工作模型被称为软件过程模型。瀑布模型中的“瀑布”是对这个模型的形象表达,即山顶倾泻下来的水,自顶向下、逐层细化。 1.它的核心思想是将各项功能的实现与设计分开,规定了各阶段的一个自上而下的顺序,相邻的两个阶段有紧密的联系,就好比我们平时写的操作步骤,从第一个步骤开始,每个步骤都依赖于上一个步骤的结果,作为本阶段的一个输入,有很强烈的先后顺序。 2.瀑布模型对软件的每项功能在需求分析

计算与软件工程 作业五

蹲街弑〆低调 提交于 2020-04-08 01:59:38
作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 课程目标 了解软件工程的方法论,进行相关讨论 实现目标的方面 阅读有关软件工程方法论的文章 本次作业 https://www.cnblogs.com/cdinzz/p/12657383.html 作业要求 迄今为止,我们了解了不少软件工程的方法论。请从下表挑选几篇关于软件工程方法论的文章,仔细阅读(包括相关的讨论),根据你的软件工程经验分享你的看法。 https://www.cnblogs.com/xinz/p/3852390.html 瀑布模型 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 优点 1)为项目提供了按阶段划分的检查点; 2)当前一阶段完成后,您只需要去关注后续阶段; 3)可在迭代模型中应用瀑布模型; 增量迭代应用于瀑布模型。迭代1解决最大的问题

计算机软件工程 作业五

耗尽温柔 提交于 2020-04-07 21:42:12
作业要求链接 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 课程目标 讨论软件开发方法的思潮 本作业目标 评价及统计红楼梦,水浒传中人物出现次数 参考链接 https://www.cnblogs.com/xinz/p/3852390.html https://blog.csdn.net/agilelee/article/details/5898923 https://www.cnblogs.com/lewkesy/p/5965594.html 作业正文 https://www.cnblogs.com/yanwenshen/p/12656017.html 迄今为止,我们了解了不少软件工程的方法论。 瀑布模型 瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。 其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作

计算与软件工程作业五

我的未来我决定 提交于 2020-04-07 10:38:40
作业要求| 第五次作业 :---:|:---: 课程目标|了解软件工程的方法论 参考文献|https://www.cnblogs.com/xinz/p/3852390.html ###1、银弹 软件是狼人和银弹的世界。掌握面向对象的方法意味着要认识到它是目的,而不是手段,是目标,而不是实现目标的技术。这意味着改变我们对软件的看法,将重点转移到构建的对象上,而不是用来构建它们的过程上。 ###2、Lost in CatB 随着社会的不断发展,几乎每天都会有新技术伴随着新需求不断出现,同样的开源和商用也是如此,哪里有需求,哪里就有市场。开源和商用各有利弊,但都是服务于不同的用户群体,满足不同的需求,例如,Linux从最初的几千行代码发展到现在,俨然成为了os中的中流砥柱,而这样的地位离不开它的开源,和看中这一特性并不断有IT人员对其进行更新;对于商业软件来说,开源确实会带来很多问题,给客户容易造成心理阴影,想这类商用还会无形中起到业内的一种规范。所以,开源与商用,既要结合需求,同时还结合产品定位。 ###3、大泥球 为什么系统变成泥泞的大球?有时,大型丑陋的系统从THROWAWAY代码。THROWAWAY CODE是一种快捷方式代码,只能使用一次,然后丢弃。但是,尽管结构随意,文档不完善或不存在,但这样的代码通常都可以独立生存。它有效,那么为什么要解决它?当出现相关问题时

计算与软件工程 作业五

醉酒当歌 提交于 2020-04-06 23:52:49
作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 课程目标 了解软件工程的开发的几个方法论,并将有用的知识用到之后的软件开发中 其他参考文献 https://www.cnblogs.com/xinz/p/3852390.html http://www.laputan.org/mud/ https://baike.baidu.com/item/敏捷软件开发/7108658?fr=aladdin https://blog.csdn.net/xiajun2356033/article/details/81513957 https://baike.baidu.com/item/瀑布模型/9817778?fr=aladdin http://www.51sjk.com/b1b87850/ https://www.ituring.com.cn/article/9363 https://baike.baidu.com/item/没有银弹/5036116?fr=aladdin 几个软件工程方法论认识: 1、大泥球 定义:一个大泥球是杂乱无章的结构,蔓延,马虎,管道胶带和保龄线,意大利面代码丛林。 这些系统显示出明显的不受监管的增长迹象,以及反复的权宜之计。信息在系统的遥远元素之间杂乱无章地共享

计算与软件工程 作业五

倾然丶 夕夏残阳落幕 提交于 2020-04-04 17:56:39
作业五 作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 课程目标 软件工程的方法论 参考文献 https://www.cnblogs.com/xinz/p/3852390.html 作业正文 https://www.cnblogs.com/jiangziyi/p/12632613.html 软件工程方法论读后感 首先随着社会的发展,互联网已经成为社会主流,现在基本上每一个行业都需要拥有一个自己的软件才能紧跟社会发展的步伐,比如我们学校就有信息门户,虽然不是上架的APP但是也拥有相应的各种功能。我们每天的健康申报也是一种软件开发的一种体现。 而要想进行软件开发,学习计算机编程语言是必不可少的。java,c++等。再要学习框架技术,学会使用框架,可以大大的提高我们的编程速度。然后就是对要开发的软件进行需求分析,开发软件前需要对软件进行需求分析、详细设计、总体设计等工作,以明确项目的功能,便于实现。接着还要设计软件所需的数据库,而数据库的设计也是很有讲究的。最后就是编写代码实现软件功能,编写代码时,可以使用模块化编程将软件功能分为若干个模块逐个完成。在代码编写过程中要注意代码规范,对以后软件的维护打下基础。 对于不同的软件系统,可以采用不同的开发方法

敏捷软件开发与传统软件工程概述比较

╄→尐↘猪︶ㄣ 提交于 2020-03-08 06:13:35
敏捷软件开发与传统软件工程概述比较 翁松秀 北京航空航天大学计算机学院   摘要: 软件工程的开发过程中有两种截然不同的管理和开发体系,一种是基于 “瀑布模型”的预设性传统软件工程,另一种是轻量级的适应性敏捷软件开发,本文简单阐述传统软件工程的开发方法与敏捷软件开发的异同,并通过“瀑布模型”和 SCRUM 方法的比较来探析传统软件工程与敏捷软件开发的异同。最后得出结论,把传统软件工程和敏捷软件开发相结合,将软件架构“颗粒化”,在简单可快速交付的敏捷软件开发中嵌套系统的传统软件开发方法,实现预见性和适应性折中。 关键词 :敏捷软件开发;传统软件工程;瀑布模型; SCRUM 方法;嵌套;颗粒化   0 前言   随着计算机的发展,对软件的需求越来越大,软件的规模也变得越来越大,结构越来越复杂,软件开发管理困难而复杂,在这个 “软件危机”背景下产生的传统软件工程,用工程化的方法构建和维护有效和高质量的软件。暂时解决了软件的兵荒马乱时代,但随着社会和科技的发展,对软件的需求变化越来越快,传统的软件工程很难再适应瞬息万变的客户需求,敏捷软件开发应运而生,其轻量级、简单、可快速交付、适应性强收到开发团队的青睐,与传统软件工程并肩,形成软件工程中的两大开发体系。   1 传统软件工程 1.1 传统软件工程概述   基于 “瀑布模型”的传统软件开发方法中,以软件架构 (software

软件项目管理----第2讲 软件开发过程管理

徘徊边缘 提交于 2020-03-06 02:14:22
文章目录 什么是软件开发过程 什么是软件开发活动 按任务性质,软件开发活动可分为二种形式 为什么需要过程 软件开发过程模型 1.编码—修正模型 2.瀑布模型 3.快速原型模型 4.增量模型 5.螺旋模型 典型软件过程模型特征比较 6.喷泉模型 7.统一软件开发过程(IBM RUP) 8.敏捷(灵活)过程 (注)极限编程 极限编程XP的12个实践原则 9.微软过程 微软过程准则 选择软件开发过程模型的步骤 定义软件开发过程的要求 定义软件开发过程的步骤 步骤1:选择软件开发过程模型 步骤2:确定和描述活动 确定活动的原则 步骤3:确定和描述活动间的关系 步骤4:文档化软件开发过程 如何提供软件开发过程的完整视图? 步骤5:文档化如何剪裁过程 为什么需要定义剪裁过程 如何文档化过程剪裁 步骤6:文档化如何改善过程 为什么需要改善过程? 过程改善的目的 如何文档化改善过程? 步骤7:过程评审、认可和发布 步骤8:员工培训 什么是软件开发过程 按照项目的进度、成本和质量限制,开发和维护满足用户需求的软件所必需的一组有序的软件开发活动集合 什么是软件开发活动 为开发软件项目而执行的一项具有明确任务的具体工作 按任务性质,软件开发活动可分为二种形式 技术活动 对软件项目实施开发,产生软件产品 例如,需求分析,概要设计,编码,单元测试等等 管理活动 对软件项目中的人、产品和过程等实施管理的活动

软件开发过程模型综述

一曲冷凌霜 提交于 2020-03-05 18:32:37
一.软件开发过程模型的含义 软件开发过程中,我们面对的是一个十分艰巨的任务,根据软件工程学科的分析,我们需要有一个详细的软件开发过程称之为软件过程。 软件过程可以根据不同的问题分出不同的模型。想要了解软件过程开发模型,就要对软件过程活动有所了解。真实的软件过程是围绕着开发目标,交织着技术、协作、管理等方面工作的活动序列。 软件过程活动是软件过程的基本构成部分,完成某一方面的特定任务。活动的描述分为四部分:成果(软件过程活动的产品)、角色(软件过程中的参与人及职责)、前置条件(活动开展的前提)和后置条件(活动完成后对软件开发系统的影响),之后软件活动包括对项目的可行性研究和需求分析(软件规约),项目的设计与实现,项目的验证与确认(软件测试等)以及软件进化(完善软件以更好地满足用户需求)。 由此产生了多种软件过程模型,软件过程模型是一个特定软件过程的简称,给出软件开发的全部过程、活动和任务的结构框架,明确规定要完成的主要活动、任务和开发策略。常见的软件过程模型有:瀑布模型、增量模型、原型模型、螺旋模型、RUP、敏捷开发等 二.典型软件开发过程模型介绍 1.瀑布模型 瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改

模型讨论

非 Y 不嫁゛ 提交于 2020-03-03 09:32:43
一、推荐模型 刘畅:增量模型 1. 概念 - 在瀑布模型的基础上,所有阶段都进行增量开发。先对某部分功能进行需求分析,然后按顺序进行设计、编码和测试,把该功能进行开发,提交用户直至所有功能全部增量开发完毕为止。 2. 优点: - 继承了瀑布模型的优点 - 第一个版本发布快 - 风险不大 - 减少了用户需求变更 - 允许增量投资 3. 缺点: - 一开始必须要有一部分可确定需求,否则初始增量会造成后来增量的不稳定 - 初必须有一部分的需求是可确定的,对于完全不可确定的需求不能使用增量模型进行开发 4. 为什么选择增量模型: - 软件的项目体积并不庞大,如果需求分析到位的话可以比较准确的抓住需求核心,能够避免增量模型的两个不足 - 相比较于瀑布模型,增量模型的第一个版本发布快,我们就可以在此基础上再对需求或是功能进行完善,在时间分配上也更加合理:开发早期核心需求时多花一点时间,到后面就会轻松一些 - 虽然演化模型等更加灵活,但是我考虑到同学间代码风格、习惯差异较大,如果需求在不断迭代,经常要对已完成代码进行修改,这其实会导致效率降低,反而不能在有限的时间内达到最佳的效果 张清望:瀑布模型 1. 定义:瀑布模型( Waterfall Model )将软件生命周期划分为软件计划、需求分析和定义、设计、实现、测试、运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序