软件定义
软件是用来满足需求,解决现实问题的。
代码写得好不等同于开发软件,因为后者复杂度更高。
软件是由三部分组成的 程序 ,文档,数据
软件分类
程序不等同于软件
首先软件不等于程序,其主要区别在于规模不同。
文档驱动
做事要留有记录,可能是录音,视频资料,最后最好保存成文档形式。出于以下几点考虑:
1.留有工作证据
工作情况下,代码变更,会议讨论,程序说明 都需要去写文档来有迹可循。
2.方便沟通
多人写作状态下不可能跟每个人都口头说一遍。
3.明确细节
用文档来规范和明确细节问题。
时间估计
对于一个复杂的系统,项目估计并不会准确。在讨论的时候每个开发人员需要遍历发言,不断地对整体轮廓进行完善,最后形成一个整体估计。
软件有寿命
软件的寿命取决于如下的因素
硬件运行环境
用户需求变更
规模庞大不可维护
软件很昂贵
以前以为软件是最便宜的,一个人一台电脑,就敲一敲代码好了,有什么成本。
但是生产环境下,成本分为如下几部分
(1)人工费用
软件的代码编写和文档编写都是采用的原始的手工开发方式。人工费用占很大一部分比重。
(2)软件维护成本
一般企业提供软件产品的时候都会有一年到两年的免费维护期。
软件工程-交叉学科