Please enable JavaScript.
Coggle requires JavaScript to display documents.
STRUCTURAL MODELING & DESIGN - Coggle Diagram
STRUCTURAL MODELING & DESIGN
Structural Modeling(Conceptual Level)
Structural Models
Purpose of Structural Model
Reduce the "semantic gap" between the real world and the world of software.
Create a vocabulary for analysts and users.
Represent things, ideas, and concepts of importance in the application domain.
Using these techniques: Class Diagram, CRC Card, Object Diagram.
CRC Cards
CRC cards are used to document the responsibilities and collaborations of a class.
Class Diagrams
Purpose of Class Diagrams
Shows static structure of classifiers in a system
Diagram provides a basic notation for other structure diagrams prescribed by UML.
Helpful for developers and other team members too.
Business Analysts can use class diagrams to model systems from a business perspective.
Class Relationships
Association
Association Classes
Aggregation
Composition
Generalizations
Object Diagram
An object diagram is essentially an instantiation of all or part of a class diagram.
Purpose of an object diagram:
It's used to describe the statis aspect of a system.
It's used to represent an instance of a class.
It can be used to perform forward and reverse engineering on systems.
It's used to understand the behavior of an object.
Class Diagram in Software Development Lifecycle
Conceptual perspective
Specification perspective.
Implementation perspective.
Constructing Class Diagrams
Top-down Analysis.
Bottom-up Analysis
Class & Method Design (Design Level)
Design Criteria
Coupling
: refers to how interdependent or interrelated the modules are in a system.
Cohesion
: Cohesion refers to how single-minded a module is within a system.
Object Design Activities
Adding Specifications
Identifying opportunities for reuse
Restructuring the design
Optimizing the design
Mapping the problem-domain classes to an implementation language
Constraints and Contracts
Contracts were introduced in association with collaborations
A contract is a set of constraints and guarantees. If the constraints are met, then the server object will guarantee certain behavior.
Contracts are used primarily to establish the preconditions and postconditions for a method to be able to execute properly.
A precondition is a constraint that must be met for a method to execute.
A postcondition is a constraint that must be met after the method executes
Method Specification
Method specifications are written documents that include explicit instructions on how to write the code to implement.
Specifications need to be very clear and easy to understand, or programmers will be slowed down trying to decipher vague or imcomplete.
There is no formal syntax for a method specification, so every organization uses its own format