Top Banner
Domain Analysis Monday, September 17, 2007 CIS 673
32

Domain Analysis

Jan 11, 2016

Download

Documents

ronny

Domain Analysis. Monday, September 17, 2007 CIS 673. Domain Engineering. Establish and Maintain Body of Knowledge Technical Infrastructure To effectively develop and maintain a family of applications within a problem domain. Three Sets of Issues. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Domain Analysis

Domain Analysis

Monday, September 17, 2007

CIS 673

Page 2: Domain Analysis

Domain Engineering

Establish and Maintain

• Body of Knowledge

• Technical Infrastructure

To effectively develop and maintain a family of applications within a problem domain.

Page 3: Domain Analysis

Three Sets of Issues

• Organizing Domain Analysis Activities into Systematic, Controllable Process.

• Integrate Domain Analysis Activities into Normal development processes.

• Specify, design, classify, widely used components, package them to optimize usability.

Two organizational, one technical.

Page 4: Domain Analysis

What is a Domain?

• Characterized by its scope, its information, its features and uses, and its behavior.

• Alternative: characterized by set of possible applications and related knowledge.

• Scope can be defined by three criteria: Common Expertise (producer focus); Common Design (product focus); Common Market (consumer focus).

Page 5: Domain Analysis

Domain Analysis

Kang et al: “the process pf identifying, collecting, organizing, and representing the relevant information in a domain, based upon the study of existing systems and their development histories, knowledge captured from domain experts, underlying theory, and emerging technology within a domain”.

Page 6: Domain Analysis

Domain Analysis Activities

• Defining a glossary of terms.

• Documenting domain assumptions.

• Identifying domain stakeholders.

• Identifying problems within domain scope.

• Identifying legacy artifacts.

• Identifying commonalities and variabilities.

Product: A Domain Model.

Page 7: Domain Analysis

Domain Model

• Domain Definitions.

• Commonalities.

• Variabilities.

• Rules and Constraints.

• Environmental Boundaries.

• Requirements.

• Decision Models.

Page 8: Domain Analysis

Domain Scoping

• Scoping: An Economic Decision.

• Factors: scale of development effort, cost of domain engineering activities, amortization conditions.

• Overscoping vs Underscoping: Usefulness vs Usability. Also: DE concerns vs AE concerns. Also: Generality vs Genericity.

Page 9: Domain Analysis

Processes for Domain Scoping

• Stepwise Inclusion, starting from empty set. Increasing variability.

• Stepwise Exclusion, starting from set of all applications. Increasing commonality.

Page 10: Domain Analysis

Support for Stepwise Inclusion

• Attribute/ Product Matrix. Columns: attributes. Rows: products.

• Coherence, degree of commonality: number, width, impact of common attributes.

• Degree of variability: different values for the same column.

• Deleting outlying rows: improve coherence, reduce scope.

Outcome: define scope by common columns; abstract away specific rows.

Page 11: Domain Analysis

Domain versus Application Requirements

• Tension between domain requirements and application requirements.

• Requirements Traceability.

• Non Functional Requirements.

• Requirements Gathering.

Page 12: Domain Analysis

Component Attributes

• Usefulness: extent to which a component is needed in a domain. Usefulness is supported by generality, and dependent on scoping (Reifer’s rule). A feature of the specification.

• Usability: extent to which it is easy to use in host applications. Usability is supported by genericity. A feature of the implementation.

Page 13: Domain Analysis

Domain Analysis Deliverables

• Background definition of the domain. Terminology, theory, assumptions.

• Reference architecture for domain applications.

• Repository of reusable assets, consistent with the selected architecture.

• Guidelines for developing applications within the domain.

Page 14: Domain Analysis

DA Methodologies: FODA

• Feature Oriented Domain Analysis

• Developed by SEI in 1990.

• Characterizes a domain by its features.

Page 15: Domain Analysis

FODA

• Context Analysis. Context diagrams and structure diagrams.

• Domain Modeling. Identify commonalities and variabilities. Three parts: feature analysis, information analysis, operational analysis.

• Architecture Modeling. Reference architecture. Defined by: component interfaces, model execution, nature of interconnections.

Page 16: Domain Analysis

ODM

• Part of the STARS project (DARPA).

• Introduced by HP and Unisys, 1993.

• Focus on organizational issues and transition to reuse discipline. Three processes: domain analysis, architecture development, asset implementation.

Page 17: Domain Analysis

Characteristics of ODM

• Distinction between descriptive/ prescriptive activities.

• Descriptive: legacy systems, artifacts, experiences.

• Prescriptive: features that the domain architecture will support.

• Iterative scoping of the domain.

Page 18: Domain Analysis

JODA

• Premise: OO software is more customizable.• Developed by Joint Integrated Avionics Working

Group, in 1992.• Domain models developed using Coad/ Yourdon

OO Analysis techniques.• Domain Models: objects, attributes, services.• Variability: in attributes, services, relationships.• Domain definition: scope, technology

dependency, domain expertise.

Page 19: Domain Analysis

JODA: Three Phases

• Preparing the Domain. Collecting domain knowledge. Stability/ maturity of domain technologies.

• Domain Scoping. Domain glossary, services, dependencies. Whole-part, subject, inheritance diagrams.

• Domain Models. Object life histories; operational scenarios; packaging and grouping reusable objects.

Page 20: Domain Analysis

RLPM: Reuse Library Process Model

• Developed under STARS in 1991.

• Heavily process based, no emphasis on deliverables.

• Combined top-down and bottom-up process.

• Focused on library functions, based on asset classification.

Page 21: Domain Analysis

RLPM Domain Analysis

• Domain Knowledge Acquisition

• Classification and keyword analysis.

• Developing functional models.

• Developing domain architectures.

Page 22: Domain Analysis

DADP

• Domain Analysis and Design Process.• Developed by DISA in 1993.• Domain analysis develops generic

requirements to address frequent conditions in the domain.

• Emphasis on preparing for change; evolving requirements in a changing environment.

• Advocates OO approach, Coad/ Yourdon.

Page 23: Domain Analysis

DADP: Four Phases

• Identifying the Domain. Business models, system capabilities, domain models, external interfaces, reuse opportunities, current systems, anticipated systems.

• Scoping the Domain.

• Analyzing the Domain.

• Designing the Domain.

Page 24: Domain Analysis

DSSA

• Domain Specific Software Architecture.

• Developed by DARPA in 1992.

• Geared towards command and control systems.

• Emphasis on deliverables, rather than processes.

Page 25: Domain Analysis

Domain Models in DSSA

• Function and Dynamic Models. Dataflow and control flow diagrams. Hierarchical decomposition of domain functionality.

• Object Models. Developed using OMT. Class diagrams: class attributes, class methods, relationships of generalization and association.

Page 26: Domain Analysis

Synthesis

• Developed by the Software Productivity Consortium in 1993.

• Exploits opportunistic and leveraged reuse.

• Scoping and domain definition based on needs of a target project.

Page 27: Domain Analysis

Synthesis: Activities, Deliverables

• Activities: Domain definition: applications, their similarities, differences. Domain Specification: process requirements, application requirements, decision models. Domain verification: correctness, consistency, and completeness.

• Deliverables. Domain definition, domain specification.

Page 28: Domain Analysis

Synthesis: Domain Definition and Specification

• Domain Definition. Domain synopsis, glossary, assumptions. Legacy products.

• Domain Specification. Decision models. Application engineering requirements. Product requirements. Process requirements (deriving applications). Product Design (generic application design).

Page 29: Domain Analysis

Reuse Business Methodology

• Reuse Driven Software Engineering Business.

• Developed by Ivar Jacobson in 1997.

• Provides Guidelines and Models.

• Focus: Large scale, object oriented reuse.

• Coverage/ Scope: Business, process, architecture, organizational issues.

Page 30: Domain Analysis

Reuse Business: Three Categories of Processes

• Component Systems Engineering.

• Application Family Engineering.

• Application System Engineering.

No explicit domain engineering process, but activities are divided into AFE and CSE.

Page 31: Domain Analysis

Assessment of Domain Engineering Methodologies

• Rationale for Domain Definition.• Process for Domain Definition.• Guidelines for Domain Architecture.• Domain Engineering Deliverables.• Reusable Assets.• Domain Engineering Lifecycle.• Domain Engineering Effort.• Dependencies: with respect to Technology/

Language/ Development Methodology.

Page 32: Domain Analysis

Two Recent Methodologies

• FAST (David M Weiss), Avaya Labs.

• Pulse (Fraunhofer Institute)