最近负责一个项目开发,顶头上司是一个“王庆”式的变态。整天唠叨着总体设计、概要设计和详细设计。本不以为然这些,可是烦得要命,一怒之下告诉他:软件开发只有概要设计和详细设计,没有总体设计。
但是存在总是合理,为什么会出现总体设计这个概念呢?我试着分析一下其中原委,供兄弟姐妹们参考。
根据IEEE 610.12标准对它们的定义:
概要设计(Preliminary Design):分析设计备选方案,并定义软件体系结构、构件、接口、以及一个系统或构件的时间和大小估计的过程。
详细设计(detailed design):将一个系统或构件的概要设计进行精化和扩展,达到设计充分完善而能够被实现程度的过程。
概要设计实现软件的总体设计、模块划分、用户界面设计、数据库设计等等;详细设计则根据概要设计所做的模块划分,实现各模块的算法设计,实现用户界面设计、数据结构设计的细化,等等。
为什么会出现总体设计这个词汇呢?
现实版:
上述理念最早是老外在向中国的国企领导们介绍软件开发时引入的。对于详细设计按照字面的意思都能很好理解;但无法用字面的含义来理解概要设计;这是出现了一位特别聪明的营销大虾,创造性的将概要设计翻译成了总体设计,取得了里程碑般的效果。本人也认同这种创造的科学性、革命性和节约性;
但是既然曾经出现了概要设计这个词汇,一定也会存在于某些领导的脑海中。同时面对不同的乙方,一会儿是概要设计、一会儿又是总体设计,最后大腿一拍,都要总不会错,并且还是免费,不要白不要,反正是乙方的工作量。对于乙方而言,虽然有些意外,但看在拿单子的份上,并且与其花费时间精力去阐明还可能吃力不讨好,不如改头换面随便糊弄一下,还是拿单子高于一切,金钱万岁。
理想版:
总体设计(System Design / Overall Design / General Layout),根据百科词条的解释,其概念来源于工程系统。总体设计是为了
但是存在总是合理,为什么会出现总体设计这个概念呢?我试着分析一下其中原委,供兄弟姐妹们参考。
根据IEEE 610.12标准对它们的定义:
概要设计(Preliminary Design):分析设计备选方案,并定义软件体系结构、构件、接口、以及一个系统或构件的时间和大小估计的过程。
详细设计(detailed design):将一个系统或构件的概要设计进行精化和扩展,达到设计充分完善而能够被实现程度的过程。
概要设计实现软件的总体设计、模块划分、用户界面设计、数据库设计等等;详细设计则根据概要设计所做的模块划分,实现各模块的算法设计,实现用户界面设计、数据结构设计的细化,等等。
为什么会出现总体设计这个词汇呢?
现实版:
上述理念最早是老外在向中国的国企领导们介绍软件开发时引入的。对于详细设计按照字面的意思都能很好理解;但无法用字面的含义来理解概要设计;这是出现了一位特别聪明的营销大虾,创造性的将概要设计翻译成了总体设计,取得了里程碑般的效果。本人也认同这种创造的科学性、革命性和节约性;
但是既然曾经出现了概要设计这个词汇,一定也会存在于某些领导的脑海中。同时面对不同的乙方,一会儿是概要设计、一会儿又是总体设计,最后大腿一拍,都要总不会错,并且还是免费,不要白不要,反正是乙方的工作量。对于乙方而言,虽然有些意外,但看在拿单子的份上,并且与其花费时间精力去阐明还可能吃力不讨好,不如改头换面随便糊弄一下,还是拿单子高于一切,金钱万岁。
理想版:
总体设计(System Design / Overall Design / General Layout),根据百科词条的解释,其概念来源于工程系统。总体设计是为了
