This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
eiffel:why [2020/05/10 21:27] jonathan [Architecture: Class Diagrams] |
eiffel:why [2020/05/13 02:11] (current) jonathan [Example of a Top Level BON Class Diagram from an SDD] |
||
---|---|---|---|
Line 108: | Line 108: | ||
==== Example of a Top Level BON Class Diagram from an SDD ==== | ==== Example of a Top Level BON Class Diagram from an SDD ==== | ||
- | The "capstone" of the course is a project (usually with a team of 2 students). Below is one of the BON class diagram produced by a team (taken from their software design document). This is usually the first time students design software with many classes (typically 15-20 classes are needed for a modular design). | + | The "capstone" of the course is a project (usually with a team of 2 students) in two phases (in the second phase, more features are added). Below is one of the BON class diagrams produced by a team (taken from their software design document). This 3rd-year course is usually the first time most students design software with many classes (typically 15-20 classes are needed for a modular design). |
- | {{:eiffel:why:student-bon.png?720|}} | ||
- | + | ||
+ | {{:eiffel:why:3311-draw.io.png?740|by 3311 students Jinho Hwang and Ato Koomson, with their permission}} | ||
+ | |||
+ | |||
+ | ===== Specifications in industrial use ===== | ||
+ | |||
+ | Ada and Eiffel provide native language support for Design by Contract, but the principle that **specifications** are integral to design carries over to designing in any language. The Unified Modeling Language (UML) is the //de facto// modelling language in software engineering thus supports Design by Contract in the form of OCL (Object Constraint Language). For other methods of specification, see [[https://youtu.be/-4Yp3j_jk8Q|Video: Thinking Above the Code]] and the video below for **Specifications in Industry** at Amazon, Google and Facebook. | ||
+ | |||
+ | <HTML> | ||
+ | <iframe width="560" height="315" src="https://www.youtube.com/embed/GMQMzk3DZug" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | ||
+ | </HTML> |