140 likes | 244 Views
漫谈软件工程. 洪明坚 2012 年 12 月 20 日. 目录. Programming. Software Engineering. Philo sophy. Overview. Projection. Glue codes. Shim codes. A. Deal with complexity. B. model. Interfaces. prototype. C. design. implement. model. repeat. Picasso’s cow. Implementation. Separate.
E N D
漫谈软件工程 洪明坚 2012年12月20日
目录 Programming Software Engineering Philo sophy
Overview Projection
Glue codes Shim codes A Deal with complexity B model Interfaces prototype C design implement model repeat
Picasso’s cow Implementation Separate Interface
Conclude Keep It Simple, Stupid! ~KISS principle “Make everything as simple as possible, but not simpler.” ~Albert Einstein
目录 Programming Software Engineering Philo sophy
Overview Software engineering Industrial engineering civil engineering
Traditional SE • Assumption: Human can be perfect • Methodology: Borrowed from civil/industrial engineering • Perfect plan • Perfect requirement • Perfect design • Perfect implementation • Perfect test • Perfect documents • Detail, understandable, unambiguity
Agile SE • Assumption: Nobody is perfect! • Methodology: rapid prototyping and iteration • Simple plan • Simple requirement • simple design • Quick-and-dirty implementation • Frequent test • Simple or no document • Incomplete, erroneous • Repeat above steps
Evolution Productivity & quality time Agile SE No/Little SE Traditional SE
目录 Programming Software Engineering Philo sophy
Philosophy "You cannot transcend what you do not know. To go beyond yourself, you must know yourself.“ ~Sri Nisargadatta Maharaj