大话软件

2019-05-07  本文已影响0人  drawing818

1.为什么这么多专业术语?

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

软件 = 程序 + 软件工程

程序 = 数据结构 + 算法

程序,即源程序。就是一行行的代码,是建立在数据结构上的算法。

源代码管理(Source Code Control),也叫配置管理(Software Configuration Management)

质量保障(Quality Assurance)

通过工具、流程和文档保证程序的正确性。

软件测试(Test)

软件功能的验证过程。

需求分析(Requirement Analysis)

分析客户需求,梳理出合适的需求,逐步开展后续工作。

程序理解(Program Comprehension)

读懂已有的程序,了解程序设计。

软件维护(Software Maintenance)/ 服务运营(Service Operation)

修复软件bug、给软件打补丁、维护服务的正常运行。

软件生命周期(Software Life Cycle,SLC)

软件项目管理(Project Management)

用户体验(User Experience)

好的软件,之所以为好的软件,不是由于它的功能比同类多或者好,而往往是因为它让人感觉到好用。成功的软件,往往赢在用户体验。

国际化和本地化(Globalization & Localization)

针对不同语言、不同地区、不同的用户习惯于需求而做的处理。

2.软件工程到底为何物?

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

软件开发流程:开发、运营、维护软件过程中的技术、方法、习惯、思想等统一到一个体系,目的是提开发、运营、维护的效率,提高软件质量、用户满意度、可靠性和可维护性。

工具的存在是为了保证流程的有效运作。

流程+工具,相辅相成。

3.软件开发难在哪?

a)复杂性

软件代码行数以千计、数以万计……

软件的各模块之间的以来关系随着模块的增多迅速增加。

b)不可见性

软件工程师能直接看见源代码,但是源代码不是软件本身。

软件出现错误,只能看到程序出错的一瞬间留下的痕迹(错误码、大致的目标代码、错误信息),很难复现程序到底出了什么问题。

c)易变性

修改软件不修改硬件简单

d)服从性

软件不能独立存在,需要运行在硬件上。

e)非连续性

微小的输入变化,可能会引起输出的极大变化。

上一篇下一篇

猜你喜欢

热点阅读