为什么这么说呢?我是学Java的,不过有点井底之蛙 了。以前一直以为敲代码就是软件开发的全部。

了解了软件工程的知识才发现自己是一只在井底的青蛙。

学习软件工程的课程,首先可以帮助我们了解软件开发的流程,以及细节,甚至是全过程。

然而并不是我以为的那个样子。

软件工程导论中一般把软件的开发分为八个阶段:

  • 1.问题定义
  • 2.可行性研究
  • 3.需求分析
  • 4.总体设计(概要设计)
  • 5.详细设计
  • 6.编码和单元测试
  • 7.综合测试
  • 8.软件维护

 可以看到敲代码只是一个环节而已,除了敲代码之外真的还有很多。

对于不同规模的开发又有不同的细节

软件设计难道不是敲代码么_软件开发

 

再看一下软件工程的各个阶段所用到的图

 

软件设计难道不是敲代码么_实体型_02

 系统流程图:

软件设计难道不是敲代码么_实体型_03

案例

软件设计难道不是敲代码么_软件工程_04

 数据流图

软件设计难道不是敲代码么_实体型_05

登录系统案例

软件设计难道不是敲代码么_软件开发_06

ER图 

E-R图为实体-联系(Entity-Relation)图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
  构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
  · 实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。
  · 属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。

  · 联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 比如老师给学生授课存在授课关系,学生选课存在选课关系。

     如下图所示:是一个班级、学生、课程、教师之间的ER图:

软件设计难道不是敲代码么_实体型_07

PAD图 

  PAD是​​问题分析图​​​(Problem Analysis Diagram)的​​英文​​​缩写,自1974年由日本​​日立​​​公司发明以来,已经得到一定程度的推广。它用二维​​树形结构​​​的图表示程序的​​控制流​​​,将这种图转换为程序​​代码​​比较容易。

软件设计难道不是敲代码么_实体型_08