DOC PREVIEW
UT Dallas CS 6359 - S6_Chapters8-9

This preview shows page 1-2-3-18-19-36-37-38 out of 38 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 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 38 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 38 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 38 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 38 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 38 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 38 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 38 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1What will we learn?Inception Phase Produces …ElaborationElaboration ArtifactsCase Study: NextGen POS Requirements (Inception)Case Study: Monopoly Requirements (Inception)Case Study: Elevator Control System. (Inception)Domain Model - IntroductionSlide 10Note …Domain Model: DefinitionObservations …Conceptual Class: ExampleSlide 15Creating Domain ModelsCategory ListsNoun Phrase IdentificationExample: POS Use CaseExample: POS Use Case (identify key nouns)Example – Initial Draft of Domain Model for POSExample – Initial Draft of Domain Model for MonopolyExample – Elevator Control SystemObservationsObservationsGuidelinesGuidelinesAttributes and Conceptual ClassesDescription ClassesDescriptor Class – Store ItemDescriptor Class – Airline FlightAssociationsAssociationsAssociationsExample: Dog Grooming BusinessSlide 36Takeaways from Chapters 8 and 9Next …Object-Oriented Analysis and DesignCHAPTERS 8, 9: BASICS, INTRO TO DOMAIN MODELS1What will we learn?The basics of OOA/OOD – some key factors that are important in Inception and ElaborationThe Domain Model – what it is, how to start to build one from scratch2Inception Phase Produces …A short requirements workshop, where most actors and goals are identified and use cases namedBrief descriptions of use cases, perhaps fully dressed versions for 10% of the critical onesIdentification of high risk requirements – “risk list”First drafts of Vision and Supplementary Specification artifactsPrototypes, if needed (e.g. UI)High level candidate architectureRecommendation on build/buy for some components Agreement on first iteration plan3ElaborationCore, risky architecture components are built and testedMajority of requirements are discovered and stabilizedMajor risks are mitigated or retiredNote, “risk” may mean critical business functionAll code that is developed in this phase is production quality – it is added to in later iterations“Architectural baseline” – early versions of the architecture, executable, production qualityBuild the core architecture, resolve high-risk elements, define most requirements, and estimate the overall schedule and resources4Elaboration ArtifactsDomain Model – visualization of domain conceptsDesign Model – Series of diagrams that describes the logical designClass definition diagrams, object interaction diagrams, package diagrams, etc.Software Architecture Document – Summary of outstanding design ideas and their motivation in the system, basically used as a learning toolData Model – may include database schema, mapping between object and non-object representationsUse-Case Model – details of high level use cases first begun in Inception5Case Study: NextGen POS Requirements (Inception)Key Decisions made during Inception, plans for first iteration:Implement basic, key scenario of Process Sale use case – entering items and receiving cash paymentImplement Start Up use case to initialize the systemNo collaboration with external services at this pointNo complex pricing rulesNotice that for the first iteration, the use case is limited – it will be expanded in later iterations6Case Study: Monopoly Requirements (Inception)Implement basic, key scenario of Play Monopoly Game use case:2-8 playersPlay for 20 rounds. Each round, each player takes one turn. During a turn, the player advances his/her piece clockwise around the board a number of squares equal to the number rolled on two six-sided dice.The results of each player’s roll is displayed: The display includes the name of the player and the value of the roll. When a player lands on a square, the player’s name and the name of the square are displayedThere is no money, winner, or loser, no properties to buy or rent, no special squaresThere are 40 squares on the board: One is named “Go”, the others are simply numbered as “Square 1”, “Square 2”, … “Square 39”The only user input required is the number of players7Case Study: Elevator Control System. (Inception)Key Decisions made during Inception, plans for first iteration:Do not implement logging functionality or emergency override yetCritical requirements – can the system interact with the mechanical systems to move the cabins and open/close the doors First use cases: User requests cabin, user requests floor and cabin moves to floor, door obstruction mechanism8Domain Model - IntroductionVery important model in OOA … started after some key use cases have been developedIllustrates the important concepts in the Domain, and will inspire the design of some software objectsAlso provides input to other artifactsUse-Case Model – operations contracts (TBD)GlossaryDesign Model (Sequence Diagrams)910This diagram shows an example of a an early Domain Model for the POS system. RegisterItemStoreaddressnameSaledate timePaymentamountSalesLineItemquantityStocked-in*Houses1..*Contained-in1..*Records-sale-of 0..1Paid-by1111110..11Captured-on conceptor domain objectassociationattributesNote …We will be using the UML diagrams we saw earlierThe Domain Model appears to capture the important conceptual classes that make up the domainWe will see how to identify these shortlyThe model also shows how these classes inter-relate to each otherKey aspect of OOA: Identifying a rich set of conceptual classesRemember, this is an iterative approach – don’t need the entire Domain Model created at once!The model is refined over the iterations in the Elaboration Phase11Domain Model: DefinitionThe Domain Model can be thought of as a visual representation of conceptual classes or real-situation objects in the domain (i.e. the real world).In UP, the term Domain Model means a representation of real-situation conceptual classes, not software objects. The term does not mean a set of diagrams describing software classes, the domain layer of the software architecture, or software objects with responsibilitiesThis artifact is created in the Business Modeling disciplineThink of as a visual dictionary describing the domain: important abstractions, domain vocabulary, and information content12Observations …Again, when building a Domain Model, avoid making it look like a class definition diagramLeave off software entities, like databases and any known software objectsUse conceptual level UML diagrams (leave out methods and attribute details)Conceptual ClassAn idea, thing, object Has a Symbol (i.e., a name or image)Has Intention (the purpose in the domain – what it does, why it is


View Full Document

UT Dallas CS 6359 - S6_Chapters8-9

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

Chapter_1

Chapter_1

25 pages

Load more
Download S6_Chapters8-9
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 S6_Chapters8-9 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 S6_Chapters8-9 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?