系统分析与设计-Assignment1

本文探讨了软件工程的定义,深入分析了软件危机的本质原因和克服方法。介绍了软件生命周期的各个阶段和常见模型,如瀑布、螺旋和敏捷。进一步阐述了SWEBoK的15个知识域,涵盖软件需求、设计、测试、维护等方面,并提及CMMI的五个级别。最后,简述了SEWBOK作为软件工程知识体系的角色和目标。
摘要由CSDN通过智能技术生成

软件工程的定义

  • IEEE的定义:将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
  • ISO的定义:软件工程过程是将输入转化为输出的一组彼此相关的资源和活动。
  • wiki的定义:软件工程是软件开发领域里对工程方法的系统应用。
  • 德国计算机学家BarryBoehm的定义:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
  • 我的理解:将工程化的方法应用于软件开发、运行、维护, 并提供规范系统的操作流程和衡量标准。

软件危机

本质原因

  • 落后的软件生产方式无法满足迅速增长的计算机软件需求
  • 计算机的计算能力的极速发展
  • 软件复杂性越来越大、变化越来越快

表现

  • 开发进度和成本难以控制
  • 产品功能难以满足
  • 产品质量无法保证
  • 项目难以管理,代码难以维护
  • 软件文档不完备

克服方法

  • 利用软件工程克服软件危机,构建生产软件的方法与知识体系。 
  • 利用软件工程(含概念、原则、方法、技术和工具)指导和支持软件系统的生产活动,以期达到降低软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。

软件生命周期

定义

在时间维度,对软件项目任务进行划分,又成为软件开发过程。

常见模型

  • 瀑布模型

  • 螺旋模型

  • 敏捷开发

SWEBoK 的 15 个知识域

软件工程的时间知识域

  • 软件需求:涉及软件需求的引出、协商、分析、规范和验证
  • 软件设计:软件设计过程是软件工程生命周期活动,在该活动中,软件需求被分析,以产生对软件内部结构及其行为的描述,这些描述将作为软件构建的基础。
  • 软件构造:软件构建是指通过详细设计、编码、单元测试、集成测试、调试和验证相结合,对工作软件进行详细创建。
  • 软件测试:测试是对产品质量进行评估并通过识别缺陷来改进产品质量的活动。
  • 软件维护:软件维护包括增强现有的功能,使软件适应新的和修改的操作环境,以及纠正缺陷。
  • 软件配置管理:系统的配置是硬件、固件、软件或它们的组合的功能和/或物理特征。它还可以看作是硬件、固件或软件项目的特定版本的集合,这些版本根据特定的构建过程组合在一起,以服务于特定的目的。
  • 软件工程管理:软件工程管理包括计划、协调、测量、报告和控制一个项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的。
  • 软件工程过程:软件工程KA涉及软件生命周期过程的定义、实现、评估、度量、管理和改进
  • 软件工程模型和方法:软件工程模型和方法KA解决了包含多个生命周期阶段的方法;针对特定生命周期阶段的方法由其他ka覆盖。
  • 软件质量:软件质量是一个普遍存在的软件生命周期问题,此外,软件质量KA还包括软件质量的基础(软件工程文化、软件质量特征、软件质量的价值和成本、软件质量改进)
  • 软件工程职业实践:软件工程专业实践是指软件工程师必须具备的知识、技能和态度,以一种专业、负责和道德的方式来实践软件工程。

软件工程教育基础知识域

  • 软件工程经济学:软件工程经济学KA关注于在业务上下文中做出决策,以使技术决策与组织的业务目标保持一致。
  • 计算基础:计算基础KA涵盖了为软件工程实践提供必要的计算背景的基本主题。
  • 数学基础:数学基础KA涵盖了为软件工程实践提供必要数学背景的基本主题。
  • 工程基础:工程基础KA涵盖了为软件工程实践提供必要的工程背景的基本主题。

CMMI 的五个级别

  • 初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。 
  • 可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。 
  • 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。 
  • 量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。 
  • 优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

 

简要描述SEWBOK

  • SWEBOK是国际IEEE组织发布的针对软件工程知识领域研究与实践的权威指南,专注于软件工程领域的研发、实践、标准、文献等方面的权威指南。涉及7个相关学科(计算机工程、计算机科学、管理、数学、项目管理、质量管理、系统工程),15个知识域。
  • 其目标为:
    • 促进世界范围内对软件工程的一致观点
    • 阐明软件工程相对其他学科的位置并明确他们的分界
    • 刻画软件工程学科的内容
    • 提供使用知识体系的主题
    • 为开发课程和个人认证与许可材料,提供一个基础

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值