140 likes | 440 Views
Software Design. From SWEBOK 2004. Requirements. Prototype. Design. Construction. Testing. Delivery and Installation. Software Waterfall Life Cycle. Concept Exploration. Operations and Maintenance. V-Model. Spiral Model. Human-Computer Interface Design.
E N D
Software Design From SWEBOK 2004
Requirements Prototype Design Construction Testing Delivery and Installation Software Waterfall Life Cycle Concept Exploration Operations and Maintenance
Human-Computer Interface Design • People have limited short-term memories • People make mistakes • People have highly developed visual systems • People like consistency • People are diverse • Computer literacy • Disabilities • Internationalization
Software Design Quality • Maintainability • Portability • Testability • Traceability • Feasibility • Extensibility • Scalability • Usability Analysis and Evaluation • Software design reviews • Static analysis • Simulation and prototyping
Software Design Notations • Class diagrams • Object diagrams • Component diagrams • CRC cards • Deployment diagrams • Sequence diagrams • State diagrams • Formal specification languages • Entity-relationship diagrams • Interface description languages • Structure charts • Data flow diagrams • Decision tables • Flow charts • Pseudocode http://www.agilemodeling.com/artifacts/
General Design Strategies • Divide and conquer • Stepwise refinement • Top-down approach • Bottom-up approach • Information hiding • Patterns • Iterative approaches • Refactoring