博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《构建之法》学习(1)——软件与软件工程
阅读量:5030 次
发布时间:2019-06-12

本文共 1063 字,大约阅读时间需要 3 分钟。

《构建之法》学习(1)——软件与软件工程

 

1.软件=程序+软件工程

 

  从一个小故事引入,点出了软件工程的核心部分:构建管理、源代码管理、软件设计、软件测试、项目管理。以及它的推论:

  软件=程序+软件工程

  软件企业=软件+商业模式

 

  在我们学习了数据结构和算法之后,就有了程序。在程序之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。软件从业人员和软件企业的道德操守会极大地影响软件用户的利益。

 

2.软件工程是什么

 

  以航空产业与软件产业类比,软件开发分为玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段

 

2.1软件

 

  软件是可以运行在计算机及电子设备中的指令和数据的有序集合。

  软件具有其特殊性:复杂性、不可见性、易变性、服从性、非连续性

 

  软件的特性:

  有许多不同的程序设计语言、软件工具和软件开发平台

  存在许多不同的软件开发流程

  软件团队中存在许多不同的角色

  软件通常既可以存储在磁带上,也可以存储在CD/DVD上

 

  软件可以说是人类创造的最复杂的系统类型,看上去很容易修改,修改软件比修改硬件容易多了,但是正确地修改软件是一件很困难的事情。

 

2.2软件工程

        

  软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

  以开篇的故事为例,我们之前学习过c、c++、JAVA,实现某个基础算法可能很简单,但是软件工程不仅仅是编写代码,在“软件”的基础上有软件需求分析、软件构建、软件测试和软件维护

 

3.软件工程与计算机科学的关系

 

  软件工程与许多学科都相关,例如:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。

 

  计算机科学:                                                               软件工程:

  发现和研究长期的、客观的真理                                       短期的实际结果(具体的软件会过时)

  理想化的                                                                     对各种因素的折衷

  确定性,完美,通用性                                                   对不确定性和风险的管理,足够好,具体的应用

  各个学科独立深入研究,做出成果                                    关注和应用各个相关学科的知识,解决文体

  理论的统一                                                                  百花齐放的实践方法 

  强调原创性                                                                  最好的、成熟的实践方法 

  形式化,追求简明的公式                                                在实践中建立起来的灵感和直觉      

  正确性                                                                        可靠性

  

4.软件工程的目标

 

  研发出符合用户需求的软件

  创造“足够好”的软件

  展现所开发的软件是可以维护和继续发展的

 

转载于:https://www.cnblogs.com/Yan1970/p/6683631.html

你可能感兴趣的文章
StackExchange.Redis 官方文档(一) Basics
查看>>
nupkg 之破解 nodejs+electron-packager 打包exe的解包
查看>>
Objective-C 使用 C++类
查看>>
浅谈之高级查询over(partition by)
查看>>
Notes: CRM Analytics–BI from a CRM perspective (2)
查看>>
graphite custom functions
查看>>
列出所有的属性键
查看>>
js获取请求地址后面带的参数
查看>>
[原创]使用java批量修改文件编码(ANSI-->UTF-8)
查看>>
设计模式のCompositePattern(组合模式)----结构模式
查看>>
二进制集合枚举子集
查看>>
磁盘管理
查看>>
SAS学习经验总结分享:篇二—input语句
查看>>
UIImage与UIColor互转
查看>>
RotateAnimation详解
查看>>
系统管理玩玩Windows Azure
查看>>
c#匿名方法
查看>>
如何判断链表是否有环
查看>>
【小程序】缓存
查看>>
ssh无密码登陆屌丝指南
查看>>