软件开发的本质体现在其本身固有的困难中,软件的本质问题是由软件固有的复杂性、一致性、可变性和不可见性所导致的。

  • 软件本身就是复杂的,复杂性是软件规模(以代码行表示)的函数,以及组成软件产品构件之间相互依存关系的函数。软件复杂性随着软件应用领域的性质不同而不同,计算密集型 < < <数据密集型。
  • 一致性、可变性、不可见性加重了软件本身固有的困难。
  • 一致性说的是软件必须与其基于的特定软硬件平台相一致,也必须与现有的信息系统相符合,并集成在一起。
  • 可变性说的是业务过程和需求是不断变化的。
  • 不可见性说的是负责输出的代码往往隐藏在不可见的程序语句、二进制代码库以及周边的系统软件中。

软件的本质困难定义了软件开发的不变事实,即软件是一种创造性开发行为的产品,不是制造业重复性行为的结果。软件是开发出来的,不是批量制造出来的。

一个组织不可能找到一个软件框架来实现它的核心业务活动,支持核心业务活动的软件很少有机会依赖软件构件或框架。此外,支持其他业务活动的软

【软件工程】软件开发的本质相关推荐

  1. 北京大学 软件工程1 软件 软件工程 软件开发 软件工程框架

    软件的定义 重新定义软件 新一代信息技术 区块链 创造性思维 软件的特点 软件的种类 支撑软件:VC++,PyCharm等 应用软件:QQ,微信 软件工程的起源 软件开发的三个阶段 软件工程概念的提出 ...

  2. 软件工程-软件开发的工程思维

    软件工程-软件开发的工程思维 目录 软件工程-软件开发的工程思维 前言 什么是软件工程? 定义 出现的背景 软件工程核心知识 与项目管理的区别 软件工程的目标 为什么需要软件工程 如何做好软件工程:原 ...

  3. 3.软件开发的本质和基本手段

    3.1 软件开发的含义 正确认识软件开发,是从事软件开发的思想基础. 软件开发的本质: 不同抽象层术语之间的"映射" 不同抽象层处理逻辑之间的"映射" 3.2 ...

  4. 你真的了解软件开发的本质吗?

    摘要:我们总是喜欢用自己的经历来定义软件是什么以及判断标准,但如果这种经历来自完全不同的两个领域,并且互相矛盾,那么就有可能让大家吵来吵去--是的,各位在忙于解决具体问题时,谁还会想到谈谈软件开发的本 ...

  5. 软件工程——软件开发阶段(概要设计、详细设计)

    需求分析确定了系统的开发目标,下一步工作就是软件设计.软件设计可以进一步地 分为两个阶段:总体设计和详细设计.确定系统的具体 实现方案.给出软件的模块结构.编写各个文档 目的是什么? 承上(需求)启下 ...

  6. 为什么Scrum模式适合软件开发?

    2019独角兽企业重金招聘Python工程师标准>>> 摘自基于Visual Studio 2010 进行敏捷/Scrum模式开发 软件行业至今已经有超过40年的历史,很多在软件工程 ...

  7. 定论——软件开发的方法论探讨

    http://www.jianshu.com/p/9593bd7b28d9 一.消除隐喻 1.隐喻 软件开发这件事情,出现得很晚.距今只有几十年的时间,关于它的定义,我们可以简单地说:"就是 ...

  8. 个人软件开发知识体系梳理

    分类 内容 编程语言 数据结构 算法 1. 编程语言原理,编译原理,语言范式 2. 编程规范,最佳实践 3. 程序调试工具与技巧 4. 单元测试 5. 数据结构与算法 6. 数据,数据模型,与数据建模 ...

  9. 干掉软件开发的超级怪兽:狼人!

    你看到的漫画只是冰山一角,在公众号回复关键字"漫画"可以看到更多精彩文章 后记:软件开发就是这么神奇,表面上看起来好像没有任何一个单独的问题会导致困难, 每个都能被解决, 但是当它 ...

最新文章

  1. python捷豹_图像处理基本工具——Python 环境下的 Pillow( PIL )
  2. mysql登录之后可以写什么_MYSQL登陆完之后如何操作???(新手求助)
  3. Apache-不重启完成添加或更改域名
  4. 极客招募令!兄弟杯区块链极客竞技大赛在上海等您来战!
  5. 【机器学习】梯度下降原理
  6. Scrapy 教程(九)-日志系统
  7. RHEL7下Nginx配置文件详解(二)
  8. 百度实习1,2,3面-教育知心搜索前端项目组
  9. 不限网站的视频字幕实时翻译工具(视频只要有声音就可以翻译)
  10. 《shard 入门精要》冯乐乐
  11. 智能语音识别--方案实现--具体过程
  12. word括号显示问题
  13. ipad上怎么打开html文件,ipad HTML文件怎么打开
  14. 奔跑吧DKY——团队Scrum冲刺阶段-Day 4
  15. [原创] PS超写实:手绘铅笔
  16. 【数智化人物展】网智天元莫倩:“感、联、知、控”,四步方可打造企业数智化转型升级路径...
  17. 解决使用Java CV导致物理内存过高问题
  18. RabbitMQ简介及简单使用
  19. unity学习:控制人物的移动
  20. C++:计算对称正定 (SPD) 矩阵的逆矩阵(附完整源码)

热门文章

  1. 洛谷 P1754 球迷购票问题
  2. MySql5.6版修改用户登录密码
  3. 5.Lock接口及其实现ReentrantLock
  4. Linux安全手册(转载)
  5. pushlet单播与多播
  6. java 历届试题 合根植物
  7. could not find driver和PDO drivers = no value
  8. MySQL日期与时间函数
  9. 数据库为date型,而前端要显示String型,问题解决
  10. python2.7 安装numpy no module name zlib