一、软件工程概述

news2024/11/15 20:53:16

软件工程概述

  • 1. 软件的概念和特点
  • 2. 软件危机的产生
  • 3. 软件工程的概念和发展过程
  • 4. 软件工程知识体系与职业道德

1. 软件的概念和特点

  • 软件定义
    软件=程序+数据+文档。
    在这里插入图片描述
  • 软件生存周期
  1. 问题定义:要解决的问题是什么?
  2. 可行性分析:对于上阶段所确定的问题有行得通的解决办法吗?
  3. 需求分析:软件必须做什么,确定软件系统的功能、性能、数据和界面等要求,确定逻辑模型。
  4. 总体设计:应该如何解决这个问题。两个任务:确定可能的系统,预估成本和效益;设计软件的结构。
  5. 详细设计:应该怎么具体地实现这个系统?
  6. 编码和单元测试:编写程序,分单元测试
  7. 综合测试:通过各种测试使软件达到预定的要求。集成测试:将各模块串联起来测试;验收测试:用户参与测试,根据规格说明书。
  8. 维护:通过各种必要的维护活动使系统持久地满足用户的需要。有改正性、适应性、完善性和预防性四类维护活动。
  • 软件特点
    在这里插入图片描述

  • 软件分类
    在这里插入图片描述
    在这里插入图片描述
    项目软件(教务管理系统)和产品软件(互联网软件)。

  • 软件发展
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2. 软件危机的产生

  • 软件危机
    在计算机软件的开发和维护过程中所遇到的一系列严重问题。如:项目超出预算、项目超过计划完成时间、软件运行效率很低、软件质量差、软件通常不符合要求、项目难以管理并且代码难以维护、软件不能交付。1968提出

  • 软件危机产生原因

    1. 软件成本日益增长
      在这里插入图片描述
    2. 软件技术进步<需求增长
      在这里插入图片描述
      客观:软件本身特点。逻辑部件太多,代码规模过于庞大,复杂程度过高。通过技术进步可以解决,如机器学习的发展。
      主观:不正确的开发方法。忽视需求分析,错误认为:软件开发=程序编写,轻视软件维护。需求正确的管理方法和协同合作方法。
  • 解决危机

    1. 对计算机软件有一个正确的认识:软件!=程序
    2. 必须充分认识到软件开发不是某个劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
    3. 推广使用在实践中总结出来的开发软件的成功技术和方法。开发和使用更好的软件工具。

3. 软件工程的概念和发展过程

  • 软件工程概念

在这里插入图片描述
将大问题分解为小问题,不断完善解决。
定义:(1)应用系统化的、学科化的、定量的方法,来开发、运行和维护软件,即将工程应用到软件;(2)对(1)中各种方法的研究。
目标:软件工程的目标是在给定的时间和预算内,按照用户的需求,开发易修改、高效、可靠、可维护、适应性强、可移动、可重用的软件。

  • 软件工程要素
    三要素:方法、工具、过程。(质量焦点)

    1. 工具
      它为软件工程的过程和方法提供自动化或半自动化的工具支持。将若干工具集成起来,与软件工程数据库和计算机系统构成一个支持软件开发的系统称“计算机辅助软件工程CASE”,系统中某一工具的信息加工结果可以作为另一工具的输入。集成的软件工程工具再加上人的因素构成了软件开发环境。
    2. 方法
      完成软件工程项目的技术手段。它支持项目计划和估算、系统和软件需求分析、设计、编程、测试和维护。软件工程方法依赖一组原则,它贯穿软件工程的各个环节。软件工程方法分为两类:结构化方法和面对对象方法。
    3. 过程
      贯穿软件开发的各个环节,在各个环节之间建立里程碑;管理者在软件工程过程中对软件开发的质量、进度、成本进行评估、管理和控制;技术人员采用相应的方法和工具生成软件工程产品(模型、文档、数据、报告、表格等)。
  • 软件工程发展
    在这里插入图片描述
    在这里插入图片描述

  • 软件工程原则(B.W.Boehm, 1983)

    1. 使用阶段性生命周期计划的管理
    2. 进行连续的验证(测试应该早进行)
    3. 保证严格的产品控制
    4. 使用现代编程工具/工程实践
    5. 保持清晰的责任分配
    6. 用更好更少的人
    7. 保持过程改进

4. 软件工程知识体系与职业道德

  • 软件工程知识体系
    在这里插入图片描述
    在这里插入图片描述
    多学科交融:
    在这里插入图片描述
  • 软件工程与计算机科学
    在这里插入图片描述
    在这里插入图片描述
  • 软件工程误解
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 软件工程职业道德和责任规范
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2034401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧农业新篇章:实时监测与精细化管理

智慧农业&#xff0c;作为现代农业技术革命的先锋&#xff0c;正引领着一场深刻的产业变革。它通过融合物联网、大数据、人工智能等前沿科技&#xff0c;实现了对农业生产环境的实时监测与精细化管理&#xff0c;开启了农业发展的新篇章。这一转型不仅提升了农产品的质量与产量…

云仓酒庄湖南团队启航新征程:筑基新质生产力,深耕啤酒屋市场

原标题&#xff1a;云仓酒庄湖南团队启航新征程&#xff1a;筑基新质生产力&#xff0c;深耕啤酒屋市场 在当前经济转型升级的关键期&#xff0c;新质生产力的崛起正成为推动行业发展的重要引擎。云仓酒庄湖南团队积极响应市场变革&#xff0c;率先启动基础培训项目&#xff0…

基于paddlehub 未戴口罩检测算法

一、简介 以前大夏天戴着口罩别人觉得你不正常&#xff0c;现在上街不戴口罩你不正常。 本文要讲的未戴口罩算法是基于paddlehub提供的模型&#xff0c;paddlehub是百度飞浆(PaddlePaddle)下的深度学习模型开发工具。 PaddleHub旨在为开发者提供丰富的、高质量的、直接可用的…

beautifulsoup的简单使用

文章目录 beautifulsoup一. beautifulsoup的简单使用1、安装2、如何使用3、对象的种类 二、beautifulsoup的遍历文档树2.1 子节点.contents 和 .children descendants2.2 节点内容.string.text 2.3 多个内容.strings**.stripped_strings** 2.4 父节点.parent.parents 三、beaut…

AD如何在封装制作时添加禁止铺铜区域?

在PCB封装库中&#xff0c;选择“Top Layer”层执行菜单命令“放置→多边形铺铜挖空”&#xff0c; 然后画好所需要的挖空的区域即可&#xff0c;如果是设计完PCB之后才来进行铺铜挖空的&#xff0c;可以在添加完铺铜挖空之后选中器件右击点选“Update PCB With All”&#x…

PyFluent入门之旅(10)Fluent Python Console

之前的文章中都在介绍如何在Fluent外部环境使用PyFluent&#xff0c;那么是否有可能在Fluent内部使用PyFluent呢&#xff1f; 自Ansys 2023 R1开始&#xff0c;Ansys Fluent的内置控制台支持Python命令&#xff0c;这使在Fluent内部控制台使用PyFluent成为了可能。 准备工作 …

【SpringBoot】9 定时任务(Quartz)

介绍 实现方式 java定时任务调度的实现方式&#xff1a;Timer&#xff0c;ScheduledExecutor&#xff0c;Spring Scheduler&#xff0c;JCron Tab&#xff0c;Quartz 等。 Quartz Quartz是一个由Java开发的开源项目&#xff0c;它可以与J2EE、J2SE应用程序相结合也可以单独…

直播预约|8月14日,无人系统开发阶段故障注入与安全测试详解

电机失效故障硬件在环仿真 01 培训背景 卓翼飞思实验室暑期公益培训(第六期)将于8月14日&#xff0c;19:00开启&#xff01;通过【飞思实验室】视频号线上直播&#xff0c;由中南大学计算机学院特聘副教授&#xff0c;RflySim平台总研发负责人戴训华副教授主讲。 第六期培训将…

Navicat Premium15 下载与安装(免费版)以及链接SqlServer数据库

转自:https://blog.csdn.net/m0_75188141/article/details/139842565

Hi910X 系列恒压恒流 BUCK 控制器

1. 产品介绍 Hi910X 是一系列外围电路简洁的宽输入电压降压 BUCK 恒压恒流驱动器&#xff0c;适用于 8-150V 输入电压范围的 DCDC 降压应用。Hi9100、Hi9101、Hi9102、Hi9103智芯半导体降压恒压系列 Hi910X 采用我司专利算法&#xff0c;实现高精度的降压恒压恒流。支持输出…

CV每日论文--2024.7.24

1 、AutoAD-Zero: A Training-Free Framework for Zero-Shot Audio Description 中文标题&#xff1a;T2V-CompBench&#xff1a;组合文本到视频生成的综合基准AutoAD-Zero&#xff1a;零样本音频描述的免训练框架 简介&#xff1a;我们的目标是以无需训练的方式为电影和电视剧…

入门岛第2关Python基础知识

任务一 :Python实现wordcount 实现一个wordcount函数&#xff0c;统计英文字符串中每个单词出现的次数。返回一个字典&#xff0c;key为单词&#xff0c;value为对应单词出现的次数。 任务二:debug流程 安装好Python插件在 远程服务器中 在程序中打断点 debug 点击VSCode侧…

haproxy是什么?以及haproxy基础实验

目录 一、什么是负载均衡&#xff1f; 二、为什么要用haproxy&#xff1f; 三、haproxy的基本部署实验&#xff1a; 3.1 基本配置实验 环境准备&#xff1a; 详细步骤&#xff1a; 3.2 haproxy-多进程与多线程实验&#xff1a; 多进程&#xff1a; 多线程&#xff1a;…

【云服务器】 阿里云服务器免费试用3个月 不用学生认证

审核大大&#xff0c;这个真的不是广告呀...也是我琢磨了一下发现的一个方式&#xff0c;阿里云会找我打广告吗&#xff1f;&#xff1f; 这个羊毛不用学生认证&#xff01;&#xff01;只需登录和实名认证和即可 学生实名认证是送优惠券300&#xff0c;我没用上&#xff0c;…

Google 开发者大会(北京站) Play政策会议内容解读

2024年Google开发者大会的会议已结束&#xff0c;很庆幸自己参与了 Google Play 专场&#xff1a;全球视野&#xff0c;助力出海创新与增长 [13:00 - 15:10] 的工作坊内容&#xff0c;受益匪浅。 Google对未来Play市场的愿景&#xff0c;Play Console后台的全新功能&#xff0…

漏洞复现-XXL-JOB accessToken 存在身份认证绕过漏洞

1.漏洞描述 XXL-JOB是许雪里&#xff08;XXL-JOB&#xff09;社区的一款基于java语言的分布式任务调度平台。 2.影响版本 XXL-JOB < 2.2.0 3.影响范围 4.漏洞分析 首先通过微步的漏洞通报说是 src/main/resources/application.properties 默认情况下是非空的&#xff…

HAPropy全功能详解

在一个lvs的环境中&#xff0c;如果服务器出现故障&#xff0c;按照lvs的策略却依然会将访问方式到故障服务器&#xff0c;必然是没有回应的结果&#xff0c;在一个集群中&#xff0c;一台服务器出现故障&#xff0c;理应灵活的去寻找没有故障的服务器&#xff0c;这种方法可以…

免费【2024】springboot 个人博客系统的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

C语言寻找波峰值

做到项目有需要压力采集的处理&#xff0c;为了便于在程序中计算采集的波形数据&#xff0c;这里简单写一个查找波峰的程序 首先用Python把波峰点找出来&#xff0c; 方便我们对照 我这里主要是判断波峰&#xff0c;波谷的原理也大同小异&#xff0c;改一下程序就行 波峰判断…

顺丰科技2025届校招面试流程、SHL测评题型、笔试题库及答案解析

顺丰科技有限公司成立于2009年&#xff0c;是顺丰旗下专注供应链数智解决方案的科技服务商。我们深耕于供应链数智化十余年&#xff0c;致力于构建卓越的智慧供应链&#xff0c;重塑全球商业文明和生产方式。我们基于对供应链场景的深度理解和行业头部公司的数智化实战经验&…