Computer Science & Engineering Electrical Engineering EE 472 – Embedded Systems Dr. Shwetak Patel Assistant Professor Computer Science & Engineering Electrical Engineering
Agenda Engineering Design Cycles Structured Design Unified Modeling Language (UML) 2 Shwetak N. Patel - EE 472
Why care about the design process?
Makes development efficient! Easy to fall into the trap of ah-hoc building Spending 1 hour planning can save 10 hours debugging!! 4 Shwetak N. Patel - EE 472
The Development Cycle Product specifications to final product 5 Shwetak N. Patel - EE 472
The Development Stages Requirements analysis and specs Conceptual design Detailed program design Implementation Unit and integration testing System testing System delivery Maintenance 6 Shwetak N. Patel - EE 472
Example Development Life Cycle Models The Waterfall Model V cycle Spiral Rapid Prototyping Agile Methods 7 Shwetak N. Patel - EE 472
Waterfall Model 8 Shwetak N. Patel - EE 472
V Cycle 9 Shwetak N. Patel - EE 472
Spiral 10 Shwetak N. Patel - EE 472
Rapid Prototyping Break the problem into little pieces Get a front-end implementation out quick 11 Shwetak N. Patel - EE 472
Agile Methods Extreme Programming Sprints Scrum Focus on small increments Pair-wise or team programming Sprints Well defined quick tasks to get something out Scrum Quick meetings daily and/or weekly 12 Shwetak N. Patel - EE 472
The Actual Design Process Key steps for success: Requirement definitions System specification Functional design Architectural design Protoyping 13 Shwetak N. Patel - EE 472
Structured Design Breaking down a problem and systematically deriving a solution How do you represent this? 14 Shwetak N. Patel - EE 472
Unified Modeling Language (UML) A “language” for specifying various aspects of the product during the design process Universal way of sharing ideas 15 Shwetak N. Patel - EE 472
Use Case Diagrams 16 Shwetak N. Patel - EE 472
Sequence Diagrams 17 Shwetak N. Patel - EE 472
Activity Diagram 18 Shwetak N. Patel - EE 472
State Diagrams 19 Shwetak N. Patel - EE 472
Class Diagrams 20 Shwetak N. Patel - EE 472
Class Diagrams 21 Shwetak N. Patel - EE 472
Summary of UML Diagrams 22 Shwetak N. Patel - EE 472
Class Exercise A person interacting with a digital camera 23 Shwetak N. Patel - EE 472
Class Exercise Design a cruise control system for a car 24 Shwetak N. Patel - EE 472
Class Exercise Model the interaction with an ATM machine 25 Shwetak N. Patel - EE 472