Unformatted text preview:

Slide 1CS 602 Java and the WebIntroductionWhat is a Domain?Software Development DomainsExampleDomain AnalysisRudimentary Class DiagramsSystem ObjectsObject NamesWhite BoardingPrototypingGeorge BlankUniversity LecturerCS 602Java and the WebDomain ModelsIntroduction•There are two different kinds of class models used at different phases of object oriented design.•During the Inception Phase, Domain Modeling is used to discover real world objects that will become candidates for system objects.•During the Elaboration and Construction Phases, a Class Model is developed, usually being created automatically by a diagramming tool as part of creating Interaction Diagrams.What is a Domain?•A body of knowledge, or information about a particular area of application.•Typically software developers think about two different kinds of domains; horizontal and vertical domains.•A Vertical Domain is information about a particular industry, such as Telecommunication or Banking.•A Horizontal Domain is information that crosses different industries, such as Marketing, Accounting, or Inventory.Software Development Domains•Most software development focuses on the intersection between a horizontal and a vertical domain, such as an Accounting Application for the Insurance Industry.•Often corporate software developers develop expertise in one or more horizontal domains as well as their own industry.Example•During my software development career as part of AT&T’s Bell Labs, I was part of the Marketing and Financial Analysis district of the Business Operations Analysis division.•I developed expertise in the Telecommunications vertical domain and the Marketing and Finance horizontal domains.•When I transferred to Billing, AT&T sent me to school to learn the Telecommunications Billing domain.Domain Analysis•Domain analysis is a modeling task that is used to identify real world objects in the domains of interest for a particular application, and some of the most important relationships between some of those objects.•This is an exploratory activity. Not all of the objects found will be used.•A Glossary is often developed during domain analysis to define terms in the domains.Rudimentary Class Diagrams•A Domain Model is a simpler form of Class Model.•Usually, a Class model includes three types of information about a class; it’s Name, Attributes, and Methods.•Domain Models concentrate on object Names. A few Attributes and Methods may be documented, but they are secondary considerations.System Objects•A major difference between Domain Models and Class Models is that Domain Models concentrate on real world objects, while Class Models include system objects such as controllers, views, facades and menus that systems use to manage real world objects.Object Names•Object names are very important in object oriented development.•Since naming occurs early, names have a strong influence on the structure and development of an application.•Since the primary activity in design is assigning behavior to objects, getting the right objects is necessary before design.White Boarding•Domain modeling is often a White Board activity, where a small group of software analysts and subject matter experts brainstorm in a conference room, drawing the Domain Model on a white board with colored markers.•A copy is created and distributed to participants and others who may be interested.Prototyping•Sometimes the Domain Model is entered into a modeling tool and used as an evolutionary prototype, being expanded into the Class model. This is not recommended.•Best practices suggest a clear separation between thinking about the problem domain (analyzing the problem) and the solution domain (designing a solution). For this reason, it is better to think of the Domain Model as a throwaway


View Full Document

NJIT CS 602 - Domain Models

Download Domain Models
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 Domain Models 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 Domain Models 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?