Domain engineering is
nothing but also known as product line engineering. This article is focussed up
on the domain engineering and the activities that are involved with it.
About Domain Engineering
- This is
the process that re- utilises the entire domain knowledge in the production of
the new software systems or applications.
- The domain engineering is an
important concept under the systematic re- use of the software systems and
applications.
- There is a domain by the name of “application domain” consisting
of the systems that share commonalities.
You
must be wondering how it is possible to cater to the varying needs of the
customers by working with just a few domains.
- The developers make it possible
by repeatedly building similar software systems or applications in one domain
with many variations to cater to the wide needs of the customers and clients.
- They
do not develop a new system starting again and again from the scratch.
- Effective development is achieved by re- using the portions of the already
existing software system or application in the domain. This way time is also
saved.
- One of the activities in
domain engineering is domain analysis and it involves:
- Identifying domains
- Bounding the identified domains
- Discovering commonalities and variabilities among all
the systems in a particular domain.
Purpose of Domain Engineering
- Domain engineering aims at improving the quality of the
software systems and applications through the re- cycling of the already
existing software artifacts.
- Thus, the new software systems and applications
developed with the domain engineering are not actually new as a whole but are
variants of the other systems and applications within the same domain that were
built earlier.
- Domain engineering has helped in maximizing the business profits
and a reduction in the time to market has been observed.
- The overall cost of
the project is also reduced and is evident in the implementation phase of the
domain engineering.
- With the domain specific languages, the code size can be
restricted both in the terms of numbers and methods.
- In the domain engineering
the developers are forced to use their knowledge that they gathered during the
previous software engineering processes.
- With the development of the re- usable
artifacts, the cost of the software is reduced and the quality is improved.
Domain
engineering consists of three phases and the above principle applies well to
all these three phases.
1. Domain Analysis
- This phase involves defining the domain
and collecting information about it and produce model based on the
collected info.
- With such a model, the common points as well as variant
points of the domain are identified and thus the development of
configurable requirements is facilitated.
- Domain analysis is not be
confused with the requirements engineering.
- The effectiveness of the
domain engineering stays only when the re- use of the software artifacts
is deployed in the earlier phases of the software development life cycle
of that software product.
- Potential sources of the domain analysis
include:
(a)
Design documents
(b)
User manuals
(c)
Requirements documents
(d)
Standards and
(e)
Customers as well.
2. Domain Design
- This phase makes of the domain model
produced in the first phase and produces a generic architecture
appropriate for this model and to which all the systems within the domain
can adhere to.
- With the configurable requirements produced in the previous
phase, a standardized solution is obtained.
- The solution that is generated
in this phase is common for all the systems within that particular domain.
3. Domain Implementation
- This phase involves creation of a
customized program in that domain.
No comments:
Post a Comment