Software Architecture for Software-Intensive

advertisement
Software Architectures and Risk Assessment
course syllabus
Sudan University of Science and Technology
College of Graduate Studies - College of Computer Science and
Information Technology
PhD Program
September 1 – December 21, 2013.
Instructor: Prof. Hany Ammar, Computer Science and Electrical
Engineering department, College of Engineering and Mineral Resources,
West Virginia University, USA, email: ammar.hany@gmail.com
References:
1. Bass, L.; Clements, P.; & Kazman, R. Software Architecture in
Practice, 3rd Edition. Boston, MA: Addison-Wesley, 2012.
2. Software Modeling and Design: UML, Use Cases, Patterns, and
Software Architectures, Hassan Gomaa, Cambridge University
Press; 1 edition , 2011.
3. Software Architecture Foundations, Theory, and Practice, by R.
Taylor, N. Medvidovic, E. Dashofy, Wiley, 2010.
4. The CMU Software Engineering Institute, Software architecture
reports, http://www.sei.cmu.edu/library/reportspapers.cfm
5. Clements, P.; Kazman, R.; & Klein, M. Evaluating Software
Architectures: Methods and Case Studies. Boston, MA: AddisonWesley, 2002.
6. Recommended Practice for Architectural Description of SoftwareIntensive System, ANSI/IEEE Std 1471 :: ISO/IEC 42010,
http://www.iso-architecture.org/ieee-1471/
Course Description: This course is focusing on software architectures.
The course starts by introducing the concepts of software architectures followed by
lectures on software architecture standards, modeling, design, and analysis
techniques of software architectures. The course then introduces the concepts of
product-line architectures and techniques for software architectures evaluation. A
course project and an examination as well as quizzes will be used to assess the
students learning process.
Goals: The learning outcomes of this course are listed as follows:
After finishing this course, the student should be able to:
1. Specify the basic elements and justify the need of software architectures in
2.
3.
4.
5.
the software development process.
Specify the major tasks of software architecture development process based
established software architecture standards.
Use architecture styles and patterns to develop quality software architectures
following a systematic development process.
Apply techniques and tools for software architecture evaluation and risk
assessment.
Identify new research areas in software architectures
Topics:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Research Writing and Presentation
Introduction to Software Architecture: Principles and Practices
Software Architecture Standards
Modeling and Documenting Software Architectures
Software Architecture Styles
The Layered Software Application Architecture Style
Software Architecture Design and Analysis
Software Product Lines Architectures
Software Architecture Evaluation and Risk Assessment
Lectures
1
1
1
1
2
2
1
1
3
Download