软件系统分析与设计HW1

软件工程经济学期末复习第三章 软件工程经济学期末复习总结 第3章 软件的成本、工期与定价分析 本章目标 理解成本的概念、经济内涵和特点; 了解成本的分类 掌握软件成本测算的影响因素分析 掌握功能分解法、Delphi法、影响因子法、类比法,求 解软件成本和工期。 掌握直线折旧、加速折旧法 理解价值工程分析过程,及确定价值分析的考察对象的 方法:价值系数法和ABC法 成本(Cost): —是取得各项生产要素、商品或劳务以及为实现特定经济目的而发生的费用。 1、成本的经济内容 劳动资料 劳动对象 劳动者 2、成本特点 消耗性 阅读详情

软件工程的定义

IEEE Standard 610.12

Software engineering is “(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software,” and “(2) the study of approaches as in (1).”

翻译

软件工程是(1)将系统的、规范的、可量化的方法应用到软件开发、运营和维护中,也就是将工程应用于软件中和(2)对(1)中方法的研究。

解释导致 software crisis 本质原因、表现,述说克服软件危机的方法

软件危机是计算机科学早期使用的一个术语,指在规定的时间内编写有用而高效的计算机程序的困难性。

软件危机的本质原因

软件危机是由于计算机能力的迅速提高和无法解决的问题的复杂性造成的。随着软件复杂性的增加,由于现有方法的不足,出现了许多软件问题。引用1972年图灵奖获得者 Edsger Dijkstra的话,软件危机的本质原因是"机器已经变得强大了几个数量级!坦率地说:只要没有机器,编程根本就不是问题;当我们有一些弱的计算机时,编程变成了一个温和的问题,现在我们有了巨大的计算机,编程也变成了一个同样巨大的问题。"计算能力已经超过了程序员有效利用这些能力的能力。在过去的几十年中,开发了各种过程和方法来改进软件质量管理,如过程编程和面向对象编程。然而,大型的、复杂的、没有详细说明的、涉及不熟悉方面的软件项目仍然容易受到大型的、未预料到的问题的影响。

软件危机的表现

  • 项目运行超预算
  • 项目运行超时
  • 软件效率很低
  • 软件质量很差
  • 软件通常不符合需求
  • 项目难以管理,代码难以维护
  • 软件从未交付过

克服软件危机的方法

  • 建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。
  • 研制和使用软件工具,用以辅助进行软件项目管理与技术生产,将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。
  • 基于程序变换、自动生成和可重用软件等软件新技术研究也已取得一定的进展,把程序设计自动化的进程向前推进一步。

软件生命周期

软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。常见有瀑布模型、螺旋模型、敏捷开发模型等。

SWEBoK 的 15 个知识域

  • Software Requirements:软件需求
    关注软件需求的启发,协商,分析,规范和验证。软件需求表达了对软件产品的需求(needs)和限制,有助于解决一些现实问题。
  • Software Design:软件设计
    定义系统或组件的体系结构,组件,接口和其他特征的过程以及该过程的结果。
  • Software Construction:软件构建
    指通过结合详细设计,编码,单元测试,集成测试,调试和验证来详细创建工作软件。
  • Software Testing:软件测试
    测试是一项旨在通过识别缺陷来评估产品质量并改进产品质量的活动。
  • Software Maintenance:软件维护
    软件维护包括增强现有功能,调整软件以在新的和修改的操作环境中运行,以及纠正缺陷。这些类别称为完善,自适应和纠正性软件维护。
  • Software Configuration Management:软件配置管理
    软件配置管理(SCM)是在不同时间点识别系统配置的规训(discipline),用于系统地控制配置的改变,以及在整个软件生命周期中维持配置的完整性和可追溯性。
  • Software Engineering Management:软件工程管理
    软件工程管理涉及规划,协调,测量,报告和控制项目或程序,以确保软件的开发和维护是系统化的,规范化的和量化的。
  • Software Engineering Process:软件工程过程
    关注软件生命周期过程的定义,实施,评估,测量,管理和改进。
  • Software Engineering Models and Methods:软件工程模型和方法
    解决了涵盖多个生命周期阶段的方法。
  • Software Quality:软件质量
    是许多SWEBOK V3 KAs中普遍存在的软件生命周期关心问题。
  • Software Engineering Professional Practice:软件工程专业实践
    关注软件工程师要专业、负责、道德地实践软件工程所必须具备的知识,技能和态度。
  • Software Engineering Economics :软件工程经济学
    软件工程经济学KA关注的是在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。
  • Computing Foundations:计算基础
    计算基础KA涵盖了提供软件工程实践所需的计算背景的基础主题。
  • Mathematical Foundations:数学基础
    数学基础KA涵盖了提供软件工程实践所必需的数学背景的基础主题。涵盖的主题包括集合,关系和功能;基本命题和谓词逻辑;证明技巧;图论和树;离散概率;语法和有限状态机;数论。
  • Engineering Foundations:工程基础
    工程基础KA涵盖了提供软件工程实践所必需的工程背景的基础主题。涵盖的主题包括经验方法和实验技术;统计分析;测量和指标;工程设计;仿真与建模;根本原因分析。

简单解释 CMMI 的五个级别

  1. 初始级(Initial):软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

  2. 可管理级(Managed):建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

  3. 已定义级(Defined):已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

  4. 量化管理级(Quantitatively Managed):分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

  5. 优化管理级(Optimizing): 过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

用自己语言简述 SWEBok 或 CMMI

CMMI全称Capability Maturity Model Integration,是能力成熟度集成模型,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的,其整合传统上独立的组织功能,设定流程改进目标和优先级,为质量流程提供指导,并为评估当前流程提供参考。该架构能够用来度量你的有效性和实用性;能够找出这样的一些机会,继续改进的机会,包括在商业目标、策略还有降低项目的风险等方面。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,对于IT产业而言,其帮助IT企业对软件在工作的时候进行管理和不断的改进的,大大的帮助了企业的开发,也帮助企业增强了改进能力,从而可以帮助企业壮大。

特斯拉Model Y全自动驾驶交付:HW5.0与FSD V14.x的协同进化 本文深入解析特斯拉Model Y全自动驾驶交付中的HW5.0硬件与FSD V14.x软件的协同进化。HW5.0通过多模态传感器融合和强大算力实现精准环境感知,而FSD V14.x采用端到端神经网络模拟人类驾驶决策。两者的完美配合使Model Y在复杂路况中展现出类人驾驶能力,同时揭示了自动驾驶技术的未来优化方向。 阅读详情

相关推荐

从零构建EtherCAT从站:SSC工具配置与TwinCAT3 PDO/SDO调试实战

本文详细介绍了从零构建EtherCAT从站的完整流程,重点讲解SSC工具配置与TwinCAT3 PDO/SDO调试实战。通过解析EtherCAT通信机制、PDO与SDO的核心概念,提供SSC工具配置技巧、XML文件生成与校验方法,以及TwinCAT3环境下的调试经验,帮助开发者高效完成EtherCAT从站开发与优化。

weixin_42520573的博客 342

IEEE指南:开发系统需求规格

 IEEE指南:开发系统需求规格 译者说明:本指南中系统需求与产品需求相同,系统需求一般不同于硬件需求或软件需求,系统工程师将系统需求分别分配给硬件和软件后才形成硬件需求和软件需求,但是在一个纯软件的系统中,系统需求等同于软件需求。关于这一点读者可以参考译者所写的《需求管理介绍》。由于原文作为IEEE标准的特殊性,本译文力争做到准确地表达原文的内容。对于译者无法准确领会或汉语难于表达其含义

gerly的专栏 1321

深入MIPI DSI显示技术栈 (三) DSI vs CSI-2:孪生协议的本质差异

MIPI协议中的DSI与CSI-2存在本质差异:DSI为输出导向协议(Host→Display),用于屏幕控制和画面传输;CSI-2为输入导向协议(Sensor→Host),专攻图像采集。二者在包结构、同步机制、物理层优化等方面均有显著区别:DSI支持命令包和BLLP包,CSI-2具备嵌入式数据包;DSI时钟模式以Burst为主,CSI-2支持Continuous模式。典型场景中,二者协同工作(如手机相机预览),需注意时序同步和延迟控制。设计混合系统时,需合理规划虚拟通道和物理层资源,充分发挥这对&quot

GateWorld的博客 2106

SWEBOK软件工程知识体系 - 12.软件工程经济学

软件工程经济学(SOFTWARE ENGINEERING ECONOMICS) 软件工程经济学是关于在商业环境中做出与软件工程相关的决策。软件产品、服务和解决方案的成功取决于良好的业务管理。然而,在许多公司和组织中,软件业务与软件开发和工程的关系仍然很模糊。这个知识领域(KA)提供了软件工程经济学的概述。 经济学是研究价值、成本、资源及其在特定环境或情况下的关系的学科。在软件工程学科中,活动有成本,但是产生的软件本身也有经济属性。软件工程经济学提供了一种系统地研究软件和软件过程属性的方法,将它们与经济度量.

哼哼的博客 3787

KiCad 7.0 + 嘉立创打样:从原理图到实物,打造你的双LLCC68 LoRa串口透传板

本文详细介绍了使用KiCad 7.0设计双LLCC68 LoRa串口透传板的完整流程,从原理图设计到嘉立创打样。重点解析了AVR+LLCC68组合的优势、双模块布局的电磁兼容设计、SPI接口配置及射频走线技巧,并提供了实测数据和常见问题解决方案,帮助开发者高效实现物联网设备的低功耗远距离通信。

weixin_28693447的博客 260

transformer优化(一)-UNeXt 学习笔记

​它在早期阶段使用卷积,在潜在空间阶段使用 MLP。通过一个标记化的 MLP 块来标记和投影卷积特征,并使用 MLP 对表示进行建模。 ​

PLANTTHESON的博客 2033

Software Engineering 课程笔记 -- Reading

Software Engineering 课程笔记 -- Reading1.25-Process, Risk and Scheduling1.27-Measurement2.1-Quality Assurance and TestingSoftware Engineering at Google2.3-Test Suite Quality Metrics2.8-Test Inputs, Oracles and Generation2.10-Code Inspection and Review2.15-Dyn

Hanhahahahah的博客 1920

GEE土地分类:土地分类精度评定和分类后影像进行(Kmeans,Gmeans,SNIC (Simple Non-Iterative Clustering)聚类分析和滤波(focal_mode)分析

使用聚类分析和滤波分析来进一步处理土地分类后的影像数据。聚类分析可以帮助您识别影像中的相似区域。您可以使用聚类算法,如K均值聚类或层次聚类,将像素分组到具有相似像素值的群集中。这可以帮助您更好地理解图像中的空间模式和结构,并可能揭示有用的信息。滤波分析可以帮助您平滑图像并去除噪声。常见的滤波器包括中值滤波器和高斯滤波器。这些滤波器可以帮助您消除图像中的随机变化,并使其更易于解释和分析。

此星光明博客 2516

软件工程概述(下)

软件工程是指导计算机软件开发和维护的一门学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。以下是NATO和IEEE给出的软件工程定义:为了经济地获得可靠的且能在实际机器上运行的软件,而建立和使用完善的工程原理。1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,即把工程应用于软件;2)研究1)中的途径。

阿文(alvin)的专栏 1937

建设银行核心系统建设历程全网最详细记录

中国建设银行核心系统数字化转型之路 摘要:中国建设银行自1954年成立以来,其核心系统经历了从分散到集中、再到分布式架构的演进历程。2002-2005年完成的数据大集中工程(DCC)实现了全行业务统一管理,2010年启动的"新一代核心系统"构建了企业级架构,率先实现"一次研发,全行共享"。2020年起全面推进主机下移战略,通过分布式架构改造,攻克八大关键技术难题,于2024年7月完成境内外全量核心业务下移,日均同步数据8亿条,实现金融核心系统完全自主可控。这一转型不仅

银行信息系统应用架构详解 4872

人形机器人硬件电路设计入门

人形机器人属于。

blotemj.blog.youkuaiyun.com 230

软件系统分析与设计HW2

简答题 1.用简短的语言给出对分析、设计的理解 分析就是对用户给出的软件功能等方面的需求进行系统的研究,识别出主号问题,确定待开发软件的功能、性能、接口、数据、界面等具体的细节要求。 设计就是基于需求分析中得到的需求,构造出目标系统的逻辑模型,最终得到一个可供编码过程参考的设计模型文档。 2.用一句话描述面向对象的分析与设计的优势 面向对象的分析与设计能够构建与现实世界相对应的问题模型,并保持他们...

Chauncey Qu的博客 311

获取抖音中x-secsdk-csrf-token的方法

获取抖音中x-secsdk-csrf-token的方法

sh_moranliunian的博客 2022

系统分析与设计HW1

系统分析与设计WORK1 1.简单题 软件工程的定义 Software engineering is “(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the...

a_CMLapple的博客 207

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

系统分析与设计HW2

1.简答题 用简短的语言给出对分析、设计的理解。 分析强调对问题和要求的调查,而不需要解决方案。通过分析可以发现与问题相关的抽象,分析过程移除编程概念,强调领域语言。定义问题领域概念模型的抽象、行为和交互。 设计强调满足需求的概念解决方案,不需要将方案实现,例如对数据库模式和软件对象的描述等。通过结构框架构建系统,通过抽象分析设计软件等级结构。 ...

Messiahchen的博客 298

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

系统分析与设计-hw1

简答题 软件工程的定义 软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、和维护的工程或进行研究的学科。 解释导致 software crisis 本质原因、表现,述说克服软件危机的方法 本质原因: 软件的大量需求与软件生产力效率之间的矛盾 软件系统的复杂性与软件开发方法之间的矛盾 表现: 软件开发成本高,超出...

Chen_YuanYang的博客 297

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

系统分析与设计hw1

系统分析与设计hw1 简答题 1.软件工程的定义 根据IEEE 标准 610.12,软件工程的定义是 : “(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the a...

qq_36265825的博客 297

系统分析与设计——HW1

系统分析与设计第一次作业 1、软件工程的定义 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科,也是指将系统化、规范化、可度量的方法应用于软件的开发、运行和维护中,即,将工程化的方法应用于软件。 2、解释导致 software crisis 本质原因、表现,述说克服软...

wjnowen的博客 253

系统分析与设计 HW1

1.简答题软件工程的定义(1)将系统化、规范化、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。(2)对(1)中所述方法的研究。阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型。software crisis是指软件危机,软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现...

lihuixuaaa的博客 255

系统分析与设计hw_07

系统分析与设计hw_07 描述软件架构与框架之间的区别与联系 区别: 架构:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。 框架:框架一般是成熟的,不断升级的软件,是某种应用软件的半成品,包...

Alice_am的博客 1033

系统分析与设计 HW8

系统分析与设计 HW8一、描述软件架构与框架之间的区别与联系1.软件架构就是把系统分解为一些部件,描述这些部件的职责及他们之间的协作行为。2.框架是特定语言和技术的架构应用解决方案。框架是具体语言和技术相关的。框架是一种或多种架构的组合的实现。框架是集成了你的代码和多种第三方解决方案的工具,让你聚焦业务逻辑代码而不是技术实现。3.区别与联系:二者呈现形式不同。软件架构呈现的是一个设计规约,而框架则...

callMe坤仔的博客 345

系统分析与设计HW3

简答题 1.简述瀑布模型、增量模型(含原型方法),并分析优缺点 从项目特点、风险特征、人力资源利用角度思考 答: 瀑布模型: 简述: 瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给...

CHENXI12138的博客 252

系统分析与设计——HW4

简答题 1、用例的概念 用例是系统针对请求进行响应的行为的描述,可以说,用例是基于某种或者多种场景下的系统与用户的交互行为,简单来说,可以理解为用例就是某用户使用系统时能够进行的某操作的描述。在软件工程中,用例表示一种通过用户的使用场景来获取需求的技术,一般由软件开发者和用户共同编写。 2、用例和场景的关系?什么是主场景或 happy path? 用例和场景的关系: 场景是用例的实...

wjnowen的博客 536
上一篇: Linux常用快捷键汇总
下一篇: 软件系统分析与设计HW2
Chauncey Qu
博客等级 码龄9年 4粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值