第1章 软件工程概述
当明确了要去实现一个软件时,就必须知道究竟应该怎样实现这个软件,至少应该弄明白下列问题:
①这个软件值得开发吗?现有的技术水平能实现用户需要的软件吗?
②怎样与客户沟通从而知道客户要求什么?又如何描述已知的要求?
③怎样才能将用户用文字描述的系统转换成*终的软件?
④要用到数据库吗?若要,数据库又怎么设计呢?
⑤使用哪一种开发工具?使用Windows风格的界面,还是Web风格的界面?
⑥与合作伙伴怎样进行分工合作?
⑦软件整个开发过程应该是什么样的?
只有在真正地解决了诸如此类的这些问题后,才能进入开发过程,也只有这样,才有可能实现预期的软件。而这些在软件开发之前和软件开发过程中摆在设计人员面前的问题,就是软件工程需要解决的问题。
本章**介绍一些软件工程的基本概念,帮助同学们整理出软件工程的总体知识框架,理清学习软件开发的思路。
1.1 软件工程的基本概念
当人们**次听说软件工程(Software Engineering)时,**个联想到的可能是建筑工程、水利工程等等其他类型的工程。再进一步推理,软件工程应该与建筑工程等有相似之处,因为都含有“工程”二字,但它们必定也有不同之处,因为软件工程突出了“软件”而非其他。所以要理解软件工程,必须先弄明白什么是“软件”(Software)。
1.1.1 软件
何谓软件?虽然人们一直把这个名词挂在嘴边,但试图给其下一个全面而严格的定义绝非易事。本书不将笔墨纠缠于概念的面面俱到的学究式阐述上,而是在博采众家之长的基础上稍加筛选,但求以点盖面,起到梳理概念,引导入门的作用。所以,对于软件的定义,只想纠正一个错误一软件就是程序。
……