DOC PREVIEW
UT Dallas CS 6359 - Chapter_1

This preview shows page 1-2-24-25 out of 25 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1What will we learn?What will we learn?We will:ObjectsOOA/OODAnalysis and Design:UMLUMLUMLSlide 11UMLUMLUMLUMLSlide 16Example: The Dice GameThe Dice Game: Domain ModelThe Dice Game: Object Responsibilities and InteractionsThe Dice Game: Interaction DiagramThe Dice Game: Design Class DiagramsThe Dice Game: Class Design DiagramUML: Conceptual versus Specification PerspectiveChapter 1: Main TakeawaysNext …Object-Oriented Analysis and DesignC h a p t e r 1 : I n t r o d u c t i o n1What will we learn?We will learn the skills needed for good object-oriented analysis and designWe will utilize Unified Modeling Language (UML)Be careful: Just knowing how to draw UML diagrams or create models does not imply good OOA/OOD!UML is used mostly in this course as a diagraming method, a common notationResponsibility-Driven DesignHow should responsibilities be assigned to classes of objects?How should objects collaborate?What classes should do what?For many common problems, these questions have been answeredUse existing best-practices, or patterns2What will we learn?We will learn how to apply OOA/OOD to several case studies, which will be referred to throughout the courseWe will learn how to do proper requirements analysis, and write use cases.The first step in most projects, and the most important!Not just for understanding the problem, but also to ensure common terminology, etc.What is the development process? How does OOA/OOD fit in?We will consider the agile development process, as part of the Unified Process (UP). This is an iterative development process that is very popular todayThe OOA/OOD concepts we will learn can be applied to other development processes as wellWe will also learn fundamental principles in object design and responsibility assignment: GRASP and Gang of Four (GoF).3We will:Apply principles and patterns to create better object designsIteratively follow a set of common activities in analysis and design, based on the agile approach to the UP as an exampleCreate frequently used diagrams in the UML notationBe able to skillfully assign responsibilities to software objectsIdentify the objects that make up the system, or domainAssign responsibilities to them – what do they do, how do they interact?Apply the GRASP and Gang of Four (GoF) principles in OOA/OOD4Objects From Merriam-Webster:“something material that may be perceived by the senses” Look around this room, and imagine having to explain to someone who has never taken a class what happens here …You would explain the activity that occurs, and you would identify specific objects that play a role in that activity (Chairs, tables, projectors, students, professor, white board, etc.) to someone who has never seen these things …Each of these objects is well defined, and plays a separate role in the story. There may be multiple copies of chairs, but a chair is very different from a projector – they have different responsibilitiesYou would not describe the action by saying “The classroom allows students to sit, and the classroom allows the professor to display slides, … “ etc. This would make the “classroom” too complex – almost magicalYou would define the various objects in this domain, and use them to tell the story and describe the action5OOA/OODAnalyze the system Model the system Design the software6Analysis and Design:Analysis is the investigation of the problem - what are we trying to do?Here is where use cases are created and requirements analysis are doneDesign is a conceptual solution that meets the requirements – how can we solve the problemNote: Design is not implementationUML diagrams are not code (although some modeling software does allow code generation)Object-oriented analysis: Investigate the problem, identify and describe the objects (or concepts) in the problem domainAlso, define the domain!Object-oriented design: Considering the results of the analysis, define the software classes and how they relate to each otherNot every object in the problem domain corresponds to a class in the design model, and viceversaWhere do we assign responsibilities to the objects? Probably a little in both parts7UML“The Unified Modeling Language is a visual language for specifying, constructing, and documenting the artifacts of systems.” - OMG, 2003Standard for diagramming notationWe will use UML to sketch out our systemsUML can be used (by modeling packages) to auto-generate code directly from the model diagramsDifferent perspectives:Conceptual Perspective – defining the problem domain: Raw class diagrams, maybe mention some attributes (Domain Model)Specification Perspective – defining the software classes: Design Class diagram, which shows the actual software classes and their methods, attributes8UML We will explore the details of UML diagramming later in the course For now, understand that UML is a language – it is used to communicate information We will use UML to describe the problem domain, describe the activities that occur, and eventually describe the software classes Since it is a language, UML has specific rules, and we will see these later in the course You need to be able to read UML diagrams, as well as create them Here are some examples (we will learn more about how to create these diagrams later …)9UML10V i d e oI DS t o c k sR e n t sR e n t s - f r o m 11 . .*1*1*V i d e o S t o r ea d d r e s sn a m ep h o n e N u m b e rC u s t o m e ra d d r e s sn a m ep h o n e N u m b e r11UML12VideoVideoStoreStocks *1association name multiplicity-"direction reading arrow"-it has no meaning except to indicate direction of reading the association label-optionalUML13zero or more;"many"one or moreone to fortyexactly fiveTTTT*1..*1..405T3, 5, 8exactly three,five or eightCustomerVideoRents *One instance of aCustomer may berenting zero or moreVideos.One instance of a Videomay be being rented byzero or one Customers.0..1UML14Video...RentsInfluenced-by 11..*1 Loan Policy...Customer...Important association.Need to remember.Low value association.Possible, but so what?UML15P a y m e n td a t e : D a t et i m e : T i m ea m o u n t : M o n e ya t t r i b u t e s16CatalogVideoDescriptiontitlesubjectCategoryVideoRentaldueDatereturnDatereturnTimeCashPaymentamount : MoneyVideoIDStocksRentsRents-from Pays-for Initiates Owns-a  Described-by MembershipIDstartDate111..*1111..*11*111*1*Pays-for-overdue-charges


View Full Document

UT Dallas CS 6359 - Chapter_1

Documents in this Course
Lecture2

Lecture2

63 pages

Lecture3

Lecture3

49 pages

Lecture4

Lecture4

48 pages

Lecture5

Lecture5

47 pages

Lecture6

Lecture6

45 pages

Lecture7

Lecture7

63 pages

Lecture8

Lecture8

77 pages

Lecture9

Lecture9

48 pages

Lecture10

Lecture10

84 pages

Lecture11

Lecture11

45 pages

Lecture12

Lecture12

134 pages

Lecture13

Lecture13

62 pages

Lecture14

Lecture14

76 pages

Project

Project

2 pages

Load more
Download Chapter_1
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Chapter_1 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Chapter_1 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?