Professional Documents
Culture Documents
com
Content
What is Design Pattern Different Level of Abstraction An introduction to the Object-Orientation. An introduction to the Object-Oriented Methodology. Class diagram tools and notation guild. Object-Oriented analysis and design. Object-Oriented Implementation.
for software architecture describe a particular design problem that arises in specific design contexts, and present a well-proven generic scheme for its solution. The solution scheme is specified by describing its consistent components, their responsibilities and relationships, and the ways in which they collaborate.
Architecture Pattern
An architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them. These patterns describe how to structure an application at the highest level. For example, the Layered Application pattern is an architecture pattern.
Design Patterns
A design pattern provides a scheme for refining the subsystems or components of a software system, or the relationships between them. It describes a commonly recurring structure of communicating components that solves a general design problem within a particular context Design pattern provide the next level of refinement. Many of the iconic patterns, such as MVC or Singleton, are in this layer.
Implementation Pattern
An implementation pattern (Idioms) is a low-level pattern specific to a particular platform. An implementation pattern describes how to implement particular aspects of components or the relationships between them, using the features of a given platform. We will use C# and .Net Framework
What is ObjectOrientation ?
A technology
classes. A way of thinking to organize software as a collection of discrete objects that incorporate both data structure and behavior. An abstraction of the real word based on objects and their interactions with other objects
Three characteristics of OO
Three characteristics of OO
entity and ignore its accidental. The idea of grouping software ideas into classes of things.
which are accessible to other objects, from the internal implementation details of object, which are hidden from other objects inheritance hierarchy.
Object
An object is a thing or concept. It can be a real-word
thing or concept, or an abstraction of a thing or concept expressed as a software representation. An object has state (Attribute) and behavior (method). Individual objects, also called instances, have identity and are distinct things and can be distinguished from other objects.
Classes
A class is a description of a collection of objects with
common attributes and behavior. In Practice, the definition or specification of a class includes the definitions of the attributes comprising the state, the methods implementing the behavior, and how to handle creation and destruction of an object
Development Process
a physical entity before building system. Communicating with customers. Visualization. Reeducation of Complexity.
Identifying object classes Preparing a Data dictionary for classes Identifying Associations Identifying Attributes Refining with inheritance Grouping Classes into module
Dynamic Modeling
Problem statement
Requirements
Statement
Account ATM ATM ATM Central Computer Bank Computer Account Account Bank Computer Account
System Architecture
ATM Station Consortium Computer Bank Computer Cashier ATM Cash Card User User Interface Phone Line Consortium Phone Line Cashier Station Database Account Customer Card Authorization Transaction Transaction Transaction Transaction Transaction
Station Code
Bank Code
Redundant classes Irrelevant classes Vague classes Attributes Operations Roles Implementation constructs
word have many interpretations, so prepare a data dictionary for all modeling entities. Describe the scope of the class within the current problem, including assumptions or restrictions on its membership or use The data dictionary also describe associations, attributes, and operations
Identifying Associations
Extract Verbs Object Classes Tentative associations Eliminate spurious associations Associations
Associations between eliminated classes Irrelevant or implementation associations Action Ternary associations Derived associations Misnamed associations Multiplicity
Identifying Attributes
Extract Object Properties Object Classes Tentative attribute Eliminate spurious Attribute Attributes
Object
associations, or operations For each generalization, define a superclass to share common features
specialized subclasses
is a set of classes that captures some logical subset of entire model For example: a model of computer operating system might contain modules for process control, device control, file maintenance, and memory management
Cashier, Entry Station, Cashier Station, ATM Account: Account, Cash Card, Card Authorization, Customer, Transaction, Update, Cashier Transaction, Remote Transaction Banks: Consortium, Bank
Dynamic Model
The dynamic model shows the timedependent behavior of the system and the objects in it. Begin dynamic analysis by looking for event, externally visible stimuli and responses. The dynamic model is important for interactive systems, but insignificant for purely static data repository, such as database.
Dynamic Model
The
sequences Identify events between objects Prepare an event trace for each scenario Build a state diagram Match events between objects to verify consistency
OBJECT-ORIENTED IMPLEMENTATION
Implementation Process
Class