Analysis classes describes elements of problem domain. As design model evolves, some design classes are defined:
- refinement of analysis classes
- creating new design classes
There are five different types of design classes:
- Business domain classes.
- User Interface classes.
- Process classes.
- Persistent classes represents data stores.
- System classes.
For each design class, a set of attributes and operations are developed for each design class. Design classes present significantly more technical detail as a guide for implementation. The characteristics of a well formed design class are:
- Complete encapsulation of attributes and methods that exist for the class.
- The methods that are associated with design class should focus on accomplishing one service for the class. The class should not have any other way to accomplish the same thing.
- Collaboration is important between design classes but it should be controlled. Implementing, testing and maintenance becomes difficult if there is high coupling.
- Design classes should have high cohesion. It should have focused set of responsibilities and single mindedly applies attributes and methods to implement those responsibilities.
-
Saturday, July 23, 2011
What are different characteristics of design classes in design engineering?
Posted by
Sunflower
at
7/23/2011 01:07:00 PM
0
comments
Labels: Attributes, Characteristics, Classes, Design, Design Classes, Design Engineering, Design models, Domain, Methods, Operations, software engineering, Types, User Interface
![]() | Subscribe by Email |
|
Tuesday, April 12, 2011
What is Design Engineering? What are different design concepts?
Design engineering focuses on the creation of a representation or model that are concentrated on architecture of the software, data structures, interfaces and components that are necessary to implement the software.
The design process is an iterative process of refinement, i.e.from a higher level of abstraction to lower levels of abstraction. The design should implement both explicit and implicit requirements. It should be readable and understandable. It provides an over-all illustration of the software from the perspective of the data, function and behavior.
Design concepts provides the software engineer a foundation from which design methods can be applied. These concepts include:
- Abstractions: Software engineers different levels of abstractions as we design the blueprint of the software. Two types of abstraction called data and procedural abstractions are defined.
- Modularity: It leads to information hiding and encourages functional independence.
- Coupling: It is the degree of interconnectedness between design objects. Two types of coupling are used: Interaction and Inheritance Coupling.
- Cohesion: It is the measure to which an element contributes to a single purpose.
- Refinement: Abstraction complements refinement as they enable a software engineer to specify the behavior and data of a class or module yet suppressing low levels of detail.
- Refactoring: It simplifies the design of the component without changing its function and behavior.
The work product of the design engineering phase is the design model which consists of the architectural design, data design, interface design and component-level design and deployment level design.
Posted by
Sunflower
at
4/12/2011 01:44:00 PM
0
comments
Labels: Abstraction, Cohesion, Concepts, Coupling, Data structure, Design Engineering, Information, Iterative, Modularity, Refactoring, Refinement, Representation
![]() | Subscribe by Email |
|