Conducting Component Level Design
Conducting Component Level Design
- Introduction
- Component-level design is elaborative in nature.
- It transforms information from requirements and architectural models into a design representation that provides sufficient detail to guide the construction (coding and testing) activity.
- The following steps represent a typical task set for component-level design, when it is applied for an object-oriented system.
- Step 1. Identify all design classes that correspond to the problem domain.
- Using the requirements and architectural model, each analysis class and architectural component is elaborated…
- Step 2. Identify all design classes that correspond to the infrastructure domain.
- These classes are not described in the requirements model and are often missing from the architecture model, but they must be described at this point.
- Classes and components in this category include
- GUI components (often available as reusable components),
- Operating system components,
- Object and data management components
- Step 3. Elaborate all design classes that are not acquired (Obtain) as reusable components.
- Elaboration requires that all interfaces, attributes, and operations necessary to implement the class be described in detail.
- Design heuristics (e.g., component cohesion and coupling).
- Step 3 (a) . Specify message details when classes or components collaborate.
- The requirements model makes use of a collaboration diagram to show how analysis classes collaborate with one another.
- Step 3 (b). Identify appropriate interfaces for each component.
- Within the context of component-level design, a UML interface is “a group of externally visible (i.e., public) operations.
- The interface contains no internal structure, it has no attributes, no associations . . .
- Step 3 (c). Elaborate attributes and define data types and data structures required to implement them.
- In general, data structures and types used to define attributes are defined within the context of the programming language that is to be used for implementation.
- UML defines an attribute’s data type using the following syntax:
- name : type-expression initial-value {property string}
- where name is the attribute name, type expression is the data type, initial value is the value that the attribute takes when an object is created, and property-string defines a property or characteristic of the attribute.
- Step 3 (d). Describe processing flow within each operation in detail.
- This may be accomplished using a programming language-based pseudocode or with a UML activity diagram.
- Each software component is elaborated through a number of iterations that apply the stepwise refinement concept .
- Step 4. Describe persistent data sources (databases and files) and identify the classes required to manage them.
- Databases and files normally transcend the design description of an individual component. In most cases, these persistent data stores are initially specified as part of architectural design.
- Step 5. Develop and elaborate behavioral representations for a class or component.
- UML state diagrams were used as part of the requirements model to represent the externally observable behavior of the system.
- Step 6. Elaborate deployment diagrams to provide additional implementation detail. Deployment diagrams are used as part of architectural.
- Step 7. Refactor every component-level design representation and always consider alternatives.
Nice blog on Testing!!! I agree with your points, Testing will help whole organization to handle the projects in efficient manner.
ReplyDeleteBest software testing training institute in chennai
Software testing courses in chennai
I must thank you for the efforts you have put in penning this site. I am hoping to check out the same high-grade content by you later on as well. In truth, your creative writing abilities has inspired me to get my own, personal blog now.
ReplyDeleteSoftware Testing Training in Chennai | Software Testing Training in Anna Nagar | Software Testing Training in OMR | Software Testing Training in Porur | Software Testing Training in Tambaram | Software Testing Training in Velachery
This site was... how would I say it? Applicable!! At long last I have discovered something that encouraged me. live Good wishes!
ReplyDeleteThis is the best blog for every one and also check this best eCommerce website Dubai at very affordable prices.
ReplyDelete