![]() |
Telelogic Rhapsody (steve huntington) | ![]() |
Topic Title: Software Design Methodologies & Personal Project Development Topic Summary: Created On: 17-Apr-2006 14:45 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
Software Design Methodologies and Personal Project Development
Jerusalem College of Technology Jerusalem, ISRAEL Course Objectives To understand and apply design principles for real time event driven object oriented systems. To understand and apply development processes suitable to for small projects. Course Topics Introduction and Basic Concepts --Methodology, Analysis, Design, Analysis to Design transitions and interactions,Object Orientation 1. UML Notation and mapping to code (C++ and Java) -Object Model Diagrams, StateCharts, Inter-object relationships, Collaboration -Diagrams, Sequence Diagrams -Class Design Principles -Open Closed Principle(OCP), Liskov Substitution Principle(LSP), Dependency -Inversion Principle(DIP), Interface Segregation Principle(ISP) -Package Design Principles -Reuse/Release Equivalence Principle (REP), Common Reuse Principle (CRP), Common Closure Principle (CCP), Acyclic Dependencies Principle (ADP), Stable Dependencies Principle (SDP), Stability Metrics, Abstraction Metrics 2. Real-time Object Oriented Design Principles -Hello World, Countdown, Motor and Sensors, Inheritance, Virtual, Dishwasher (with MFC application), Collection, Event Parameters, Synchronous and Asynchronous coordination mechanisms, Multithreading, Mutex, independent mini project -Case Study- Weather Station (non-realtime OO) -Case Study- Respirator (realtime OO) -Case Study- Point of Sales Application (realtime OO with Database aspects) 3. Agile Software Development -Agile Process Concepts -The 7 Habits of Highly Effective People -Agile Process Concepts -Extreme Programming -Refactoring -Test First Programming -Case Studies of Small Projects -Bowling, Internet application, Database application 4. Exercises Bibliography A. Cockburn, Agile Software Development, Addison-Wesley, 2002. S. Covey, The 7 Habits of Highly Effective People: Restoring the Character Ethic, Simon & Schuster, 1989. B. Douglass, Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems, Addison-Wesley, 2002. M. Fowler, Refactoring: Improving the Design of Existing Code, Addison- Wesley, 2000. E. Gamma, et al., Design Patterns : Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994. R. Martin, Agile Software Development, Prentice Hall, 2002. J. Newkirk, R. Martin, Extreme Programming in Practice, Addison-Wesley, 2001. I-logix, [url]www.ilogix.com[/url], Rhapsody tool. |
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.