80 likes | 208 Views
COP 3331 OBJECT-ORIENTED ANALYSIS AND DESIGN. Bob Myers Department of Computer Science. COP 3331: Object Oriented Software Engineering. What is Software Engineering (SE)? Involves more than just coding Problem Definition Problem Analysis High level system design (including hardware!)
E N D
COP 3331 OBJECT-ORIENTED ANALYSIS AND DESIGN Bob Myers Department of Computer Science
COP 3331: Object Oriented Software Engineering • What is Software Engineering (SE)? • Involves more than just coding • Problem Definition • Problem Analysis • High level system design (including hardware!) • Design of classes/objects • Implementation • Testing • Maintenance
Modeling! • Modeling is a nice way to abstract and simplify some of the activities in software engineering • There are many modeling notations • UML - Unified Modeling Language • A nice way of representing things with diagrams • Different types of diagrams for use with different stages of software engineering • Works well with OOP.
UML First Pass: Use Case Diagrams Package SimpleWatch Actor ReadTime SetTime WatchUser WatchRepairPerson Use case ChangeBattery Use case diagrams represent the functionality of the system from user’s point of view
UML First Pass: Class Diagrams Class Multiplicity Association SimpleWatch 1 1 1 1 1 1 2 2 PushButton state push()release() LCDDisplay Battery load() Time now() blinkIdx blinkSeconds() blinkMinutes() blinkHours() stopBlinking() referesh() Attributes Operations Class diagrams represent the structure of the system
:SimpleWatch :LCDDisplay :Time UML First Pass: Sequence Diagram Object :WatchUser pressButton1() blinkHours() pressButton1() blinkMinutes() pressButton2() incrementMinutes() refresh() pressButtons1And2() commitNewTime() stopBlinking() Message Activation Sequence diagrams represent the behavior as interactions
Increment Hours Increment Minutes Increment Seconds UML First Pass: Statechart Diagrams Initial state State Event button2Pressed button1&2Pressed Blink Hours Transition button1Pressed button2Pressed button1&2Pressed Blink Minutes button1Pressed button1&2Pressed button2Pressed Blink Stop Seconds Blinking Final state
Other SE issues • Requirements Elicitation and Analysis • Communication • Management Issues • Testing and Quality Assurance • Design Patterns • This is the stuff you will have to deal with in the real world, if you work for a company doing software development.