软考备考5

本文探讨了软件工程中的各种开发模型(如增量、瀑布、原型等)、软件设计原则、工具分类、项目管理方法(如AOE图、WBS、工作量估算)、风险分析和ISO9126质量模型,以及DFD和ERD在系统设计中的应用,同时还涵盖了耦合与内聚的概念。
摘要由CSDN通过智能技术生成

记录软件工程的一些东西,比如说模型啊文档啊,开发流程管理这种,梦回大三

1.增量模型等(后面补充瀑布模型啊这类的)

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。

瀑布模型将开发阶段描述为从一个阶段瀑布般地转换到另一个阶段,顾名思义,流水瀑布

原型模型,开发人员迅速地构造整个系统或者系统的一部分来理解澄清问题(规模小而且不复杂的,结构化开发适用于数据领域的不复杂需求变化也不大的软件开发)

喷泉模型是以用户需求为动力,以对象为动力,适合于面向对象开发

螺旋模型结合了瀑布模型和快速模型,并加入了风险分析的,适合复杂的大型设计开发

2.软件工程的一些技术啥的

软件工程是一种层次化的技术,从底层上分别为质量,过程,方法和工具。软件工程的基础是过程。质量是关键,其余是为质量打基础,提供方法的。

软件设计分为两部分概要设计和详细设计,结构化设计中,概要设计主要是进行体系结构的设计,数据设计和接口设计,详细设计进行详细的算法设计;面向对象设计中,概要设计进行结构设计和初步的类设计,详细设计进行构件设计

结构化分析与设计

结构化设计主要包括体系结构设计:定义主要的结构元素和关系

数据设计:基于实体联系图确定软件涉及的的文件结构和数据库的表结构

接口设计:设计外部接口和内部接口

过程设计:确定各个组成部分的算法和内部的数据结构,选择某种过程的表达形式来描述算法

3.软件工具的分类

软件工具分为六类:模拟工具、开发工具、测试和评估工具、运行和维护工具、性能质量工具和程序设计支持工具。

4.软件开发项目管理

转换成图网络结构,转换到数据结构那块,根据这个最早开始时间和最早完成时间求解这个项目工期时间

AOE图中的最早时间和最迟时间

整个活动的完成时间是从开始到结束的最长路径的长度

最早发生时间:从前往后,前驱结点到当前结点的时间,选择最大的

最迟发生事件:从后往前,后继结点的最迟发生时间-边权值,取最小的

关键路径:最早发生时间等于最迟发生时间的结点组成的路径

最早开始时间:当前边的起始结点的最早发生事件

最晚开始时间:当前边的指向结点的最迟发生事件-边权

这一段做起来好烦哦,本来就是抽出来做大题,你现在做选择,真的好烦哦

松弛时间:不影响完工前提下可能被推迟完成的最大时间

=最晚开始时间-最早开始时间 

=关键路径的总时间-包含该任务的关键路径花的时间

5.工作量估算模型

简单来说就是开发一个项目会花费的时间,人力,资源和金钱等

分为直接估算和间接估算

直接估算基于WBS直接估算人天工作量

间接估算就是先估算出软件的规模再估算人天工作量(包括基于代码的估算和基于功能点的估算)

WBS就是按照历史的相似项目进行拆解然后进行拆解预估,再和这个历史的相似项目进行比较

代码行估计是从开发者角度估量,顾名思义进行每天的代码拆解进行估计天数,使用模型将代码行数转换人天工作量

常见模型有Putnam(公式)以及COCOMOⅡ(指数关系,有16个驱动因子),IBM

COCOMOⅡ三种估算信息选择,对象点,功能点和代码行

基于功能点(FP)的工作量估算,是从用户的角度来度量软件。进行工作量估算时,先估计出软件项目的功能点数,然后将功能点数(FP)转换为人天数。转成人天数有两种,生产效率和经验模型


6.风险分析

根据风险的优先级来确定风险控制的策略,优先级是通过风险暴露来确定的,风险暴露是一种量化风险影响的指标,等于风险影响x风险概率,其中风险影响是当风险发生时造成的损失

7.ISO 9126质量模型

6个特性和7个子特性

按照这个图进行一个理解,字面意思的理解。

8.McCabe度量法计算环路复杂度

McCabe环路复杂度是一种用于评估软件代码复杂度的方法,也称为循环复杂度。 其原理是通过计算代码中的分支节点(条件语句)和循环节点(循环语句)的数量来确定代码的复杂度,即决策点的数量。 决策点的数量指的是程序中需要做出决策的地方,例如if语句、for循环、while循环等。

1.流图中的区域数等于复杂度

2.流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数

3.流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目

强联通图的有向图:E-N+2p

9.DFD和ERD

ERD 是实体关系图,是数据库设计的图形表示方法。 ERD 可以用来展示数据库中实体、实体之间的关系和实体的属性。 DFD 是数据流图,是一种用于描述系统的数据流和处理的图形表示方法。 DFD 可以用来展示系统内数据如何从一个实体流向另一个实体,以及数据如何被处理。

耦合与内聚

数据耦合:一个模块访问另一个模块,彼此之间通过简单的数据参数来交换输入输出信息

公共耦合:一组模块都访问同一个公共数据环境,那么他们之间的耦合称为公共耦合。公共数据环境可以称为全局数据结构,共享的通信区,内存的公共覆盖区

外部耦合:一组模块都访问同一个全局简单变量而不是同一个全局数据结构,不是通过参数表传递该全局变量的信息,称为外部耦合

标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,不是简单变量。

时间内聚:需要同时执行的动作组合在一起的模块

过程内聚:一个模块完成多个任务,这些任务必须按照指定的过程执行

信息内聚:模块内所有元素都在同一个数据结构上操作,或者各处理使用相同的输入或者产生相同的输出

功能内聚:模块内所以得元素共同作用完成功能,缺一不可

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值