Hi Guest, 30 September 2020 Wednesday IST

About CUSAT | About Department | Alumni | Sitemap | Disclaimer  

     
 
  Home > Academic/Programmes > Programme Structure > SE (2009)
       
       
 
CSS3202: SOFTWARE ARCHITECTURE AND DESIGN PATTERNS

Core/Elective: Core Semester: 2 Credits: 4

Course Description

This course introduces the essential concepts of software architecture. Software architecture provides the most fundamental basis for communicating design decisions, establishing effective work breakdown structures, and creating software product lines. Architecture is, increasingly, a crucial part of a software organizations business strategy.

Course Objectives

To understand the relationship between system qualities and software architectures
To appreciate the role of abstraction, modelling, architecture, and design patterns in the development of a software product.
To understand design, development, documentation and evaluation of software architecture
To apply design patterns in software development

Course Content

1. The architecture Business Cycle (ABC) – Roots of Software architecture - Software architecture definitions and importance – Architectures and quality attributes -Architectural Styles - Architectural views: Need for multiple views – Some representative views – Conceptual View – Module view – Process view – Physical view – Relating the views to each other – The Software Architecture analysis Method (SAAM)

2. Architecture Frameworks: Technical Architecture Framework for Information Management (TAFIM) - The Common Object Request Broker Architecture (CORBA)

3. Architecture based development: Architecture based activities for software development – Understanding the domain requirements - Developing (selecting) the architecture – Representing and Communicating the architecture - Architecture Description Language (ADL) - Software architecture evaluation – Implementing based on architecture and assuring conformance

4. Architecture-based development Product lines - Case study of J2EE/EJB - Future of software architecture

5. Design Patterns: Patterns vs. Frameworks – advantages of patterns – using patterns to solve problems – review of pattern families – Categories of patterns: Creational, Structural, Behavioural patterns – Future work

REFERNCES

1. Software Architecture in Practice(2nd Ed): Len Bass et al, AW (1998)
2. Evaluating Software Architectures: Methods and Case Studies: Clements et al, AW (2001)
3. Documenting Software Architectures: Views and Beyond : Clements et al, AW (2002)
4. Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach, Bosch et al, AW (2000)
5. Design Patterns: Elements of reusable Object Oriented Software – Erich Gamma et al, AW, (1994)
6. Materials from http://sei.cmu.org/architecure


Copyright © 2009-20 Department of Computer Science,CUSAT
Design,Hosted and Maintained by Department of Computer Science
Cochin University of Science & Technology
Cochin-682022, Kerala, India
E-mail: csdir@cusat.ac.in
Phone: +91-484-2577126
Fax: +91-484-2576368