考试:软件工程(01)

软件开发生命周期

软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标, 具体可分成问题定义、可行性研究、需求分析等。

软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。

软件运行和维护:就是把软件产品移交给用户使用

◆软件系统的文档可以分为用户文档和系统文档两类,用户文档主要描述系统功能和使用方法,并不关 系这些功能是怎样实现的;系统文档描述系统设计、实现和测试等各方面的内容

◆软件工程过程是指为获得软件产品包括以下4个方面活动:

(1)P(Plan)—— 软件规格说明。规定软件的功能及其运行时的限制。

(2)D(Do)—-    件开发。开发出满足规格说明的软件。

(3)c(Check)——    软件确认。确认开发的软件能够满足用户的需求。

(4)A (Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。

软件系统工具通常可以按软件过程活动将软件工具分为:

软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具等。

软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。

软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

◆软件设计四个活动:数据设计、架构(体系结构)设计、人机界面(接口)设计和过程设计

CMM

CMMI

I就是集成

目前都是cmmi.

软件过程模型

瀑布模型

◆瀑布模型(SDLC): 瀑布模型是一个经典的软件生命周期模型,  将软件开发分为:可行性分析(计划)、需求分析、软    件设计(概要设计、详细设计)、编码(含单元测试)、测    试、运行维护等几个阶段。

◆瀑布模型特点

( 1 ) 上一项开发活动接受该项活动的工作对象作为输入

(2)利用这  输入,实施该项活动应完成的工作内容

(3)给出该项活动的工作成果   传给下一项开发活  

( 4 ) 该项活动的实施工作成果进行评审若其工作成果得 到确认,则继续进行下一项开发活动;否则返回前一项,甚 至更前项的活动。尽量减少多个阶段间的反复。以相对来说  较小的费用来开发软件

按照顺序来的过程。

螺旋模型

◆螺旋模型是一个演化软件过程模型,将原型实现的迭代特 征与线性顺序(瀑布)模型中控制的和系统化的方面结合 来。在螺旋模型中,软件开发是一系列的增量发

◆开发过程具有周期性重复的螺旋线状。四个象限分别标志 每个周期所划分的四阶段: 制订计划、风险分析、实施工程 和客户评估。螺旋模型强调了风险分析,特别适用于庞大而 复杂的、高风险的系统

这里主要是 对风险分析。

V模型

单编-集详-系概-验需

原型模式

◆原型化模型第一步就是创建一个快速原型,能够满足项目干系人与未来的用 户可以与原型进行交互,再通过与相关干系人进行充分的讨论和分析,   清楚当前系统的需求,进行了充分的了解之后,在原型的基础上开发出用户满 意的产品。

◆原型法认为在很难一下子全面准确地提出用户需求的情况下,原型应当具备 的特点如下。

(1) 实际可行

( 2 )  最终系统的基本特征

(3) 构造方便、快速,造价低。原型法的特点在于原型法对用户的需求是动态 响应、逐步纳入的

增量模型

◆增量模型:首先开发核心模块功能,而后与用户确认,之后再开发次核心模 块的功能,即每次开发一部分功能,并与用户需求确认,最终完成项目开发, 优先级最高的服务最先交付

◆特点:但由于并不是从系统整体角度规划各个模块,因此不利于模块划分 难点在于如何将客户需求划分为多个增量。与原型不用的是 增量模型的每一次 增量版本都可作为独立可操作的作品,而原型的构造一般是为了演示。

喷泉模型

◆喷泉模型:是一种以用户需求为动力以对象作为驱动的模型,适合于面向 对象的开发方法。使开发过程具有迭代性和无间隙性。

快速开发模式CBSD

◆基于构件的开发模型CBSD:  先包装的构件来构造应用系统。构件可以

是组织内部开发的构件,也可以是商品化成品软件构件。特点是增强了复用性,在系统开发过程中,会构建一个构件库,供其他系统复

用,因此可以提高可靠性,节省时间和成本。

形式化方法模型

形式化方法模型:建立在严格数学基础上的一种软件开发方法,主要活动是 生成计算机软件形式化的数学规格说明。

敏捷开发模型(重点看)

开发宣言:个体和交互胜过过程和工具、可以工作的软件胜过面面俱到的文档、客户合作胜过合同谈判、响应变化胜过遵循计划

◆敏捷方法区别于其他方法的两个特点: 

( 1 )  “适应性”而非“预设性”。

( 2 )  面向人的”而非“面向过程的”。

◆敏捷方法的核心思想:

(1)敏捷方法是适应型,而非可预测型。 拥抱变化,适应变化。

(2)敏捷方法是以人为本,而非以过程为 本。发挥人的特性。

(3) 迭代增量式的开发过程。以原型开发  思想为基础,采用法代增量式开发,发行版 本小型化。

统一过程模型RUP(重点)对应的敏捷开发

 RUP把软件开发生命周期划分为多个循环,每个循环生成产品的一个新的版本,每个循环依次

由4个连续的阶段组成,每个阶段完成确定的任务。这4个阶段如下。

 ·初始阶段:定义最终产品视图和业务模型,并确定系统范

·细化阶段:设计及确定系统的体系结构,制订工作计划及资源要求。

·构造阶段构造产品并继续演进需体系结构、计划直至产品提交。

 ·移交阶段:把产品提交给用户使用

 RUP 中定义了如下一些核心概念,理解这些概念对于理解RUP 很有帮助。

·角色:Who 的问题。角色描述某个人或一个小组的行为与职责。 RUP预先定义了很多角色,如体  系结构师、设计人员、实现人员、测试员和配置管理人员等,并对每一个角色的工作和职责都做 了详尽的说明。

·活动:How 的问题。活动是一个有明确目的的独立工作单元。

·制品:What 的问题。制品是活动生成、创建或修改的一段信息。

·工作流:When 的问题。工作流描述了一个有意义的连续的活动序列,每个工作流产生一些有价值 的产品,并显示了角色之间的关系。

 RUP特点

(1) 用例驱动:需求分析、设计、实现和测试等活动都是用例驱动的

(2) 以体系结构为中心:包括系统的总体组织和全局控制、通信协议等。是一个多维的结构 会采用多个视图来描述。在典型的4+1视图模型中:

分析人员和测试人员关心的是系统的行为,会侧重于用例视图;

最终用户关心的是系统的功能,会侧重于逻辑视图;

程序员关心的是系统的配置、装配等问题,会侧重于实现视图;

系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,会侧重于进程视图;

系统工程师关心的是系统的发布、安装、拓扑结构等问题,会侧重于部署视图。

(3) 迭代与增量。把整个项目开发分为多个迭代过程。在每次选代中,只考虑系统的一部分需

求,进行分析、设计、实现、测试和部署等过程;每次迭代是在己完成部分的基础上进行的, 次增加一些新的功能实现,以此进行下去,直至最后项目的完成

逆向工程

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

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

相关文章

【逐行注释】自适应Q的AUKF|MATLAB代码(附下载链接)

文章目录 逐行注释的说明运行结果自适应UKF介绍实现过程 部分代码各模块解释 逐行注释的说明 每一行都标有中文注释: 是我自己一个字一个字打的,如果有错别字等问题,欢迎指正。 运行结果 三轴的估计值、真值、滤波前的值对比&#xff1a…

【教师节视频制作】飞机降落飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】

教师节祝福视频制作教程飞机降落飞机机身AE模板修改文字特效广告生成神器素材祝福玩法AE模板工程 怎么如何做的【教师节视频制作】飞机降落飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤: 下载AE模板 安装AE软件 把AE模板导入AE软件 …

客服宝:专业跨平台快捷回复软件

在这个信息爆炸的时代,客服工作的重要性不言而喻。然而,面对多渠道、高频率的咨询与互动,客服团队如何保持高效、专业且富有人情味的对话呢?客服宝——一款专业的跨平台快捷回复软件,以其独特的功能优势,为…

手机投屏到电脑怎么弄?

远程看看是一款免费的远程控制软件,它支持Windows、iOS和Android等多个系统,并且提供了文件传输、手机投屏、在线聊天等多种功能。我们可以使用远程看看软件进行手机投屏,从而帮助您的家人或朋友解决相应的手机问题。 1. 首先,将…

自闭症儿童特殊学校:为孩子的成长保驾护航

在自闭症儿童成长的道路上,每一步都充满了挑战与未知。为了给予这些特殊孩子最坚实的支持与最温暖的陪伴,自闭症儿童特殊学校应运而生,它们如同一座座灯塔,照亮了孩子们前行的方向。其中,星贝育园自闭症儿童寄宿制学校…

如何在SQL Server中恢复多个数据库?

一次性恢复多个 SQL数据库吗可以吗? "是的,可以一次性恢复多个 SQL 数据库。通常情况下,只要备份文件的名称与相应的数据库匹配,且没有附加的日期或时间信息,就可以通过有效的 T-SQL 脚本来完成恢复。如果你希望…

如何将写好的Java代码打成jar包放在hadoops上运行

1、打包java文件 2、jar包上传,hadoop执行 我们将打好的jar包上传到Linux,因为hadoop是安装在Linux上的,然后用hadoop执行,执行前要确保已经在Linux上配置了hadoop的环境变量,不然就要到hadoop的目录下执行该命令 执…

Java入门:08.Java中的static关键字

1 static关键字 可以修饰属性变量,方法和代码段 static修饰的属性称为静态属性或类属性, 在类加载时就在方法区为属性开辟存储空间,无论创建多少个对象,静态属性在内存中只有一份。 可以使用 类名.静态属性 的方式引用 static修饰…

Java Kafka生产者实现

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

MIT6.824 课程-MapReduce

MapReduce:在大型集群上简化数据处理 概要 MapReduce是一种编程模型,它是一种用于处理和生成大型数据集的实现。用户通过指定一个用来处理键值对(Key/Value)的map函数来生成一个中间键值对集合。然后,再指定一个reduce函数, 它用…

Linux环境基础开发工具使用(1)

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux环境基础开发工具使用(1) 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 Linux…

IP地址是怎么实现HTTPS访问的?

首先,需要明确的是,IP地址(Internet Protocol Address)是互联网上设备(如服务器、路由器等)的唯一标识符,它允许数据包在网络中正确地路由和传输。然而,IP地址本身并不直接支持HTTPS…

2024年T电梯修理证模拟考试题库及T电梯修理理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年T电梯修理证模拟考试题库及T电梯修理理论考试试题是由安全生产模拟考试一点通提供,T电梯修理证模拟考试题库是根据T电梯修理最新版教材,T电梯修理大纲整理而成(含2024年T电梯…

Mysql基础练习题 1729.求关注者的数量 (力扣)

编写解决方案,对于每一个用户,返回该用户的关注者数量。 #按 user_id 的顺序返回结果表 题目链接: https://leetcode.cn/problems/find-followers-count/description/ 建表插入语句: Create table If Not Exists Followers(us…

【LabVIEW学习篇 - 22】:ActiveX

文章目录 ActiveXActiveX打开Windows颜色选择对话框ActiveX将浏览器嵌入到前面板 ActiveX ActiveX是微软推出的一个开放的技术集的统称,它是很早之前出现的OLE(object linking and Embedding)技术的扩展,它是基于COM(Component Object Model)技术而建立…

基于GPT3打造你的专属的个人知识库

DocsGPT是一个基于GPT3的知识库平台,其支持训练、本地部署,并支持结果导出 https://github.com/arc53/DocsGPT DocsGPT本地部署 前置依赖: pippython3.8版本以上(python3.7不支持langchain 0.0.100以上版本)如使用ma…

uniapp去除顶部标题栏

相信很多同学和我一样,刚学uniapp的时候想去除自带的这个标题栏不知道如何去除🤪 其实很简单,只需两个步骤即可彻底除掉,首先找到项目文件夹下的pages.json路由文件点开,在这个文件里可以看到你创建的所有页面&#x…

宠物空气净化器测评:霍尼韦尔、希喂、米家、有哈、范罗士哪款吸浮毛效果好

作为一个忙碌、精致的搬砖人,我开始是没想过我会养带毛的动物的。自己就很忙了,哪有时间清理宠物弄脏的房间。无奈,三年前某天下班,刚进到小区就被楼下一只小流浪缠上了。买了两根火腿肠喂了还不够,非得跟着我到单元楼…

一篇文章了解Pytest单元测试框架

文章目录 1.Pytest是什么2.Pytest的安装3.Pytest快速入门4.Pytest文件规范5.常用的断言类型 1.Pytest是什么 pytest 是一个功能强大且灵活的 Python 测试框架,主要优点包括简洁易用、自动测试发现、丰富的插件生态系统、参数化测试、详细的断言错误信息、以及强大的 fixtures …

CentOS7虚拟机下安装及使用Docker

文章目录 一,准备工作二、安装Docker三、启动Docker四、验证Docker五、使用Docker六,卸载Docker 有一个Centos7的虚拟机,想要安装个docker测试一些docker用法和熟悉命令 一,准备工作 1,使用uname -r命令检查系统内核…