首页 > 其他分享 >软件工程的理解

软件工程的理解

时间:2022-10-11 13:46:32浏览次数:49  
标签:需求 辅修 计算机科学 理解 软件工程 软件 复杂度

什么是软件工程

软件工程是关于设计、构建并维护满足客户需求的软件的学科,因“软件危机”应运而生,用工程的思维、概念和技术指导软件的开发与维护。软件工程方法学包含方法、工具、过程三个要素。软件工程以程序为基础,同时要求设计者和开发者具有分析、管理大型项目的逻辑思维能力,并且对用户的需求有精准的把握,以求高效地实现软件的功能;同时出于合作开发与后续维护、更新的考虑,开发者的代码应当着力实现模块化、标准化,以实现软件的可维护性。

软件工程与计算机科学不同,计算机科学的目标是探索正确的计算和建模方法,从而改进计算方法本身,而软件工程的目标是在时间、资源、人员这 3 个主要限制条件下构建满足用户需求的软件系统,主要是对软件开发这一过程的统筹规划与安排。计算机科学的最终产品不一定是软件,而是算法和抽象的问题,而软件工程的最终产品就是软件。特别地,软件工程要求软件项目都有特定的进度与时间表,而计算机科学研究项目一般不具有设置的进度与时间表。计算机科学的关注点在于软件本身运行的原理,比如时间复杂度,空间复杂度,和算法的正确性,而软件工程更多地关注如何为用户实现价值。正因为关注点的不同,一般来说,计算机科学对于某一种特定问题的正确解决方法将永远不会改变,而软件工程随着技术和用户需求的不断变化,软件开发人员必须时刻调整自己的开发以适应当前的需求,同时软件工程本身也处于不断的发展中。

软件工程之于我

对笔者而言,作为学生,软件工程首先是一门3学分的课程,是辅修专业的专业必修课程,事关我是否能拿到辅修学位证书。但是我更希望可以从中提高自己的素养,锻炼自己的开发能力,为我在研究生从EE转CS打下一定的基础。

标签:需求,辅修,计算机科学,理解,软件工程,软件,复杂度
From: https://www.cnblogs.com/yayanichengyaya/p/16778908.html

相关文章

  • 详解 MyBatis 事务管理,彻底颠覆你对事务的理解!
    来源:https://my.oschina.net/zudajun/blog/666764前言说到数据库事务,人们脑海里自然不自然的就会浮现出事务的四大特性、四大隔离级别、七大传播特性。四大还好说,问题是......
  • 深入理解并发编程同步工具类
    大家好,我是陶朱公Boy。今天跟大家分享一个并发编程领域中的一个知识点——同步工具类。我将结合一个真实线上案例作为背景来展开讲解这一知识点。给大家讲清楚什么是同步......
  • tensorrt中workspace_size的理解
    首先单位是字节,比如builder.max_workspace_size=1<<30就是2^30bytes即1GB。它的作用是给出模型中任一层能使用的内存上限。运行时,每一层需要多少内存系统分配......
  • gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
    转载请注明出处:1.使用idea搭建gradle项目           注意 type 选择 gradle 以及 language 选择 grooy      ......
  • 斗鱼 H5 直播原理解析,它是如何省了 80% 的 CDN 流量?
    斗鱼直播相信大家都听说过,打开斗鱼官网就可以直接在浏览器中观看直播。那么斗鱼是如何实现浏览器视频直播的呢?本篇文章就来解析斗鱼是如何实现直播的,以及它是如何节省80%......
  • 理解指针
    title:理解指针excerpt:大佬语录:只要最后功能对,就是对的~tags:[c语言,指针,指针变量]categories:[学习,C语言]index_img:https://picture-store-repository.o......
  • 理解NodeJS多进程
    序言一次面试中,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS的多进程重新......
  • 深度理解NodeJS事件循环
    导读ALLTHETIME,我们写的的大部分javascript代码都是在浏览器环境下编译运行的,因此可能我们对浏览器的事件循环机制了解比Node.JS的事件循环更深入一些,但是最近写开始深......
  • 深入理解mv
     =====================================================以下来自:https://blog.51cto.com/baidutech/743731=========================mv操作深入浅出业务背景:存在两......
  • 我对软件工程的理解(之前写在“文章”一栏中,故再发一次)
     作为一个化学专业的学生,我对软件工程的理解还比较粗浅,辅修计算机是认为在当今时代计算机不仅是一门科学,也是一项强大的工具。我认为软件工程致力于构建有效、实用、高......