Software Architecture Course Survey - Software Architecture Portal

Document Sample
Software Architecture Course Survey - Software Architecture Portal Powered By Docstoc
					Survey of Software Architecture Courses - Industrial
Course Names Software Architecture Industrial Bredemeyer Consulting Bloomington, IN 47401 Tel: (812) 335-1653 Year offered 2006 Price 4-day workshop is US$2250.00 per student. Objective This is a workshop, and small teams work on creating a draft architecture using the Visual Architecting Process. We follow the iterative architecting process, and weave concepts and architecting techniques into the lectures between work sessions. The lecture topics are driven by the concerns that are being addressed at that stage of the architecting process. This makes it a "non-traditional" format, but it is one that works well as it allows us to work end-to-end through the creation of a draft architecture. A forum for bringing together architects with a focus on action. We design Architect Community Builder™ programs for a community of practicing architects, with the goal of developing the integrity of the community and each of the individual architect's skills. Topics • Introduce architectural patterns, principles and mechanisms. • Learning how to create, validate and update an architecture. • Focusing on the role and responsibilities of the architect and positioning the architecture role within the organization.

Architect Community Builder

Bredemeyer Consulting Bloomington, IN 47401 Tel: (812) 335-1653

2006

Contact for pricing

• enhance the personal effectiveness of the participating architects • develop a common foundation of architecture concepts and processes across the organization • enhance reuse across the organization, by creating strong relationships among the technical leaders, identifying opportunities to reuse components and architectural patterns and mechanisms, adopting common process and notation to make sharing easier, etc.

Designing Software Architectures

Bredemeyer Consulting Bloomington, IN 47401 Tel: (812) 335-1653

2006

4-day class is $2000 per student.

This class covers the concepts and concerns central to software architecture. With that groundwork laid, the majority of the time is focused on the architecting process. Each architecting activity is motivated with stories. The concepts, techniques and models for each phase of requirements, structuring and validation are explained and demonstrated, then practiced in small teams. Action Guides provide handy references as teams fill out templates or create graphical models using UML.

• Express architectural principles • Capture architectural patterns using UML • Create structural and behavioral views of the architecture using UML models • Graphically model components (using UML) to understand/communicate their structure and behavior • Design and document components and their interfaces • Capture architectural requirements using Use Cases for run-time requirements and Test Cases for qualities • Perform architecture analyses and validate the architecture • Architecting pitfalls and critical success factors • The architecting process • The role of the Architect • Architect as consultant • Interviewing Architecture Stakeholders • Analyzing and synthesizing input • Facilitation and the art of leading team processes • Leading Architecture Reviews • Taking criticism • Architect as leader • Stories and leadership • How to create and sell an Architectural Vision • Architect as strategist • Context Maps • Technology Roadmaps • about the role and importance of architectural vision • how to create a compelling architectural vision, and • how to gain buy-in among the various communities within the organization.

What it takes to be Great The Role of the Architect

Bredemeyer Consulting Bloomington, IN 47401 Tel: (812) 335-1653

2006

3-day open enrollment In the workshop, we will develop a model of the class is $1650 per student role, responsibilities and skills of an architect. We share stories from our real-world experience to help you understand the role, responsibilities and skills of an architect. Throughout the workshop we help you to build skills with experiential exercises in areas that, as engineers, we typically do not get much opportunity to hone. The technical aspects of the architect role, such as system and requirements modeling are introduced in this workshop, but covered in depth in the Software Architecture Workshop.

Strategic Architecture Vision

Bredemeyer Consulting Bloomington, IN 47401 Tel: (812) 335-1653

2006

1-day workshop is US The workshop is a working session designed to $5000 plus the instructor's create a good draft of your architectural vision travel expenses. and a plan for validating and communicating the vision. Lecture segments are purposely kept to a minimum.

Page 1 of 13

Survey of Software Architecture Courses - Industrial
Architectural Requirements for Bredemeyer Consulting Business Analysts Bloomington, IN 47401 Tel: (812) 335-1653 2006 The cost for the 2-day class is US$1,200 per student. Lunch and snacks will be provided. The course helps business analysts become stronger and more effective partners for architects, providing useful input to the architecting process. This means that systems will be better specified, better architectures will be created, and ultimately more useful capability will be delivered to the business. • What is software architecture? • Why is software architecture important? • How is architecture created? • What is the role of the architect? What is the role of the business analyst? • What is an architectural requirement? • Use cases as input to architecting. • Specifying system qualities as input to architecting. • architecture (what), answering the question: "what is software architecture?" This section deals with architecture definitions and distinctions, benefits, key concerns, and primary techniques, including an introduction to architectural patterns. • architecting (how), that is the process of creating an architecture. We provide an overview of our Visual Architecting Process. • architects (who), focusing on the role and responsibilities of the architect and positioning the architect role within the organization. • We also address architecture motivation (why), architecture context (where) and architecture timing (when). When you have completed the class, you will be able to answer: * What is enterprise architecture? What is software architecture? * What is UML? How does it relate to architecture? * Why is architecture a critical organizational competency? * How, broadly speaking, is architecture created and sustained? * Who creates architecture? What are the competencies of an architect? The key focus areas include understanding of multiple EAFs (Enterprise Architecture Frameworks), Component based product line, Model Driven Architecture (MDA) and Service-Oriented Architecture (SOA)

Software Architecture Overview

Bredemeyer Consulting Bloomington, IN 47401 Tel: (812) 335-1653

2006

1-day class is US$600 per This class provides an overview of our approach student. Lunch and to architecture, architecting and architects. It is snacks will be provided. not a "beginner" class, but rather a fast-paced treatment of the concepts and techniques that are important particularly to those who partner with architects, but also to architects.

Software Architecture Primer for Managers

Bredemeyer Consulting Bloomington, IN 47401 Tel: (812) 335-1653

2006

The cost for the 1/2-day class is US$350 per student. Lunch and snacks will be provided.

Architecting Enterprise Software

Software Architecture

iCMG 13317"C" Thomasville Circle Tampa -33617 Florida iCMG 13317"C" Thomasville Circle Tampa -33617 Florida

2006

Rs. 23,500/ per participant for standard first time attendee

This class provides an introduction to software architecture oriented to managers. It identifies what software architecture is, and describes the Visual Architecting Process that architects and lead engineers are learning in the companion Software Architecture Workshop. It also describes the architect role and the competencies of a good architect. This 3 days workshop is focused on enterprise software architecture as a specialty.

2006

Contact for pricing.

• Arch Software notations, representations and specifications • Development process and intelligence gathering techniques • Architectural Tools • Antipatterns for Architecture • SunConnect Architecture and MDA • Application Integration Scenario • Web SOA • QoS in Architecture This four-day course examines the basics of the software architecture task in a development project. It emphasizes the responsibilities of the architect both establishing an appropriate architecture, and in managing the architecture throughout the development process. This course introduces the basic concepts of software architecture. A software architecture is an abstract view of a software system distinct from the details of implementation, algorithms, and data representation. Architecture is an increasingly crucial part of a software organization's business strategy. Software architectures can

• Arch Software notations, representations and specifications • Development process and intelligence gathering techniques • Architectural Tools • Antipatterns for Architecture • SunConnect Architecture and MDA • Application Integration Scenario • Web SOA • QoS in Architecture

System Architecture Course

Millinium Services P.O. Box 653, Lincroft, NJ 07738

2006

Contact for pricing

• Requirements • Performance/Capacity • Operations Administration & Maintenance • Error Recovery/Availability

Software Architecture Principles & Practices

Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 152133890 Phone: 412 / 268-7388 FAX: 412 / 268-7401

2006

U.S. Course Fee: Industry: $1320 Government: $1055 Academic: $1055 International Course Fee: $1980

• the architecture business cycle: what influences software architects and software architecture • definition and overview of software architecture • understanding and achieving quality attributes • documenting software architecture • evaluating software architecture • architecture reuse • emerging methods—such as architecture reconstruction and the Cost Benefit Analysis Method (CBAM)—and software architecture of the future

Page 2 of 13

Survey of Software Architecture Courses - Industrial
Documenting Software Architectures Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 152133890 Phone: 412 / 268-7388 FAX: 412 / 268-7401 2006 U.S. Course Fee: Industry: $1320 Government: $1055 Academic: $1055 International Course Fee: $1980 This two-day course provides in-depth coverage of effective software architecture documentation practices that meet the needs of the entire architecture stakeholder community. This course presents the information in the context of prevailing prescriptive models, including the Rational Unified Process (RUP), the Siemens Four Views software approach, the IEEE 14712000 standard, and the Unified Modeling Language (UML). The course is based on the book Documenting Software Architectures: Views and Beyond . • the basic principles of sound technical documentation • a stakeholder- and view-based approach to documenting software architectures • which views are available for documenting an architecture • how to choose the set of views that will be most valuable to the architecture's community of stakeholders • the information needed to document a view • how to use formal and informal notations (including the Unified Modeling Language [UML]) to represent elements and relations in a view • how to document a software interface and software behavior • the information needed to document information that applies across views • life-cycle view of architecture design and analysis methods • the Quality Attribute Workshop, a method for eliciting critical quality attributes, such as availability, performance, security, interoperability, and modifiability • the Attribute-Driven Design (ADD) method, a method for designing a software architecture • the Architecture Tradeoff Analysis Method (ATAM), a method for evaluating a software architecture based on a set of attribute-specific measures of the system such as performance, availability, modifiability, and security

Software Architecture Design and Analysis

Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 152133890 Phone: 412 / 268-7388 FAX: 412 / 268-7401

2006

U.S. Course Fee: Industry: $1320 Government: $1055 Academic: $1055 International Course Fee: $1980

This two-day course provides in-depth coverage of the concepts needed to effectively design and analyze a software architecture. The essential considerations for defining any architecture are carefully examined and then illustrated through application of the Attribute-Driven Design (ADD) software architecture design method. This course also explores architecture analysis in depth and introduces the Quality Attribute Workshop (QAW) and the Architecture Tradeoff Analysis MethodSM (ATAMSM). Through multiple exercises, participants study an application of these methods and get a chance to apply them to sample problems. The course is intended to mimic an evaluation of a fictitious but realistic system. Participants play roles as stakeholders and evaluation team members during the various exercises. The two days of the course are modeled after the two phases of the ATAM.

ATAM Evaluator Training

Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 152133890 Phone: 412 / 268-7388 FAX: 412 / 268-7401

2006

U.S. Course Fee: Industry: $2520 Government: $2015 Academic: $2015 International Course Fee: $3780 U.S. Course Fee: Industry: $2640 Government: $2120 Academic: $2120 International Course Fee: $3960 U.S. Course Fee: Industry: $1200 Government: $960 Academic: $960 International Course Fee: $1800

• overview of the ATAM • software architectures and quality attributes • Phase I activities of the ATAM • video presentation of fictitious system's business goals and architecture • preparation for and activities of Phase II of the ATAM • critique and discussion of participants' Phase I findings and final ATAM presentation • facilitation • the ATAM and facilitation • basic facilitation skills • group dynamics • scenario role playing

Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 152133890 Phone: 412 / 268-7388 FAX: 412 / 268-7401 Model-Based Engineering with Software Engineering SAE AADL Institute Carnegie Mellon University Pittsburgh, PA 152133890 Phone: 412 / 268-7388 FAX: 412 / 268-7401

ATAM Leader Training

2006

2006

This two-day course focuses on the social and leadership skills needed to successfully lead an architecture evaluation using the ATAM. The course presents ATAM facilitation requirements and challenges in the context of general facilitation and consulting principles. Through exercises, participants practice being an ATAM lead evaluator. This two-day course provides an excellent opportunity to get a jump start on the use of the SAE Architecture Analysis & Design Language (AADL), a new international standard for embedded computer systems (SAE AS5506) on your projects. AADL supports predictable engineering through model-based analysis and integration of real-time applications on their target platforms. Fields of application include avionics and space applications, automotive electronics, ground based control systems, and industrial process control equipment.

• Overview of SAE AADL standard effort • Model-based engineering with AADL • Key elements of the SAE AADL standard • An illustrated overview of the modeling concepts • Pattern-based analysis of an avionics system • Case studies of AADL in use • Tool-based multi-fidelity analysis of AADL models • An XML-based tool environment strategy

Page 3 of 13

Survey of Software Architecture Courses - Industrial
Introduction to Software Software Productivity Architecture, its Principles and Center Inc. Methods Suite 460 - 1122 Mainlaind Street, Vancouver, BC V6B 5L1 1-877-548-1948 2006 $995.00 for two days • Definitions of software architecture • Benefits of software architecture • Software architecture in the development cycle. • Software architecture representations, multiple views, use of UML. • Software architecture artifacts • A typical architectural iteration • Architectural representation • Desirable qualities of a software architecture • The role of architecture in managing risk • Common architectural frameworks. • Object-oriented approaches. • The impact of commercial off-the-shelf products (COTS) and standards. • How and where architectural design fits in an iterative software development lifecycle, such as the Rational Unified Process. • The role of Architecture - A discussion on architecture and the role of design. • Uses of Architecture Documentation - The purpose of architecture documentation and how it is used in the organization. • Documentation techniques and notation - A discussion on notation techniques and styles • Architectural views -The different views of architecture, understanding the different views, choosing the views to set up, setting up the different views, understanding stakeholder documentation needs and the method of performing architecture trade- off analysis • Interfaces - The definition and specification of interfaces, standard organization of for documenting interfaces, and understanding who are the stakeholders of interface documentation • Documenting behaviour - A discussion on where to document behaviour, why we document behaviour and what behaviour to document • Rules for sound documentation - A discussion focused on best practices in setting up software architecture documentation • Example notations - Example views on documenting software architectures. Notations discussed are the Rational Unified Process and the Standard UML

Documenting Software Architectures Using the UML

Xpdian (Pty) Ltd P.O. Box 11501, Wierda Park South, 0057

2006

Contact for pricing.

This course teaches participants to decide on what documentation to document in order to create sound software architecture.

Page 4 of 13

Survey of Software Architecture Courses - Industrial
Web Address http://www.bredemeyer.com/architecture_workshop_overview.htm

http://www.bredemeyer.com/Services/congress.htm

http://www.bredemeyer.com/UML_architecture_workshop_overview.htm

http://www.bredemeyer.com/role_of_architect_workshop_overview.htm

http://www.bredemeyer.com/EnterpriseArchitecture/strategic_architecture_vision.htm

Page 5 of 13

Survey of Software Architecture Courses - Industrial
http://www.bredemeyer.com/Workshops/Descriptions/ArchitectureReqtsForBusiness Analysts.htm

http://www.bredemeyer.com/Workshops/Descriptions/architectureOverviewSeminar. htm

http://www.bredemeyer.com/Workshops/Descriptions/ArchitectureForManagersSemi nar.htm

http://www.icmgworld.com/corp/events/india/sa_workshop/home.asp

http://www.icmgworld.com/corp/Developer/dev.coursedetails1.asp

http://www.millenniumsc.com/crs_sa.htm

http://www.sei.cmu.edu/products/courses/saf.html

Page 6 of 13

Survey of Software Architecture Courses - Industrial
http://www.sei.cmu.edu/products/courses/dsa.html

http://www.sei.cmu.edu/products/courses/saad.html

http://www.sei.cmu.edu/products/courses/aet.html

http://www.sei.cmu.edu/products/courses/aft.html

http://www.sei.cmu.edu/products/courses/p52.html

Page 7 of 13

Survey of Software Architecture Courses - Industrial
http://www.spcspringboard.com/coursepdfs/kruchten/architecture.pdf

http://www.xpdian.com/DocumentingSoftwareArchitecturesUsingthe.html

Page 8 of 13

Survey of Software Architecture Courses at Universities
Course Names Master course on Software Architecture University The Center for Software Technology at Ultrecht University Price Fall 2006 Objective Introduction to software architecture, Software requirements, Architectural patterns, patterns of enterprise application architecture, Component software, Design by contract, Enterprise integration patterns, Describing and evaluating software architectures. Topics • Architectural patterns • Patterns of enterprise application architecture • Component software • Design by contract • Enterprise integration patterns • Describing and evaluating software architectures • Addressing programs as data • Meta-languages for information interchange • Service-oriented architectures • Relational database Technology • Network performance modeling Web Address
http://www.cs.uu.nl/wiki/Swa/WebHome

Software Architecture

University of Oxford - Software Engineering Programme

£1300

We offer five different courses on the theme of software architecture, addressing: programs as data; meta-languages for information interchange; service-oriented architectures; relational database technology; and network performance modeling.

http://www.softeng.ox.ac.uk/courses/architecture.html

Software Architecture and Design

University of Toronto

Fall 2006

Software Architecture

University of Alberta

Fall 2001

This course is an introduction to the development of system-level architectures and class-level object-oriented designs for software systems. There is a special emphasis on the study of architecture and design patterns: the core of solutions to commonly occurring design problems; representations of design/architecture (with emphasis on the use of UML as a classlevel design notation); architectural assessment; product lines; architecture extraction; and refactoring. There is no major project, but there is a series of smaller design and architecture exercises requiring some programming. A knowledge of UML as used for requirements analysis and a working knowledge of Java are assumed. This course will discuss different software architecture styles, their properties and the types of problems for which they are most appropriate, it will examine different formalisms for specifying a software architecture, and it will explore the role of software architecture throughout the software development life cycle. The student will have a working knowledge of software architecture, Have a good understanding of several design patterns, Be aware of framework models, Be aware of component based software development, Be aware of reuse methods and techniques, Be aware of software product-line architectures, Be aware of architecture eval models. The aim of this module is to introduce you to key concepts in the design and implementation of large scale, long lived software systems. The course gives students some practical experience of working in a team faced with planning a longterm project for developing a large software system. It helps them to be aware of common threats to such projects and how to address them. It also gives students a repertoire of highlevel design and architectural patterns and guides students in applying them.

• Development of system-level architectures www.cs.toronto.edu/DCS/Undergrad/Courses/current.html • Class-level object-oriented designs • Special emphasis on study of architecture and design patterns • Core of solutions to commonly occurring design problems • Representations of design/architecture • Architectural assessment • Product Lines • Architecture Extraction • Refactoring

• Software architecture styles • Properties and types of problems • Formalisms for specifying a software architecture • Role of software architecture throughout the development life cycle. • Working knowledge of software architecture • Understanding of several design patterns. • Framework models • Component based software development. • Reuse methods and techniques. • Software product line architectures • Architecture eval models

www.cs.ualberta.ca/~stroulia/661/Fall2001/

Software Architecture

Schulich School of Engineering/University of Calgary

Fall 2005

www2.enel.ucalgary.ca/People/Pfahl/course-seng443-fall2005.pdf

Software Architecture

THE UNIVERSITY of EDINBURGH

2006/2007

• Key concepts in the design and implementation www.drps.ed.ac.uk/06-07/course.php?code=P01492 of large scale, long lived software systems. • Practical experience of working in a team • Common threats to long-term projects • High-level design and architectural patterns

Page 9 of 13

Survey of Software Architecture Courses at Universities
Software Architecture and Design The University of Texas at Dallas 2006/2008 Introduction to software design with emphasis on architectural design. Models of software architecture. Architecture styles and patterns, including explicit, event-driven, client-server, and middleware architectures. Decomposition and composition of architectural components and interactions. Use of non-functional requirements for tradeoff analysis. Component based software development, deployment and management. Prerequisites: SE 3306, CS/SE 3354 or consent of instructor. The Software and Systems Architecture Processes, including how they fit into the larger Software Engineering process; a description of Architecture Documentation including Representation and Quality Attributes; and Architecture Evaluation Methods. • Intro to software design with emphasis on www.utdallas.edu/student/catalog/ugcurrent/ugprograms/se.html#4352 architectural design. • Models of software architecture • Architecture styles and patterns • Decomposition and composition of architectural components and interactions. • Non-functional requirements for tradeoff analysis. • Component based software development, deployment and management. • Software and systems architecture processes • Larger software engineering process • Description of architecture documentation • Representation of quality attributes • Architecture evaluation methods

Intro to Software Architecture

The University of Minnesota

Fall 2005

www-users.itlabs.umn.edu/classes/Fall-2005/seng5861/index.php?page=syllabus

Software Architecture and Software Engineering for Webbased Applications

The University of South Australia

Fall 2006

Definitions of web based applications and models of web based applications. Review of the web infrastructure. Taxonomy of the web based software infrastructure; tiers and abstraction layers. Web Application Servers. Issues of locality distribution, execution segmentation, interface granularity, network performance variability and the wide range of user capabilities and user requirements for the same application as they affect application development. Overview of application services, enterprise java beans, java servers, java server pages, Java API for XML processing and ASP.net. Basics of software as it relates to web based applications. Website not in English. As the software component of systems becomes larger and more complex, the need to understand them at a higher level of abstraction becomes more important. The software architecture of a computing system describes the overall structure of the system in terms of the software components, the externaly visible properties of those components, and the relationships among them. For large software system like traffic management systems, process control systems, and command-and-control systems, the choice of a software architecture is becoming more crucial within the overall development process. This course will discuss different software architecture styles, their properties and the types of problems for which they are most appropriate, it will examine different formalisms for specifying a software architecture, and it will explore the role of software architecture throughout the software development life cycle.

• Web application servers www.unisanet.unisa.edu.au/courses/course.asp?Course=COMP4029 • Issues of locality distribution • Execution • Segmentation • Overview of application servers • Enterprise java beans, java servers, java server pages • Basics of software as it relates to web based applications

Software Architecture Software Architecture

University of Verona University of Leiden

2005/2006 2000/2001

www.scienze.univr.it/fol/main?ent=oi&cs=4&id=17504&lang=en Website not in English. http://homepages.cwi.nl/~marcello/sa.html • Software architecture styles • Examine different formalisms for specifying a software architecture • The role of software architecture throughout the software development cycle.

Page 10 of 13

Survey of Software Architecture Courses at Universities
Architecture of Software Systems The University of New South Wales, Sydney Principal architectural issues associated with the design and construction of large scale software systems. Study and evaluation of several wellknown and frequently used architectural styles, patterns and frameworks. Study of pipes and filters, layered systems, distributed objectoriented systems, component-based systems, etc. The course will also examine the practical applicability of architecture research, specifically its relationship to the work in software reuse and component interoperability of platforms such as J2EE, Microsoft, NET and CORBA. Case studies and exercises will be used to illustrate the architectural issues. Summer 2006 Introduction to analysis and design of software architectures with UML (Unified Modeling Language) and their subsequent synthesis within component frameworks. Topics include architecture description languages, modeling techniques and tools, model driven code engineering, scalable software architectures, component-based software development, interfaces, libraries, event-driven programming, middleware and integration testing. • Principal architectural issues associated with the /www.handbook.unsw.edu.au/undergraduate/courses/2006/COMP9117.html design and construction of large scale software systems. • Study and evaluation of architectural styles, patterns and frameworks. • Study of pipes and filters, layered systems, distributed object-oriented systems, component based systems. • Examine the practical applicability of architecture research.

Software Architecture & Systems

The University of Victoria

• Intro to analysis and design of software architectures with UML. • Architecture description languages • Modeling techniques and tools. • Model driven code engineering • Scalable software architectures. • Component-based software development • Libraries • Event-driven programming • Middleware and Integration testing

www.csc.uvic.ca/courses/summer%202006/seng/seng271.html

Software Architecture and Analysis

McGill School of Computer Science

Fall 2006

Software Design and Architecture

University of Essex

2006/2007

Software Architecture

London Metropolitan University

2005/2006

Software Architecture

California State University, Sacramento

Fall 2006

In this course, you will acquire the concepts and techniques that will enable you to understand, analyze, maintain, and improve the architecture of large software systems. The course will also touch on some key issues of software engineering research related to the question of software modularity. The aim of this module is to introduce the students to a broad range of software design and architectural motifs, to the principles governing them, and to modeling techniques. To provide an understanding of techniques used in the design and implementation of large programs. Relate the high principles of program construction to examples otherwise difficult to relate to the small programming assignments that comprise the majority of the undergraduate experience. This course is to introduce the following materials in varying detail:� Concepts, principles, and activities for software architecture design. Engineering discipline and guidance for software architecture design.� Languages for software architecture specification and documentation.� Techniques, methods, tools for analyzing, and evaluating software architecture.� Reuse of software architecture design, Innovations and advances in software architecture.� Students will learn how to recognize and describe major architecture styles in existing software systems, make well-reasoned choices among architecture design alternatives, understand and document actual software architecture designs and specifications, and create, analyze, and evaluate software architecture designs.

• Understand, analyze and maintain and improve www.cs.mcgill.ca/~martin/teaching/comp529-fall-2006/ the architecture of large software systems. • Software engineering research • Software modularity

• Software design and architectural motifs, principles governing them. • Modeling techniques

www2.essex.ac.uk/courses/result.asp?coursecode=CC439&level=G&period=AU&ye arofcourse=06

• Understanding of techniques used in the design www.learning.north.londonmet.ac.uk/im257.html and implementation of large programs. • Relate the high principles of program construction .

• Concepts, principles and activities for software www.gaia.ecs.csus.edu/~zhangc/235info.htm architecture design. • Engineering discipline and guidance for software architecture design. • Languages for software architecture specification and documentation. • Techniques, methods, tools for analyzing and evaluating software architecture. • Reuse of software architecture design.

Page 11 of 13

Survey of Software Architecture Courses at Universities
Software Architecture & Design Bilkent University Fall 2006 This course teaches the basic concepts, methods and techniques for designing software architectures. The topics include: rationale for software architecture design, modeling software architecture design, architectural styles/patterns, architectural requirements analysis, comparison and evaluation of architecture design methods, synthesis-based software architecture design, software product-line architectures, domain modeling, domain engineering and application engineering, software architecture implementation, evaluating software architecture designs. • Basic concepts, methods and techniques for designing software architectures. • Rationale for software architecture design. • Modeling software architecture design. • Architectural styles/patterns. • Architectural requirements analysis. • Comparison and evaluation of architecture design methods. • Synthesis-based software architecture design. • Software product-line architectures. • Domain modeling, engineering and application engineering. • Software architecture implementation. • Evaluating software architecture design. www.catalog.bilkent.edu.tr/current/course/c11411.html

Software Architecture

DePaul School of Computer Science, Telecommunications and Information Systems

Spring 2006

Software Architecture

University of Western Ontario

Spring 2006

This course will address the critical task of choosing appropriate software architectures for complex software systems. The architecture of a system plays a critical role in helping a development organization meet its business goals. Proper consideration of architectural issues, including the use of suitable architectural patterns, can make a system easier to build, maintain, and extend. A system's architectural design is concerned with describing its decomposition into software elements, the interfaces of those elements, and the collaborations among them. This course focuses on “software architectures”. A software architecture is an abstract representation of a software system, filtering out what is traditionally considered design- and implementation-level issues (such as: algorithm, design patterns, data representation and coding) and highlighting such aspects as the system structure, inter-relationships and interaction among these structures, and other “run-time” properties of the system. Whereas software requirements generally state the “what” of a system, a software architecture states the “how” of a system. It sets bounds for lower-level design of a system and gives a technical context to new software requirements. Understand and apply core software architecture concepts and vocabulary. Deliver better software in a more cost-effective way through principled architectural design. Identify and address key architectural issues at each stage of the software/product development lifecycle. Institute and oversee cost-effective software architecture design reviews. Apply value-based architecting techniques to evaluate architectural decisions in the context of economic goals and constraints. Understand principles for the design and management of product line architectures.

• Critical task of choosing appropriate software architectures for complex software systems. • Architectural issues. • Architectural patterns. • Architectural design.

www.cti.depaul.edu/courses/syllabus.asp?course=SE-480910&q=3&y=2006&id=273

• Focuses on Software Architectures. • Design and implementation-level issues • System structure • Inter-relationships

www.csd.uwo.ca/courses/CS549b_Congese/

Software Architecture: A Carnegie Mellon West Managerial Perspective

Fall 2005

• Understand and apply core software architecture concepts and vocabulary. • Deliver better software in a more cost-effective way through principled architectural design. • Identify and address key architectural issues at each stage of the software/product development lifecycle. • Institute and oversee cost-effective software architecture design reviews. • Apply value-based architecting techniques to evaluate architectural decisions in the context of economic goals and constraints. • Understand principles for the design and management of product line architectures.

http://west.cmu.edu/prospective_students/professional_development_center/enginee ring?category=Development%20Management&courseid=1697312

Page 12 of 13

Survey of Software Architecture Courses at Universities
Software Architecture Indian Institute of Technology Kanpur Fall 2006 Complex software systems require abstraction and analysis at an architectural level of abstraction. In this course we study, typical software system structures (architectural styles), techniques for designing and implementing these structures, models for characterizing and reasoning about architectures, and tools architectural modeling. Role of architecture in Software engineering; Enterprise Architectures, Zachman's Framework; Architectural Styles, Design Patterns; Architecture Description Languages; Product-line architectures; Component based development • Software system structures (architectural styles) http://www.cse.iitk.ac.in/acad/courses3.html#cs654 • Techniques for designing and implementing these structures. • Models for characterizing and reasoning about architectures. • Tools and architectural modeling. • Role of architecture in software engineering. • Enterprise architectures. • Zachman’s Framework • Design patterns • Architecture description language • Product-line architectures • Component based development • Issues associated with large-scale software architectures, frameworks, patterns • Development and construction of componentbased systems. • requirements, • design (including object-oriented design and related notations, such as UML), • implementation. • practical applicability of architecture

Software Architecture

University of Strathclyde, Glasgow

Fall 2006

Software Architecture

University of Southern California

2002

Software Architectures

Institute of Software Systems

2005

To enable students to understand the issues associated with large-scale software architectures, frameworks, patterns and the development and construction of componentbased systems. This course will expose you to the concepts, principles, and state-of- the-art methods in software architectures, including domain-specific software architectures (DSSA), architectural styles, architecture description languages (ADL), software connectors, dynamism in architectures, and architecture-based testing and analysis. In the process of studying these concepts, we will make explicit the boundaries of the field and discuss its relationship to other areas of software engineering, specifically requirements, design (including object-oriented design and related notations, such as UML), and implementation. The course will also examine the practical applicability of architecture research, specifically its relationship to the work in software reuse and component interoperability platforms (such as CORBA, Enterprise JavaBeans, and COM/DCOM). Homework assignments and two exams will be given to assess your understanding of important concepts, methods, languages, and tools. A project will give you an opportunity to study an aspect of architectures in more depth and “push the envelope” of architecture research and practice. • recognize major architectural styles in existing software systems, • describe an architecture accurately, • generate reasonable architectural alternatives for a problem and choose among them, • evaluate commercial tools and software components from an architectural perspective, • use object-oriented models and tools to expedite such tasks.

http://www.cis.strath.ac.uk/teaching/ug/syllabus/440.html

http://sunset.usc.edu/research/software_architecture/index.html

1. What is Software Architecture? 2. Revisiting Object-Oriented Analysis, Design, and Implementation 3. Design Patterns 4. Pipes&Filters Architectures 5. Event-based Architectures 6. Layered Architectures 7. Frameworks 8. Component Architectures 1. Software Components 2. Client-Side Component Architecture 3. Foundation for Server-Side Component Architecture 4. Server-Side Component Architecture

http://sunset.usc.edu/contact/index.html

Page 13 of 13