软件工程基础知识总结(期末复习)

一、软件

软件的演变历程

  1. 软件是一个发展的概念。
    不同时期对软件的解释有所不同,这是由于软件的功能、开发方式以及使用方式在不断发生变化,因而对它的解释也在发展。

软件是什么

  1. 软件是一种工具
    (1)科学计算
    (2)商业计算和数据处理
    (3)计算和信息处理
  2. 软件的核心是程序
    (1)软件 = 程序 + 文档 + 数据
    (2)编程是软件开发的核心活动,一个软件工程师必须首先能够很好的编程。

软件的分类

  1. 按软件作用划分
  2. 按软件功能划分
  3. 按软件规模划分
  4. 按软件工作方式划分
  5. 按软件服务对象的范围划分
  6. 按软件应用领域划分

二、软件危机

软件危机的定义:

  1. 在计算机软件的开发和维护过程中所遇到的一系列严重问题。

软件危机的主要特征

  1. 软件不满足用户需求
    (1)软件需求分析不充分,开发出的系统与实际需求有距离
  2. 软件质量难于保证
    (1)软件质量保证技术(审查、复审、程序正确性证明和测试)还没有坚持不懈地应用到软件开发的全过程
    (2)投入使用后经常出故障
  3. 软件缺乏文档资料
    (1)软件不仅仅是程序,还应有一整套与程序代码完全一致的文档资料
  4. 软件难以维护
    (1)维护难度较大
    (2)维护成本过高
  5. 软件开发生产率无法满足人们对软件的生产要求
    (1)不能充分利用现代计算机硬件提供的巨大潜力
  6. 软件开发成本和进度估计不准确
    (1)开发成本超出预算
    (2)实际进度一再拖延
  7. 软件的成本不断提高
    (1)硬件下降:微电子技术的进步和生产自动化程度的提高
    (2)软件上升:需要大量人力、软件规模和数量不断扩大

软件工程是什么

  1. 软件工程是一种工程活动
  2. 软件工程是科学性、实践性与工艺性并重的

软件工程层次图

软件工程的目标

  1. 低成本,高质量

软件工程的基本原则(Boehm七条)

  1. 分阶段计划、严格管理
  2. 阶段审查
  3. 产品控制
  4. 采用现代程序设计技术
  5. 结果清晰审查
  6. 开发小组小而精
  7. 承认不断更新、改进是必要的

软件生命周期

  1. 需求开发(需求工程师>>>>>软件解决方案)
    (1)需求获取:理解应用背景
    (2)需求分析:明确问题和目标
    (3)需求定义:定义软件解决方案
    (4)需求验证:确保能够解决问题和满足目标
    (5)需求管理
  2. 软件设计(软件设计师>>>>>软件构建方案)
    (1)软件总体设计
    1)将软件系统划分为不同的子系统或模块,确定各子系统和模块的功能
    2)明确各子系统和模块对外交互方式与接口,满足需求并符合重要的设计约束。
    3)软件总体设计原型
    4)软件总体设计说明
    (2)软件详细设计
    1)在总体设计的基础上,定义重要的过程、类方法、数据结构或者复杂算法,满足该模块所担负的职责
    2)软件详细设计说明
    (3)人机交互设计
    1)建立系统与用户之间的交互机制
  3. 软件构造(程序员>>>>>软件产品)
  4. 软件测试
  5. 软件交付
    (1)安装与部署
    (2)培训用户并提供文档支持
    (3)项目总结和项目评价
  6. 软件维护
    (1)移除缺陷
    (2)适应环境变化
    (3)提高软件质量
    (4)满足新的需求
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值