DEFINITION
A domain model, or Domain Object Model (DOM) in problem solving and software engineering can be thought of as a conceptual model of a domain of interest (often referred to as a problem domain) which describes the various entities, their attributes and relationships, plus the constraints that govern the integrity of the model elements comprising that problem domain.
A detailed software development plan, containing:
An updated risk assessment,
A management plan,
A staffing plan,
A phase plan showing the number and contents of the iteration
An iterative plan, detailing the next iteration
The development environment and other tools required
A test plan
A baseline vision, in the form of a set of evaluation criteria for the final product
Objective, measurable evaluation criteria for assessing the results of the initial iterations of the construction phase
A domain analysis model (80% complete), sufficient to be able to call the corresponding architecture 'complete'.
A software architecture description (stating constraints and limitations)
An executable architectural baseline.
REFINEMENT An application domain model describes a class of related applications. As a particular application is read and understood, the application domain model should be refined (specialized and instantiated) to reflect its specific characteristics.
GUIDELINES * Particularly in situations where older programming languages are used, begin by looking for the occurrence of modern control structures implemented by more primitive constructs (representation) * Likewise, look for the use of primitive data structures to represent unavailable ones (representation) * It may sometimes be necessary to reconfigure the control flow of the program to increase structure (representation) * Look for special cases; that is, look for similar sections of code that differ only in a small number of ways. Replace these by the parameterized use of a more abstract construct (generalization) * If the language does not support modularization, look for code that should be grouped together and separated from the rest of the program by an abstract interface (composition, encapsulation) * In contrast, sometimes a programmer intentionally interleaves the accomplishment of two goals within the same section of code. To understand the code, it becomes necessary to segregate the two functions and annotate them separately (interleaving) * If a collection of data items are used together to implement an unavailable construct, annotate that fact (composition) * Make sure that variables are only used for one purpose. Replace dual-use variables by two separate variables (interleaving)
ANNOTATIONS
SR Refinement process is driven by code reading .That is, as constructs are detected in the source code, they are explicitly mapped to domain concepts. Hence, collected annotations can feed refinements and annotations can be updated with the corresponding application concepts.
EXPECTATION GENERATION
Not only does code reading inform the domain refinement process but domain refinement drives code reading .That is, a domain description provides expectations for constructs that should be found somewhere in the code.
ARCHITECTURE KNOWLEDGE
The overall structure of a program is called its software architecture. Architectures are the means by which non-functional requirements(such as performance and security) get reflected in program structure. Programs in a specific domain often use the same architectural approach or architectural style (eg: server-client). Reader knowledge of styles can help generate expectations.
SUMMARY * Design decision recognition can guide the program abstraction process to answer what questions * Domain analysis can generate expectations to help answer why questions * Captured understanding is expressed with annotations * These two refinement activities work together to manage the program reading process
You May Also Find These Documents Helpful
-
This week learning assignment is based on Unit 8 Chapter 6 reading of the textbook about the elements of a computing system that focus on the selections relevant for supporting programs with symbols.…
- 288 Words
- 2 Pages
Satisfactory Essays -
9. What is the domain of a database? The focus of the database. If the database is about the tutoring program, its domain is “tutoring.”…
- 330 Words
- 1 Page
Satisfactory Essays -
Resources: Review the example in Appendix E and the additional examples on pgs 80-83 of Prelude to Programming…
- 756 Words
- 4 Pages
Satisfactory Essays -
• The Active Directory schema includes definitions of all objects and attributes within a single…
- 393 Words
- 2 Pages
Satisfactory Essays -
Stanford and University of California alumni Sandra Lim reads from The Wilderness on April 7, 2015, at Prairie Lights. As an alumna from the International Writing Program Lim was making her return back to Iowa City after 11 years. In The Wilderness Lim reads a collection of poems about love, spring and one poem that caught my attention was about the individual struggle of one's body within one’s mind. The poems are open to many interpretations but that is the way that I chose to interpret that poetry in particular. The interesting thing about Lim’s poem is how describes the body parts in some of her poems. It is very vague. It almost makes me feel a little bit uncomfortable but at the same time, I really like her style. The way she describes…
- 173 Words
- 1 Page
Satisfactory Essays -
Schema: “The schema of the Active Directory contains a formal definition and set of rules for all objects and attributes of those objects” (Regan, 2006, p.385).…
- 260 Words
- 2 Pages
Satisfactory Essays -
A Windows domain model is an organized collaboration of Windows servers whose database contain user information, organizational, functional, and security policies amongst other things. By the nature of the class, the use of Windows Server 2008 R2 is established. Depending on the business and hierarchical topology of the organization that is served by the model, it can be a single domain or made up of multiple domains. If there are multiple domains, they could be organized into a tree or trees that make up a forest or forests.…
- 482 Words
- 2 Pages
Satisfactory Essays -
1. Purpose – the reason that you are doing the project in question. Are the time resources and money going to be effective for what you need to accomplish. Scope – to find the subject in check to determine if there is enough information or ways to do what you need to do (funding, people, resources, extent, etc.) Authority – who’s going to be in charge of the program and what type of subject is it? Will there need to be one or two people in charge other than you? Are teams necessary? Audience – who’s being affected by it? Who are you trying to persuade to buy or use your product, etc. Format- review everything including the steps and progress you’ve made so far, and how you’re going to put it together at the end for packaging.…
- 797 Words
- 4 Pages
Powerful Essays -
The domain layer is the heart of the system; the other layers are periphery to the domain layer. This is the layer in which a product line can be developed. This is what the banks are really paying for when they ask for an accurate system; other components of the system are usually outside functional requirements and main business drivers for the project, and are easily contracted out. The domain layer also contains Controllers and Adapters which connect to the other layers in the proper way, which is what makes a three-tiered system so thin (i.e. makes it very modular and easily modifiable). It is also a channel through which data from the technical services layer reaches the presentation…
- 584 Words
- 3 Pages
Good Essays -
model: defining a problem, developing a model, developing a solution, testing the solution, analyzing the economic…
- 1947 Words
- 13 Pages
Powerful Essays -
3. What are the three key control structures in programming and what are they used for?…
- 318 Words
- 2 Pages
Satisfactory Essays -
This project entails opening two Subway Restaurant franchises. The project is described and potential problems identified. The mission, scope, and measuring the progress of the project are also discussed. The first step is applying to Subway for a franchise. Once the application has been accepted, the real work begins. Using Microsoft Project, each phase of the project can be monitored to ensure successful completion.…
- 10327 Words
- 42 Pages
Powerful Essays -
CS 220 – Programming w/ Data Structures: You have missed one assignment and one quiz. Your instructor has extended your assignment due date to this Sunday, April 10. Your instructor has also let you to take your Quiz # 2 during his office hours during this week. Let me know if you need additional support to study for this quiz. Your grade to date in this class is 30.2/37 81.62% B.…
- 354 Words
- 2 Pages
Satisfactory Essays -
The ADO.NET Entity Framework provides a persistence layer for .NET applications that allows developers to work at a higher level of abstraction when interacting with data and data-access interfaces. Developers can model and access their data using a conceptual schema that is mapped to a relational database via a flexible mapping. Interaction with the data can take place using a SQLbased data manipulation language and iterator APIs, or through an object-based domain model in the spirit of object-to-relational mappers. We demonstrate how the Entity Framework simplifies application development using sample scenarios. We illustrate how the data is modeled, queried and presented to the developer. We also show how the provided data programming infrastructure can result in easier-to-understand code by making its intent more explicit, as well as how it can help with maintenance by adding a level of indirection between the logical database schema and the conceptual model that applications operate on. Categories and Subject Descriptors: H.2 [Database Management], D.3 [Programming Languages] General Terms: Algorithms, Management, Design, Languages Keywords: Data Programming, Conceptual Modeling, ADO.NET…
- 2319 Words
- 10 Pages
Powerful Essays -
-Useful for testing, analysis or training where real-world systems or concepts can be represented by a model.…
- 9334 Words
- 38 Pages
Good Essays