Page 1 of 5 Philadelphia University Faculty of Information Technology

advertisement
Page 1 of 5
Philadelphia University
Faculty of Information Technology
Department of Software Engineering
Fist Semester, 2010/2011
Course Syllabus
Course Title: Software Architecture Course code: 721320
Course prerequisite (s) and/or corequisite (s):
Course Level: 3
721222
Lecture Time:10:10-11:00
Credit hours: 3
Academic Staff
Specifics
Name
Dr.
Moayad A.
Fahdil
Rank
Associated
Prof.
Office Number
and Location
IT Faculty-313
Office Hours
14:00-16:00
Sunday/Tuesday/Thursday
E-mail Address
mathami@philadelphia.edu.jo
Course module description:
Successful design of complex software systems requires the ability to describe, evaluate,
and create systems at an architectural level of abstraction. This course introduces
architectural design of complex software systems. The course considers commonly-used
software system structures, techniques for designing and implementing these structures,
models and formal notations for characterizing and reasoning about architectures, tools for
generating specific instances of an architecture, and case studies of actual system
architectures. It teaches the skills and background you need to evaluate the architectures of
existing systems and to design new systems in principled ways using well-founded
architectural paradigms.
Course module objectives:
Successful completion of this course will provide you with the knowledge and skills
to
1.
Understand the influence of architectural drivers on software structures.
Page 2 of 5
2.
Understand the technical, organizational, and business role of software
architecture.
3.
Recognize major architectural structures (styles, patterns, tactics, etc.).
4.
Generate architectural alternatives for a problem and choose among them.
5.
Understand the principles of good architectural documentation.
6.
Understand the affect of COTS on architectural designs.
7.
Understand how formal notations can be used to specify architectures.
8.
Evaluate the fitness of an architectural design in meeting a set of system
requirements and balancing quality trade-offs.
9.
Be aware of future trends in software architecture.
Course/ module components

Books (title , author (s), publisher, year of publication)
1. Title: The Unified Software development process
Author(s)/Editor(s): Jacbson, Booch and Rumbaugh
Publisher: Addison Wesley, 2003
2. Title: Software Architecture in practice
Author(s)/Editor(s): Len Bass, Paul Clements and Rick Kazman
Publisher: Addison-Weslt, 2007
2. Title: Software engineering 7/e
Author(s)/Editor(s): I. Sommerville
Publisher: Addison Wesley, 2004
3. Title: The Unified Modeling Language User Guide
Author(s)/Editor(s): Grady Booch, James Rumbaugh, Ivar Jacobson
Publisher: Addison Wesley, 1999
4. Title: Object-Oriented Analysis and Design
Author(s)/Editor(s): Grady Booch
Publisher: Addison Wesley, 2002



Support material (s) (vcs, acs, etc).
Study guide (s) (if applicable)
Homework and laboratory guide (s) if (applicable).
Teaching methods:
Duration: 15 weeks, 45 hours in total
Lectures: 35 hours, Tutorial: 8 hours
Exams (first and second): 2 hours
Learning outcomes:
 Knowledge and understanding
1) The system development lifecycle;
2) A wide range of principles and tools available to the software developer, such as
software process methodologies, choice of algorithm, language, software
libraries and user interface technique;
3) The principles of object-oriented software construction;
Page 3 of 5
 Cognitive skills (thinking and analysis).
1) Design and plan software solutions to problems using an object-oriented strategy.
2) Identify a range of solutions and critically evaluate and justify proposed design
solutions.
 Communication skills (personal and academic).
1) Develop software applications in a development environment that makes use of
commonly supported tools.
2) Identify some of the main risks of software development and use.

Practical and subject specific skills (Transferable Skills).
1) Effectively participate in team-based activities.
2) Structure and communicate ideas effectively, both orally, in writing, and in
cases involving a quantitative dimension.
3) Use IT skills and display mature computer literacy.
4) Work independently and with others.
Assessment instruments
 Short reports and/ or presentations, and/ or Short research projects
 Quizzes.
 Home works
 Final examination: 50 marks
Allocation of Marks
Assessment Instruments
Mark
First examination
15 marks
Second examination
15 marks
Final examination:
50 marks
Reports, research projects, Quizzes, Home
20 marks
works, Projects
Total
Documentation and academic honesty
 Documentation style (with illustrative examples)
 Protection by copyright
 Avoiding plagiarism.
100 marks
Page 4 of 5
Course/module academic calendar
week
(1)
(2)
(3)
(4)
(5)
Basic and support material to be
covered
- Course Introduction
- The Big Idea
- Architecture in Context
- Basic Concepts
- Introduction to Design
- Architecture Styles
- Layered Architecture
- Styles and Greenfield Design
- Software Connectors
- Software Connecters in Practice
- Connector Selection
- Introduction to Modeling
(6)
- Modeling and Notations
First
examination
-Visualizing Software Architectures
(7)
- Introduction to the Analysis of
Software Architectures
- Analysis Techniques
(8)
- Implementing Architectures
(9)
- Implementing Techniques
- Implementing Techniques
(10)
- Architectural Middleware
- Project Introduction
(11)
- Deployment and Mobility
Second
examination
- Applied Architectures
(12)
- Designing of NFP
- Security and Trust
(13)
-Architectural Adaptation
- Domain Specific Software Engineering
(14)
- (15)
- Overview of Standards
-Specimen
- People, Roles and Teams
examination
(Optional)
(16)
Final
Examination
Homework/reports
and their due dates
First Homework
Second Homework
Third Homework
Page 5 of 5
Expected workload:
On average students need to spend 2 hours of study and preparation for each 50-minute
lecture/tutorial.
Attendance policy:
Absence from lectures and/or tutorials shall not exceed 15%. Students who exceed the 15%
limit without a medical or emergency excuse acceptable to and approved by the Dean of the
relevant college/faculty shall not be allowed to take the final examination and shall receive
a mark of zero for the course. If the excuse is approved by the Dean, the student shall be
considered to have withdrawn from the course.
Module references
Books
Title: Software Architecture: Foundations, Theory, and Practice
Author(s)/Editor(s): R. N. Taylor, N. Medvidovic, and E. M. Dashofy
Publisher: John Wiley & Sons, 2010.
ISBN-10: 0470167742
ISBN-13: 978-0470167748
Title: Object-Oriented Software Engineering: Using UML, Patterns, and Java
Author(s)/Editor(s): Bernd Bruegge, Allen Dutoit
Publisher: Prentice Hall, 2003
Title: Modern Systems Analysis and Design
Author(s)/Editor(s): J. Hoffer, and J. Valacich,
Publisher: Prentice Hall
Journals
Websites
www.isr.uci.edu/projects/archstudio/.
Download