Download presentation
Presentation is loading. Please wait.
1
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Introduction
2
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design Lecturer: Marcelo Santos Room U3-152 Email: marcelo.santos @ mdh.se Home page for the course: www.idt.mdh.se/kurser/cd5130/jgms/2008lp4
3
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Presentation Students present themselves: Name? Where from? Have taken software engineering course? Have taken object oriented course?
4
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 7.5 credits (5 weeks workload) Goal: broad introduction to the field of object oriented analysis and design, using UML and design patterns Prerequisites: experience in an OO language, basic concepts of UML Grade: Pass or Not Pass
5
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Contents Lectures Laborations (U2-029): individual work, but group study encouraged Project (implementation and report): group work Written exam (June 4 or August 7)
6
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Fundamental aspect of OO Design We will study patterns that help with the fundamental aspect of OO design: assigning responsibilities to objects
7
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Project A programming project showing the use of OO Analysis, OO Design, UML and patterns Part of of this assignment is understanding and selecting a suibable type of project Object-oriented language of your choice
8
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Project The project can be done in teams of at most 4 students Deliverables: a working program and a report (describing the project) Send by email the project proposal and names in the team
9
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Why use objects, analysis, design, patterns, prototypes, …
10
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH An example: a coffee machine You are requested to do an implementation of the GUI menu for a coffee machine Return value: the option chosen by the user
11
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH An easy way Hack a similar code example from internet
12
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Java example Run modified hacked Java example in NetBins
13
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Adding more options There are 4 types of coffee where the user can add something more… Soy, sugar, whipped milk, cinnamon, coffee without caffeine, strong coffee, etc.. Each set of options have different prices Easy solution: one class for each combination of options
14
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH
15
Problems Predicting the future: in the design, you should predict the future: what if the client wants to add more options or change the price? Maintenance: how easy will it be to do a change or find and fix a bug? Reusability: can you reuse the system for a juice vending machine?
16
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH From problem to code Now that you decided to learn good software practices, what lies between an idea and a working product? Problem working product
17
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH From problem to code Analysis: define the problem to be solved Design: identify classes and their behaviour and relationships Implementation: implement and test classes and combine them into a working program
18
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Problem working product Programming and software quality Analysis and design –How to solve the problem –What to include in the program And is easy to –Communicate –Review –Implement –Evolve and modify (maintenance)
19
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Analysis and design Analysis: investigation of the problem and requirements. –How will the system be used? –What are the functionalities? Design: conceptual solution that fulfills the requirements
20
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design OO analysis: finding and describing (in the problem domain) the objects and the concepts OO design: how can we fulfill the requirements with collaborating software objects
21
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Tools UML (Unified Modelling Language): universily accepted visual language for software design Software design patterns: allows us to reuse ideas
22
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Some issues Knowing how to program in a oo language is not enough to build a system Distribution of responsibilities to objects Frequently used UML notation Common design patterns
23
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Principles in OODA Responsibilities of classes Collaboration between objects Allocation of tasks to classes
24
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Design Patterns We can make good or bad designs in the object model A large amount of experience has been gained. –Some properties that can make a design successful or not are now better understood. We have a little guidance for trying to come up with a model for a particular application. Design patterns attempts to meet this need identifying common modeling problems and providing verified solutions for them.
25
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Steps Use cases: how the application is going to be used Domain model: shows the concepts and objects Interaction diagrams: sequence of collaborations and responsibilities of objects (dynamic view) Class diagrams: static view of the idealized system
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.