Design Principle
by
Dinh Khoa Nguyen
—
last modified
Apr 26, 2012 11:13
—
filed under:
KnowledgeModel
Definitions
Term: Design Principles |
Domain: Cross-cutting issues | ||||
---|---|---|---|---|---|
Engineering and Design (KM-ED) |
Adaptation and Monitoring (KM-AM) |
Quality Definition, Negotiation and
Assurance (KM-QA) |
Generic (domain independent) |
||
D o m a i n : L a y e r s |
Business Process Management (KM-BPM) |
||||
Service Composition and
Coordination (KM-SC) |
In order to design useful and reliable business processes that are developed
on the basis of existing or newly coded services we need to apply sound
design principles that guarantee that services are self-contained and
come equipped with clearly defined boundaries and service end-points to
allow for service composability. Two key principles serve as the
foundation for service design: service coupling and cohesion. The
purpose of these two principles is to create services that encompass
the right amount of functionality to be useful and to encourage code
reuse. Service coupling and cohesion are inextricably associated with
service granularity. [Papazoglou 2007] One way of measuring service design quality is coupling, or the degree of interdependence between two service compositions. It is important that grouping of activities in service compositions is as independent as possible from other such groupings in other service compositions. The objective is to minimize coupling, that is, to make (self-contained) service compositions as independent as possible by not having any knowledge of or relying on any other service compositions. Low coupling between service compositions indicates a well-partitioned system that avoids the problems of service redundancy and duplication. Cohesion is the degree of the strength of functional relatedness of operations within a service. Service developers should create strong, highly cohesive service compositions; service compositions whose services and service operations are strongly and genuinely related to one another. A service composition with highly related services and related responsibilities, which also has a rather narrow scope, has high design cohesion. [Papazoglou 2007] |
||||
Service Infrastructure (KM-SI) |
|||||
Generic (domain independent) |
Design principles are a set of principles that are applied during the design of a software system. For example, a design principle that may be applied during the design of adaptable service-based applications is: one must consider which adaptation strategies satisfy the application's adaptation requirements. [CD-JRA-1.1.4] | Design principles describe fundamental ideas about the practice of good visual design that are assumed to be the basis of all intentional visual design strategies [Wikipedia]. |
Competencies
- Tilburg: Service Design & Modeling Methodologies; http://www.tilburguniversity.nl/eriss/research/; Willem-Jan van den Heuvel, Khoa Nguyen, Mike Papazoglou
- VUA: Service Design & Modeling Methodologies; http://www.cs.vu.nl/en/sec/imse; Qing Gu, Patricia Lago, Hans van Vliet
- INRIA: Model-Driven Engineering;http://www.irisa.fr/triskell/; Brice Morin, Grégory Nain, Olivier Barais, Franck Chauvel, Jean-Marc Jézéquel
- POLIMI: Service Design & Modeling Methodologies; http://deepse.dei.polimi.it/; Carlo Ghezzi, Elisabetta Di Nitto, Luciano Baresi
-
Lero: Software Process; http://www.lero.ie; Stephen Lane, Ita Richardson
References
- [Papazoglou 2007] Michael P. Papazoglou, Web Services: Principles and Technology, Prentice Hall, 2007
- [CD-JRA-1.1.4] Coordinated design knowledge models for software engineering and service-based computing
- [Wikipedia] Design
elements and principles:
http://en.wikipedia.org/wiki/Design_elements_and_principles