软件工程导论——(为什么要学习软件工程?软件工程能学到什么?如何学习软件工程?)

 导论(引言):

1.为什么要学习软件工程?

         软件工程知识并不只是项目管理可以用,同样适用于开发岗。比如开发也要做需求分析和架构设计,也要做计划。学习软件工程后也可以帮助开发人员更好的理解软件项目的整个过程,不再看局限于技术实现,拥有全局的视野。软件工程就是用系统化的思维去解决一个问题。有了软件工程的保障,才能把软件开发做好。软件工程学让我知道,软件项目的开发其实是一个工程,整个开发过程是可以有效组织起来的;对于开发过程的各个阶段,已经有很多解决问题的最佳实践,有很多方法来帮助我们高效完成任务;我们还可以借助工具来协助管理,提升开发效率。

2.软件工程能学到什么?

        课程的讲授内容按照软件过程基本框架——(沟通、分析、设计、实施与维护进行组织,涉及项目可行性分析、需求分析、概要设计、详细设计、阶段评审、成本效益、软件实施、软件测试以及软件维护等。通过本课程的学习,理解软件工程基本理念与核心思想,熟悉软件工程的基础理论、工具和方法,熟悉软件质量保证的任务、目标和度量,熟悉软件项目管理基本方法与手段,理解组建团队进行软件项目或产品开发的重要性等。课程学习有助于提升学生解决实际复杂工程问题的全局观、系统能力和工程化思想。

3.应该如何学习该课程?

讨论:1.目前软件的应用(举例说明)

目前我所学所用到的软件有:Dev-c++、Eclipse-java、Visual Studio2019、VMware虚拟机-Linux、SQL-Sever 、PowerDesigner、MATLAB、SPSS、Dreamweaver等。

         2.对工程的思想的认知(举例说明)工程是指以某组设想的目标为依据,应用有关的科学知识和技术手段,通过有组织的一群人将某个(或某些)现有实体(自然的或人造的)转化为具有预期使用价值的人造产品过程。

软件工程师职业素养:

         软件工程师是对在IT行业从事软件开发、维护及管理等相关工作人员的统称。软件工程师职业包括软件架构、软件设计、软件编码、软件测试、软件维护、软件管理等一系列岗位。尽管这些岗位的分工不同,主要工作内容也有所差异,但都参与软件(系统)的设计、开发、测试、维护等过程,协助项目管理者保证所开发软件产品的质量,解决软件开发过程中的关键问题和技术难题。作为一个合格的软件工程师,除了具有扎实的计算机及软件技术相关专业技能之外,还有具有以下软件工程师职业所必备的职业素养。

  1. 自信 2.自学 3.责任心 4.沟通 5.和谐的人际关系 6.上进心 7.团队合作

第一章 软件工程学概述 

一、软件的定义

    软件是程序和所有使程序正确运行所需要的相关文档和配置信息。

    Software = Program + Data + Document

二、软件的特征

1、软件是无形的                              

2、软件副本制作简单

3、软件无磨损

三、软件的发展

  

四、软件的分类

  • 基于软件功能的划分

系统软件、支撑软件、应用软件 。

  • 基于软件工作方式的划分

实时处理软件、分时软件、交互式软件、批处理软件。

  • 基于软件规模的划分

微型软件、小型软件、中型软件、大型软件、巨大型软件、极大型软件。  

  • 基于软件失效的影响进行划分
  • 基于软件服务对象的范围进行划分  

定制软件 、产品软件。

五、软件危机

  1. 定义:软件开发和维护过程中遇到的一系列严重问题。
  2. 具体表现:

1、产品不符合用户的实际需要;

2、软件开发生产率不高,不能满足客观需要;

3、软件产品质量差;

4、对软件开发成本和进度的估计不准确;

5、可维护性差;

6、软件的文档资料不完整和不合格;

7、软件成本逐年上升。

  1. 产生原因:

1、宏观

(1)缺乏总体考虑,没有软件工程学概念或系统工程思想。——软件

(2)对业务了解支离破碎,需求分析不准。——软件

(3)企业依赖激情指挥,企业管理标准化、规范化、科学化程度不高,导致不能成功地应用“死板”的软件,它依赖于业务的“科学化”、“条理化”、“程序化” ——企业

(4)企业信息化程度和计算机应用水平低,导致无法准确描述需求。——企业

(5)一把手对信息管理的重视程度不够。——企业

(6)缺乏相互沟通,业务描述的详尽程度不能达到具备生活常识的人能够轻易理解。—— 企业、软件

2、微观

(1)软件的规模比较庞大,其开发和维护相当困难;

(2)开发人员虽然有经验,但还存在着不少错误观点,没有实行工程化的方法;

(3)不能与用户及时沟通,不能了解用户的实际需要;

(4)没有统一的软件质量管理规范;

(5)不能根据环境的变化而随时对产品进行改正。

六、软件生命周期常见过程

  1. 制定计划——解决什么问题,目标及其可行性(技术、人员、财力、社会)
  2. 需求分析——做什么、验收标准
  3. 总体设计——怎么做
  4. 详细设计——具体怎么做
  5. 程序编写——实现
  6. 软件测试——保证软件质量
  7. 运行/维护——保证正常而可靠地运用

目录

 导论(引言):

1.为什么要学习软件工程?

2.软件工程能学到什么?

3.应该如何学习该课程?

第一章 软件工程学概述 


      

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pnpm : 无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。

一、问题描述 在VS Code中运行Terminal中运行pnpm install(npm或yarn也类似)报错: S D:\workspace\xxx\xxx> pnpm install pnpm : 无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息…

DES加密算法优缺点大揭秘:为何它逐渐被取代?

一、引言 DES(Data Encryption Standard)加密算法作为一种历史悠久的对称加密算法,自1972年由美国国家标准局(NBS)发布以来,广泛应用于各种数据安全场景。本文将从算法原理、优缺点及替代方案等方面&#…

eve环境虚拟机和电脑如何传送文件

一.桥接 (实现电脑和虚拟机在同一网段) 虚拟机上网盘设置 二.属性---文件共享设置 1打开属性,点击共享 2.添加共享人为全部人,并修改权限为读写模式 3.点击高级共享,选定此文件夹 4.点击网络和共享中心,划…

Mixtral 8*7B + Excel + Python 超强组合玩转数据分析

Mixtral 8*7B Excel Python 超强组合玩转数据分析 0. 背景1. 使用 Mixtral 8*7B pandas 实现数据导入和导出1.1 使用 Mixtral 8*7B pandas 导入 Excel 文件中的数据1.2 使用 Mixtral 8*7B pandas 导出 Excel 文件中的数据 2. 使用 Mixtral 8*7B pandas 实现单个文件数据的…

Nginx快速入门:nginx实现正向代理|反向代理和正向代理的区别(八)

0. 引言 我们之前讲解的一直是nginx的反向代理配置,关于正向代理的实现一直没有涉及,但在实际生产中正向代理也有非常广泛的应用场景,因此,今天我们将针对正向代理来深入学习。 1. 相关概念 1.1 什么是反向代理 所谓反向代理&…

如何恢复 iPhone 上永久删除的照片?

2007年,苹果公司推出了一款惊天动地的智能手机,也就是后来的iPhone。你会惊讶地发现,迄今为止,苹果公司已经售出了 7 亿部 iPhone 设备。根据最新一项调查数据,智能手机利润的 95% 都进了苹果公司的腰包。 如此受欢迎…

分糖果C语言

分析:我们假设有n个小朋友,我们可以以每一个小朋友作为开头传递一次,我们将每一种情况栓出来,在判断哪种代价最小,就输出哪种 例子:下面这种情况是把1当成开头,结果是6 把2换成第一个&#xf…

关于java循环结构for

关于java循环结构for 在上一篇文章中,我们了解到了while和do…while的结构以及用法,这篇文章我们主要学习一下最常用的循环结构,for结构😀,这个结构理解起来相对while结构会难一些,本篇文章内容会很多&…

苹果CMS超级播放器专业版无授权全开源,附带安装教程

源码介绍 超级播放器专业版v1.0.8,内置六大主流播放器,支持各种格式的视频播放,支持主要功能在每一个播放器内核中都相同效果。 搭建教程 1.不兼容IE浏览器 2.php版本推荐7.4 支持7.1~7.4 3.框架引入不支持同时引入多个播放器 json对接教…

大数据毕业设计:旅游景点数据爬虫大屏实时监控系统✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

SpringBoot整合Canal

一 linux docker compose版本 1.第一步:基础环境 (1)第1步:安装jak、maven、git、nodejs、npm yum install maven mvn -v 安装maven时会帮安装jdkyum install git git --version 2.27.0yum in…

CEC2017(Python):五种算法(DE、RFO、OOA、PSO、GWO)求解CEC2017

一、5种算法简介 1、差分进化算法DE 2、红狐优化算法RFO 3、鱼鹰优化算法OOA 4、粒子群优化算法PSO 5、灰狼优化算法GWO 二、CEC2017简介 参考文献: [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. (2016). “Problem defini…