📝 软件工程教程
90篇技术文档📅  最后修改于: 2021-01-09 15:00:41        🧑  作者: Mango
软件成本估算对于任何新软件项目,有必要知道开发成本和开发时间。在开始开发之前需要这些估计,但是如何完成呢?已经开发了几种估计程序,它们具有以下共同的属性。必须提前确定项目范围。软件指标用作评估的支持。该项目分为小型PC,这些PC分别进行估算。为了实现真实的成本和进度估算,出现了几种选择。延迟估计使用符号分解技术生成项目成本和进度估算。获取一个或多个自动评估工具。成本估算的用途在计划阶段,需要选择项...
📅  最后修改于: 2021-01-09 15:01:50        🧑  作者: Mango
COCOMO模型Boehm在1981年提出了COCOMO(建设性成本估算模型)。COCOMO是世界上最常用的软件估算模型之一。 COCOMO根据软件的大小预测软件产品的工作量和进度。此模型中的必要步骤是:通过评估成千上万的源代码行(KDLOC)获得对开发工作的初步估计。从项目的各种属性中确定一组15个乘数。通过将初始估计值乘以所有乘数来计算工作量估计,即将步骤1和步骤2中的值相乘。初始估算值(也称...
📅  最后修改于: 2021-01-09 15:02:46        🧑  作者: Mango
普特南资源分配模型Lawrence Putnam模型描述了完成指定大小的软件项目所需的时间和精力。 Putnam利用所谓的Norden / Rayleigh曲线来估算项目工作量,进度和缺陷率,如图所示:Putnam注意到,软件人员配置文件遵循众所周知的Rayleigh分布。普特南(Putnam)使用他对生产率水平的观察得出软件方程式:此表达式的各个术语如下:K是产品开发的总投入(以PM计),L是K...
📅  最后修改于: 2021-01-09 15:03:43        🧑  作者: Mango
什么是风险?明天的问题是今天的风险。因此,“风险”的明确定义是一个可能会造成一些损失或威胁到项目进度的问题,但尚未发生。这些潜在问题可能会损害成本,项目的进度或技术成功以及软件设备或项目团队士气的质量。风险管理是一种在这些问题可能损坏项目之前确定解决和消除这些问题的系统。我们需要将风险(作为潜在问题)与项目的当前问题区分开。解决这两种问题需要不同的方法。例如,由于我们无法选择具有正确技术技能的人员...
📅  最后修改于: 2021-01-09 15:04:39        🧑  作者: Mango
风险管理活动风险管理包括三个主要活动,如图所示:风险评估风险评估的目的是在风险造成损失的情况下划分风险。对于风险评估,首先,应通过两种方法对每种风险进行评级:风险变为现实的可能性(表示为r)。问题的后果与该风险(表示为s)有关。基于这两种方法,可以估算每种风险的优先级:p = r * s其中p是必须控制风险的优先级,r是风险变为真实的可能性,s是由于风险变为真实而造成的损失的严重性。如果设置了所有...
📅  最后修改于: 2021-01-09 15:05:36        🧑  作者: Mango
项目计划项目任务计划是一项重要的项目计划活动。它包括确定何时执行哪些功能。为了计划项目计划,软件项目经理希望执行以下操作:确定完成项目所需的所有功能。将大型功能分解为小型活动。确定各种活动之间的依赖关系。为完成活动所需的持续时间确定最可能的大小。将资源分配给活动。计划不同活动的开始和结束日期。确定关键路径。一种关键方法是决定项目持续时间的活动组。计划软件计划的第一种方法涉及识别完成项目所需的所有功...
📅  最后修改于: 2021-01-09 15:06:31        🧑  作者: Mango
人事策划人事计划负责人员配备。人员配备与任命人员一起处理由组织结构确定的职位。它涉及:人员定义要求招聘(确定,面试和选择候选人)补偿性开发促进剂对于人员计划和调度,为子系统和系统中的必要组件做出努力并制定调度大小会很有帮助。在计划时,当系统方法尚未完成时,计划者只能考虑了解系统中的大型子系统以及这些子系统中的主要模块。一旦估计了项目计划,并且知道了各个阶段和功能的工作量和时间表,就可以实现人员要求...
📅  最后修改于: 2021-01-09 15:07:26        🧑  作者: Mango
软件需求规格软件开发过程的需求阶段的生产是软件需求规范(SRS)(也称为需求文档)。该报告为软件工程活动奠定了基础,并且在提出和分析整个需求时正在构建。SRS是一份正式报告,可作为软件的表示形式,使客户能够查看它是否符合他们的要求。而且,它包括用户对系统的要求以及系统要求的详细规格。SRS是针对特定软件产品,程序或在特定环境中执行特定功能的一组应用程序的规范。根据谁编写它,它有几个目标。首先,SR...
📅  最后修改于: 2021-01-09 15:08:19        🧑  作者: Mango
需求分析需求分析是启发后的重要且必不可少的活动。我们分析,细化和审查收集的需求,以形成一致且明确的需求。该活动将复查所有需求,并可能提供整个系统的图形视图。分析完成后,预计项目的可理解性可能会大大提高。在这里,我们还可以使用与客户的互动来澄清混淆点,并了解哪些需求比其他需求更重要。需求分析的各个步骤如图所示:(i)绘制上下文图:上下文图是一个简单的模型,用于定义拟议系统与外部世界的边界和接口。它标...
📅  最后修改于: 2021-01-09 15:09:15        🧑  作者: Mango
数据流程图数据流图(DFD)是系统内信息流的传统可视表示形式。简洁明了的DFD可以以图形方式描述正确数量的系统需求。它可以是手动的,自动的或两者的结合。它显示了数据如何进入和离开系统,更改信息的方式以及数据的存储位置。DFD的目的是显示整个系统的范围和边界。它可以用作系统分析师和按顺序作为重新设计系统起点的任何人员之间的通信工具。 DFD也称为数据流图或气泡图。关于DFD的以下观察是必不可少的:所...
📅  最后修改于: 2021-01-09 15:10:08        🧑  作者: Mango
数据字典数据字典是一个文件或一组文件,其中包含数据库的元数据。数据字典保存有关数据库中其他对象的记录,例如数据所有权,与其他对象的数据关系以及其他数据。数据字典是任何关系数据库的重要组成部分。具有讽刺意味的是,由于它的重要性,它对于大多数数据库用户都是不可见的。通常,只有数据库管理员才能与数据字典进行交互。数据字典通常包含有关以下内容的信息:数据项名称别名描述/目的相关数据项取值范围数据结构定义/...
📅  最后修改于: 2021-01-09 15:11:07        🧑  作者: Mango
实体关系图ER模型是软件工程中用于生成信息系统概念数据模型的一种数据建模方法。使用这种ER建模方法创建的图称为实体关系图或ER图或ERD。ERD的目的通过构建ERD的步骤,数据库分析师可以更好地理解要包含在数据库中的数据。ERD用作文档工具。最后,ERD用于将数据库的逻辑结构连接到用户。特别是,ERD有效地将数据库的逻辑传达给用户。ER图的组成1.实体实体可以是现实世界的对象,无论是有生命的还是无...
📅  最后修改于: 2021-01-09 15:12:00        🧑  作者: Mango
软件配置管理当我们开发软件时,产品(软件)在维护阶段会经历很多变化;我们需要有效地应对这些变化。几个人(程序)共同努力实现这些共同目标。这个人生产几个工作产品(SC项目),例如,调试期间使用的模块的中间版本或测试数据,以及最终产品的一部分。包含作为软件过程一部分生成的所有信息的元素统称为软件配置。随着软件开发的进行,软件配置元素(SCI)的数量迅速增长。这些由SCM处理和控制。这是我们需要软件配置...
📅  最后修改于: 2021-01-09 15:12:54        🧑  作者: Mango
单片机程序它使用的工具可以确保对适当的组件进行了必要的更改。 SCM流程定义了许多任务:识别软件配置中的对象版本控制换控制模式配置审核状态报告身份证明基本对象:软件工程师在分析,设计,代码或测试过程中创建的文本单位。聚合对象:基本对象和其他聚合对象的集合。设计规范是一个聚合对象。每个对象都有一组独特的特征来唯一标识它:名称,描述,资源列表和“实现”。可以使用模块互连语言(MIL)描述配置对象之间的...
📅  最后修改于: 2021-01-09 15:13:50        🧑  作者: Mango
软件质量保证什么是质量?质量定义为任何可测量的特征,例如正确性,可维护性,可移植性,可测试性,可用性,可靠性,效率,完整性,可重用性和互操作性。质量有两种:设计质量:设计质量是指设计师为项目指定的特征。材料的等级,公差和性能规格均会影响设计的质量。符合质量:符合质量是在制造过程中遵循设计规范的程度。一致性程度越高,一致性质量水平越高。软件质量:软件质量被定义为符合所有明确开发的功能和性能要求,明确...