Software Architecture and Integration (Not offered.)
Course Code
Semester
Course Name
LE/RC/LA
Course Type
Language of Instruction
ECTS
CSE0559
Software Architecture and Integration (Not offered.)
3/0/0
DE
Turkish
9
Course Goals
The course provides attendees with a thorough overview of software architectures. After completing this course in entirety, learners will have a better understanding of
- the relationships between system qualities and software architectures
- software architectural patterns and their relationship to system qualities
- software architecture evaluation
- attribute-driven design
- software architecture documentation
- architectural reuse
Prerequisite(s)
An Undergraduate Level Software Engineering Class
Corequisite(s)
UML and High Level Programming Skills
Special Requisite(s)
The minimum qualifications that are expected from the students who want to attend the course.(Examples: Foreign language level, attendance, known theoretical pre-qualifications, etc.)
- Software Architect, is being written by Nigel Leeming. For now, it is published on the web at www.ivencia.com/softwarearchitect - Software Architecture Handbook, by Grady Booch, online (you have to register to get access). There is an extensive classification of patterns, though the systems architecture case study section is still ostensibly in the writing and permissions pipe. Excellent piece on forces in software architecture. Seehttp://www.booch.com/architecture/index.jsp.
- Ruth Malan and Dana Bredemeyer, "The Art of Change: Fractal and Emergent," Cutter Consortium Enterprise Architecture Executive Report, Vol. 13, No. 5,2010. You can download a complimentary copy athttp://www.cutter.com/offers/artofchange.html.
- Architecting process (innovation and agile architecting): Ruth Malan and Dana Bredemeyer. “Getting Past ‘But’: Finding Opportunity and Making It Happen.” Cutter Consortium Enterprise ArchitectureExecutive Report, Vol. 11, No. 8, 2008, http://www.cutter.com/offers/findopportunity.html - Architects (this report is useful for solution, platform and software architects as well as Enterprise Architects: Dana Bredemeyer and Ruth Malan. “What It Takes to Be a Great Enterprise Architect.” Cutter Consortium Enterprise Architecture Executive Report, Vol. 7, No. 8, 2004. You can download a complimentary copy from http://www.cutter.com/offers/greatarchitect.html -Enterprise Architecture: Malan, Ruth, and Dana Bredemeyer. “Enterprise Architecture as Strategic Differentiator.” Cutter Consortium Enterprise Architecture Executive Report, Vol. 8, No. 6, 2005. Cutter is running a promotion, and you can download this issue free at http://www.cutter.com/offers/strategic.html.
Other Sources
D. Garlan, M. Shaw, "An Introduction to Software Architecture", Advances in Software Engineering and Knowledge Engineering", Volume I, World Scientific, 1993.
D. Perry, A. Wolf, Foundations for the Study of Software Architecture", Proceedings of ACM SIGSOFT, October 1992, 40-52.
D. Parnas, "On the Criteria To Be Used in Decomposing Systems into Modules", Communications of the ACM, 15(12), 1972, 1053-1058.
W. Waite, A. Sloane, Software Synthesis via Domain-Specific Software Architectures, University of Colorado Technical Report CU-CS-611-92, 1992.
R. Kazman, A Challenge for Software Architecture: Distributed Flight Simulation, in Parallel and Distributed Computing Handbook, A. Zomaya (ed.), McGraw-Hill, 1995, to appear.
R. Kazman, L. Bass, G. Abowd, M. Webb, SAAM: A Method for Analyzing the Properties Software Architectures, Proceedings of ICSE 16, May 1994, 81-90.
R. Kazman, G. Abowd, L. Bass, P. Clements, Scenario-Based Analysis of Software Architecture, IEEE Software, to appear, 1996. (Also available as Department of Computer Science Technical Report CS-95-45.)
AT&T, "Best Current Practices: Software Architecture Validation".
T. R. Dean, J. R. Cordy, "A Syntactic Theory of Software Architecture", IEEE Transactions on Software Engineering, April 1995, 302-313.
M. Shaw, R. DeLine, D. Klein, T. Ross, D. Young, G. Zelesnik, "Abstractions for Software Architecture and Tools to Support Them", IEEE Transactions on Software Engineering, April, 1995, 314-335.
R. Kazman, L. Bass, Toward Deriving Software Architectures from Quality Attributes, Software Engineering Institute Technical Report CMU/SEI-94-TR-10.
Chung-Horng Lung, Sonia Bot, Jay Godse presenting: On the Definition of Software System Architecture," by Cristina Gacek, Ahmed Abd-Allah, Bradford Clark and Barry Boehm - ICSE 17 Software Architecture Workshop, April, 1995
Michael Thompson, Bruce Barkhouse, Richard Muise presenting: Object Oriented Software Technologies Applied to Switching System Architectures and Software Development Processes. Arnold et.al. ISS'90
Mahboob Ashraf, Larry Brunet, Georgi Kouzev presenting: Luckham, et al, "Specification and Analysis of System Architecture Using Rapide", IEEE Trans. Software Engineering, vol. 21, no. 4, pp. 336-355, 1995.
Francois Moore and Tony Wacheski presenting Distributed Software Engineering by Jeff Kramer. Proceedings of ICSE 16, May 1994, 253-263.
Chung-Horng Lung: Domain Analysis presentation.
Ed Chow, James Chen, Peter Fu:presenting: Mediators in the Architecture of Future Information Systems," by Gio Wiederhold, IEEE Computer, 25(3), 38-49.
The Semantic Foundations of Software Architecture
M. Jazayeri, Component Programming--a fresh look at software components, Technical University of Vienna Technical Report TUV-1841-95-01.
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction to Software Architecture
2. Week
Relationships to Other Disciplines
3. Week
Multi-Disciplinary Overview
4. Week
Foundations of Software Architecture
5. Week
Case Studies: KWIC, Compiler, Blackboard
6. Week
SAAM: A Software Architecture Analysis Methodology
7. Week
Scenario-Based Evaluation of Software Architecture
8. Week
Domain-Specific Software Architecture
9. Week
A DSSA for Flight Simulation
10. Week
AT&T Software Architecture Validation
11. Week
The Unit Operations of Software Architecture
12. Week
UniCon
13. Week
Component Programming
14. Week
Revisiting the Foundations for a Theory of Software Architecture
15. Week
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
20
Homework / Term Projects / Presentations
1
10
Project(s)
1
50
Final Exam
1
20
Program Outcomes
PO-1
an ability to apply knowledge from undergraduate and graduate engineering and other disciplines to identify, formulate, and solve novel and complex electrical/computer engineering problems that require advanced knowledge within the field
PO-2
knowledge of advanced topics within at least two subdisciplines of computer engineering
PO-3
the ability to understand and integrate new knowledge within the field;
PO-4
the ability to apply advanced technical knowledge in multiple contexts
PO-5
a recognition of the need for, and an ability to engage in, life-long learning
PO-6
the ability to plan and conduct an organized and systematic study on a significant topic within the field
PO-7
an ability to convey technical material through formal written reports which satisfy accepted standards for writing style
PO-8
the ability to analyze and use existing literature
PO-9
the ability to demonstrate effective oral communication skills
PO-10
the ability to stay abreast of advancements in the area of computer engineering
Learning Outcomes
LO-1
help reduce maintenance costs and amortize development costs
LO-2
assist in workforce organization and with project oversight and control
LO-3
establish a common corporate vocabulary
LO-4
shorten learning time
LO-5
provide flexibility and adaptability in changing markets
LO-6
allow for interoperability with other players in the marketplace
LO-7
provide leverage of control in a marketplace
LO-8
help developers focus on a niche in the marketplace