Course Syllabus
Software Architecture
IN4MATX 221 (37330)
Meeting Information
Lectures
Room: DBH 1300
Day & time: TuTh 2:00-3:20pm
Instructor Information
Professor
Sam Malek
Email: malek at uci dot edu
Office hours: After class or by email appointment @ DBH 5226
Assistant
Mahmoud Hammad
Email: hammadm at uci dot edu
Office hours: Thursdays, 10-11am @ ICS1 440
Course Description
Study of the concepts, representation techniques, development methods, and tools for architecture-centric software engineering. Topics include domain-specific software architectures, architectural styles, architecture description languages, software connectors, and dynamism in architectures.
Requirements and expectations of students: This course is intended for MS and PhD students. The course covers the foundations and principles of software architecture as well as some of the more recent literature and research issues. The course will be a mix of lectures by the instructor and guest speakers, as well as interactive discussions. The students are expected to possess (1) a basic understanding of the software engineering principles, (2) prior experience with the design and development of large-scale software, (3) a strong programming background, specifically Java, and (4) the ability to learn new programming languages and software development technologies, specifically Android Development Framework.
Grading Summary
- Class participation (5%): actively contribute to classroom discussions/exercises and online discussion board based on the reading material assigned for the week
- Three individual assignments (15% each): involve substantial amount of design and programming in Java/Android
- Two exams (midterm 20%, final 30%): combination of multiple-choice and essay questions covering the concepts presented in lectures and reading materials
Required Textbook and Reading Material
R. N. Taylor, N. Medvidovic, and E. M. Dashofy.
Software Architecture: Foundations, Theory, and Practice,
John Wiley & Sons, 2009.
ISBN-10: 0470167742
ISBN-13: 978-0470167748
The textbook is complemented with online reading materials, resources, and publications that are assigned throughout the class; see the schedule below.
Class Schedule (subject to change; check regularly)
Date |
Topic |
Readings |
Assignments |
Sep 22 |
Chapters 1 and 2 |
||
Sep 27 |
Chapter 3 |
||
Sep 29 |
Introduction to Android Programming |
Android developer guide: Android tutorial: |
|
Oct 4 |
Designing Architecture Download Designing Architecture | Chapter 4 | |
Oct 6 | Chapter 4 | ||
Oct 11 |
Basic Concepts in Practice Download Basic Concepts in Practice |
Bagheri, et al. Software Architectural Principles in Contemporary Mobile Software: From Conception to Practice. Journal of Systems and Software (JSS), Vol. 119, Pages 31-44, September 2016. |
HW 1 & 2 are assigned |
Oct 13 |
Architectural styles Cont. |
|
|
Oct 18 |
Architectural Issues in Practice Download Architectural Issues in Practice |
Chin, et al. Analyzing Inter-Application Communication in Android Links to an external site.. International Conference on Mobile Systems, Applications, and Services, Washington DC, June 2011. Felt et al. Permission Re-Delegation: Attacks and Defenses. Links to an external site. USENIX Security Symposium, August 2011. |
|
Oct 20 |
Chapter 5 |
|
|
Oct 25 |
Chapter 6 |
HW 1 is due | |
Oct 27 |
Midterm Exam |
||
Nov 1 |
Chapter 8 |
|
|
Nov 3 |
Sadeghi et al. Analysis of Android Inter-App Security Vulnerabilities Using COVERT. International Conference on Software Engineering, Florence, Italy, May 2015. Bagheri et al. COVERT: Compositional Analysis of Android Inter-App Permission Leakage. IEEE Transactions on Software Engineering, Vol. 41, No. 9, September 2015. |
|
|
Nov 8 |
Chapter 9 |
|
|
Nov 10 |
Chapter 13 (13.1-13.2) |
HW 2 is due HW 3 is assigned |
|
Nov 15 |
Ducasse and Pollet, Software Architecture Reconstruction: A Process-Oriented Taxonomy Links to an external site.. IEEE Transactions on Software Engineering, vol. 35, no. 4, pp. 573-591, July-Aug. 2009. Garcia et al. A comparative analysis of software architecture recovery techniques Links to an external site.. IEEE/ACM 28th International Conference on Automated Software Engineering (ASE), Silicon Valley, CA, 2013, pp. 486-496. |
||
Nov 17 |
Architectural Adaptation Download Architectural Adaptation |
Chapter 14 Kephart and Chess. The Vision of Autonomic Computing. Links to an external site. IEEE Software. January 2003. |
|
Nov 22 |
Architectural Adaptation for Security Download Architectural Adaptation for Security |
Yuan et al. Architecture-Based Self-Protecting Software Systems. International Conference on Quality of Software Architectures (QoSA 2013), Vancouver, Canada, June 2013. Yuan and Malek. Mining Software Component Interactions to Detect Security Threats at the Architectural Level. Working IEEE/IFIP Conference on Software Architecture (WICSA 2016), Venice, Italy, April 2016. |
|
Nov 24 |
Thanksgiving holiday -- no class |
||
Nov 29 |
Architectural Adaptation for Security Cont. |
|
|
Dec 1 |
Chapter 10 |
HW 3 is due |
|
Dec 8 |
Final Exam -- 1:30-3:30pm |
Academic Honesty
Students are responsible for adhering to the UCI Academic Honesty standards. I encourage students to discuss problems in broad, conceptual terms and to work and study together. However, any work turned in must be your own. Material that is copied from any source needs to be quoted and the source must be cited. If you plagiarize, you run the severe risk of failing the class, in a most disgraceful manner. For further information, see http://honesty.uci.edu/
Disabilities
If you need an accommodation because of a disability, please contact the instructor and the Disability Services Center as soon as possible.
Course Summary:
Date | Details | Due |
---|---|---|
Tue Oct 25, 2016 | Assignment HW 1 | due by 2pm |
Tue Nov 8, 2016 | Quiz Architectural Recovery Survey | due by 11:59pm |
Thu Nov 10, 2016 | Assignment HW 2 | due by 2pm |
Thu Dec 1, 2016 | Assignment HW 3 | due by 2pm |
Assignment Course evaluation | ||
Assignment Engagement in classroom discussion | ||
Assignment Final exam | ||
Assignment Midterm exam |