Transcription of SOFTWARE ARCHITECTURE AND DESIGN PATTERNS/17IS72 - …
1 SOFTWARE ARCHITECTURE AND. DESIGN PATTERNS/17IS72 . Department of ISE BMS Institute of Technology and Mgmt Course Outcomes CO1 Understand the basic concepts to identify state & behaviour of real world objects. CO2 Apply Object Oriented Analysis and DESIGN concepts to solve complex problems. CO3 Construct various UML models using the appropriate notation for specific problem context. CO4 DESIGN models to Show the importance of systems analysis and DESIGN in solving complex problems using case studies. CO5 Study of Pattern Oriented approach for real world problems. Program Outcomes COS/P. OS PO PO PO. PO1 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2.
2 2 3 4. CO1 3 - - - - - - - - - - - - - CO2 3 - - - - - - - - - - - - - CO3 - 3 - - - - - - - - - - 2 - CO4 - - 3 - - - - - - - - 3 - Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt CO5 - - 3 - - - - - - - - - - Syllabus and Text Books Module-1: Introduction: what is a DESIGN pattern? Describing DESIGN patterns, the catalog of DESIGN pattern, organizing the catalog, how DESIGN patterns solve DESIGN problems, how to select a DESIGN pattern, how to use a DESIGN pattern. What is object-oriented development? , key concepts of object oriented DESIGN other related concepts, benefits and drawbacks of the paradigm Module-2: Analysis a System: overview of the analysis phase, stage 1: gathering the requirements functional requirements specification, defining conceptual classes and relationships, using the knowledge of the domain.
3 DESIGN and Implementation, discussions and further reading. Module-3: DESIGN Pattern Catalog: Structural patterns, Adapter, bridge, composite, decorator, facade, flyweight, proxy. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt Module-4: Interactive systems and the MVC ARCHITECTURE : Introduction , The MVC architectural pattern, analyzing a simple drawing program , designing the system, designing of the subsystems, getting into implementation, implementing undo operation , drawing incomplete items, adding a new feature , pattern based solutions. Module-5: Designing with Distributed Objects: Client server system, java remote method invocation, implementing an object oriented system on the web (discussions and further reading) a note on input and output, selection statements, loops arrays.
4 Text Books: 1. Object-oriented analysis, DESIGN and implementation, brahma dathan, sarnath rammath, universities press,2013. 2. DESIGN patterns, erich gamma, Richard helan, Ralph johman , john vlissides ,PEARSON Publication,2013. Reference Books: 1. Frank Bachmann, RegineMeunier, Hans Rohnert Pattern Oriented SOFTWARE ARCHITECTURE Volume 1, 1996. 2. William J Brown et al., "Anti-Patterns: Refactoring SOFTWARE , Architectures and Projects in Crisis", John Wiley, 1998. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt Module-1 : Introduction What Is a DESIGN Pattern? Christopher Alexander says: Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing the same thing twice.
5 Borrowed from Civil and Electrical Engineering domains. A technique to repeat designer success. A (Problem, Solution) pair Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt Essential Elements A pattern has four essential elements: The pattern name that we use to describe a DESIGN problem, The problem that describes when to apply the pattern, The solution that describes the elements that make up the DESIGN , and The consequences that are the results and trade-offs of applying the pattern. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt DESIGN Patterns Are Not About DESIGN DESIGN patterns are not about designs such as linked lists and hash tables that can be encoded in classes and reused as is.
6 DESIGN patterns are not complex, domain-specific designs for an entire application or subsystem. One person's pattern can be another person's primitive building block. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt What is and isn't a DESIGN pattern The DESIGN patterns are descriptions of communicating objects and classes that are customized to solve a general DESIGN problem in a particular context. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt What is and isn't a DESIGN pattern A DESIGN pattern names, abstracts, and identifies the key aspects of a common DESIGN structure that make it useful for creating a reusable object-oriented DESIGN .
7 The DESIGN pattern identifies the participating classes and instances, their roles and collaborations, and the distribution of responsibilities. Each DESIGN pattern focuses on a particular object-oriented DESIGN problem or issue. It describes when it applies, whether it can be applied in view of other DESIGN constraints, and the consequences and trade-offs of its use. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt What is and isn't a DESIGN pattern Although DESIGN patterns describe object-oriented designs, they are based on practical solutions that have been implemented in mainstream object-oriented programming languages like Smalltalk and C++ rather than procedural languages(Pascal, C, Ada) or more dynamic object-oriented languages (CLOS, Dylan, Self).
8 The choice of programming language is important because it influences one's point of view. Our patterns assume Smalltalk/C++-level language features, and that choice determines what can and cannot be implemented easily. We might have included DESIGN patterns called "Inheritance", "Encapsulation," and "Polymorphism.". Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt DESIGN Patterns in Smalltalk MVC. The Model/View/Controller (MVC) triad of classes is used to build user interfaces in Smalltalk-80. MVC consists of three kinds of objects 1. Model is the application object, 2. View is its screen presentation, 3.
9 Controller defines the way the user interface reacts to user input. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt MVC decouples them to increase flexibility and reuse. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt MVC decouples them to increase flexibility and reuse. 1. MVC decouples views and models by establishing a subscribe/notify protocol between them. 2. A view must ensure that its appearance reflects the state of the model. 3. Whenever the model's data changes, the model notifies views that depend on it. 4. In response, each view gets an opportunity to update itself.
10 5. This approach lets you attach multiple views to a model to provide different presentations. 6. We can also create new views for a model without rewriting it. 7. The model contains some data values, and the views defining a spreadsheet, histogram, and pie chart display these data in various ways. 8. The model communicates with its views when its values change, and the views communicate with the model to access these values. Department Departmentof ofISE. ISE BMS. BMSI nstitute Instituteof of Technology Technologyand andMgmt Mgmt Describing DESIGN Patterns Describing the DESIGN patterns in graphical notations, simply capture the end product of the DESIGN process as relationships between classes and objects.