考试:软件工程(01)

news2024/11/14 3:12:19

软件开发生命周期

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

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

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

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

◆软件工程过程是指为获得软件产品包括以下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.coloradmin.cn/o/2122189.html

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

相关文章

【PPT】文字突然变成方框

文章目录 前言一、问题描述二、解决方案参考文献 前言 在 ppt 画图时遇到的问题 一、问题描述 在 ppt 使用过程中,同一字体,有些变成了方框,有些没有变(排除字体缺失问题) 二、解决方案 如果是页数多了&#xff0…

【用map解决高频单词问题】返回前k个高频单词

目录 1.前言2.题目简介3.求解思路4.示例代码4.1换个稳定排序解决4.2用仿函数强行进行控制 1.前言 ok,好久不写博客了,这里简单的来写一写用到关于容器map来解决前k个高频单词的问题。 当然,这个问题也可以用优先级队列(堆)来解决&#xff0c…

免费扫描试卷的软件有哪些?5个软件帮助你轻松进行试卷扫描

免费扫描试卷的软件有哪些?5个软件帮助你轻松进行试卷扫描 扫描试卷的软件可以帮助你将纸质试卷转化为电子版,方便保存、分享和编辑。以下是五款免费的试卷扫描软件,它们功能强大且易于使用,能够帮助你轻松完成试卷扫描。 试卷…

【精彩瞬间】2024外滩大会回顾

9月8号,为期3天的“2024 inclusion外滩大会”在上海黄浦圆满落下帷幕。本届大会,共吸引了5.2万人到场参观,无论是参会规模还是国际嘉宾的数量都创下历史新高。 500位演讲嘉宾分别在1场开幕主论坛、36场见解分论坛上聚焦“ai产业新实践”“科技…

基于STM32的保温水壶控制器设计

文章目录 前言资料获取设计介绍功能介绍设计源码具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设…

【MATLAB】矩阵的合并

矩阵的合并是指将两个或者多个矩阵合并到一起构成一个新的矩阵。矩阵标识符方括号 [ ],不仅可以用来创建新的矩阵,还可以用来将若干个矩阵合并到一起。表达式 C [A B] 将矩阵A和B在水平方向上合并到一起,而表达式C[A;B]则将矩阵A和B在竖直方…

java反射(reflection)的基本理解和使用

目录 一、什么是反射 二、反射的主要用途? 三、什么情况下使用反射 四、反射有什么优点? 1、增加程序的灵活性 2、避免将固有的逻辑程序写死到代码里 3、提高代码的复用率 4、支持动态代理和动态配置 5、支持自动化测试和代码生成 6、自由度高…

ABAP EXCEL宏函数应用

【应用场景】 1. excel导出项目及对应的分期,楼栋的各个产品类型对应的各个面积指标数据, 分项目/分期/楼栋三个SHEET页签。当用户在楼栋层级编辑完产品类型对应的面积指标时,可以 通过宏函数自下往上先汇总到相同产品类型+面积指标的分期层级,再自动汇总到项目层级面积…

万龙觉醒免费辅助脚本:VMOS云手机助力物资获取与养成!

在《万龙觉醒》中,资源获取和英雄养成是游戏的重要组成部分,而使用VMOS云手机可以为玩家带来更高效的游戏体验。通过使用VMOS云手机,玩家可以轻松实现24小时不间断的游戏辅助,无需反复安装或更新游戏,因为VMOS云手机自…

upload-labs通关教程

一.第一关&#xff08;前端绕过&#xff09; 首先准备一个php小马 <?php phpinfo();?>这是调用phpinfo这个函数&#xff0c;查看php的配置信息 首先上传1.php发现 使用BP抓不到包&#xff0c;猜测被前端验证了&#xff0c;查看网页源代码 可以看到下面有一段js代码过…

国内超声波清洗机哪个品牌好?非常好用的超声波清洗机

在当今社会快速生活的节奏下&#xff0c;个人健康与生活品质成为了焦点话题。面对传统清洁方法的局限性和可能对物品造成的伤害&#xff0c;人们愈发倾向于探索更高效、安全的清洁方案。超声波清洗技术恰逢其时地步入大众视野&#xff0c;凭借其高效清洁力与环保特性&#xff0…

鸿蒙开发(API 12 Beta6版)【P2P模式】 网络WLAN服务开发

概述 无线局域网&#xff08;Wireless Local Area Networks&#xff0c;WLAN&#xff09;&#xff0c;是通过无线电、红外光信号或者其他技术发送和接收数据的局域网&#xff0c;用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境…

打造无死角安防网:EasyCVR平台如何助力智慧警务实现视频+AI的全面覆盖

一、背景概述 随着科技的飞速发展&#xff0c;智慧城市建设已成为提升社会治理能力、增强公共安全水平的重要途径。在警务领域&#xff0c;智慧警务作为智慧城市的重要组成部分&#xff0c;正通过融合视频监控技术与人工智能&#xff08;AI&#xff09;解决方案&#xff0c;实…

数据库中的主码、候选码、主属性、非主属性

参考链接 候选码、主码、全码、外码、主属性、主键、主关键字、非主属性清晰总结 - 知乎 (zhihu.com) 1.码&#xff1a; 能够标识一条记录的属性或者属性集 2.候选码 能够标识一条记录的最小属性集 任一候选键的任何真子集都不能唯一标识一个记录&#xff08;比如在成绩表…

诸葛io:消费金融行业智能运营与数智化经营模型构建

规范化的快速发展已成为消费金融行业的主旋律&#xff0c;消金公司亟待制定数智化转型战略&#xff0c;建设自主营销与精细化运营能力&#xff0c;以找到存量时代的全新增长密码。 容联云旗下诸葛智能公司作为数智化经营领域的杰出代表&#xff0c;凭借数据技术先进性、金融业…

将esp32-s3-eye做为USB网络摄像头(UVC设备)

官方网址&#xff1a;usb_webcam 支持UVC同步、批量传输模型只支持MJPEG传输格式支持板上LCD动画esp32-s3-eye&#xff08;IDF v5.0或更高版本&#xff09; 硬件要求 官方默认的USB WebCam config就是乐鑫带摄像头OV2604的esp32-s3-eye&#xff0c;其他的开发板可以参考官方网…

仿微信QQ聊天系统源码设计开发

一、引言 随着移动互联网的快速发展&#xff0c;即时通讯软件已成为人们日常生活中不可或缺的一部分。仿微信QQ聊天系统作为一种模仿主流聊天软件功能的应用&#xff0c;旨在为用户提供高效、便捷的沟通方式。本文将从系统架构、功能模块等方面详细介绍仿微信QQ聊天系统的设计…

Visual studio自动添加头部注释

记事本打开VS版本安装目录下的Class.cs文件 增加如下内容&#xff1a;

Linux 访问控制列表(Access Control List)

在Linux中&#xff0c;目录或文件的权限是针对的所有者(owner)&#xff0c;所属组(group)&#xff0c;其他人(others)这3种类别来设置的。这种根据类别控制权限的方法无法精确控制每个用户的行为。为了解决这个问题&#xff0c;Linux引入了访问控制列表&#xff08;Access Cont…

网络安全知识:什么是访问控制列表 (ACL)?

访问控制列表 (ACL) 是网络安全和管理的基础。它们在确定谁或什么可以访问网络内的特定资源方面发挥着重要作用。 本文深入探讨了 ACL 的复杂性&#xff0c;探索了其类型、组件、应用程序和最佳实践。我们还将比较不同操作系统的 ACL&#xff0c;并讨论它们在网络架构中的战略…