BBS652 - SOFTWARE ARCHITECTURES

Course Name Code Semester Theory
(hours/week)
Application
(hours/week)
Credit ECTS
SOFTWARE ARCHITECTURES BBS652 Any Semester/Year 3 0 3 6
PrequisitesNone
Course languageTurkish
Course typeElective 
Mode of DeliveryFace-to-Face 
Learning and teaching strategiesLecture
Discussion
Preparing and/or Presenting Reports
 
Instructor (s)Ayça Tarhan 
Course objectiveTo introduce the basic concepts of software architecture and its development and documentation methods. 
Learning outcomes
  1. The student;
  2. ? Learns the concept of software architecture
  3. ? Learns software architecting process and stakeholders
  4. ? Learns widely accepted architectural views
  5. ? Learns widely accepted architectural perspectives
  6. ? Learns widely accepted architectural styles and patterns
Course ContentBasic concepts on software architectures. Software architecture concepts and stakeholders, software architecture development process, architectural requirements analysis, modeling of software architectural design. Architectural viewpoints and perspectives. Functional, information, development, concurrency, deployment, and operation viewpoints. Evolution, security, performance and scalability, and availability and resilience perspectives. Architectural styles/patterns. Comparison and evaluation of architectural design methods. Software product-line architectures, domain modeling and domain engineering. 
References? Rozanski N. & Woods E., Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives, Addison-Wesley Professional, 2005.
? Bass L., Clements P. & Kazman R., Software Architecture in Practice (2nd ed.), Addison-Wesley, 2003.
 

Course outline weekly

WeeksTopics
Week 1Introduction to Software Architectures
Week 2Architectural Concepts and Stakeholders
Week 3Software Architecture Development Process
Week 4Architectural Requirements Analysis
Week 5Architectural Modeling
Week 6Midterm
Week 7Architectural Views
Week 8Architectural Views
Week 9Architectural Perspectives
Week 10Architectural Perspectives
Week 11Midterm
Week 12Architectural Styles and Patterns
Week 13Software Product Line Architectures
Week 14Domain Engineering
Week 15Preparation to Final Exam
Week 16Final Exam

Assesment methods

Course activitiesNumberPercentage
Attendance00
Laboratory00
Application00
Field activities00
Specific practical training00
Assignments510
Presentation00
Project00
Seminar00
Midterms210
Final exam150
Total70
Percentage of semester activities contributing grade succes050
Percentage of final exam contributing grade succes050
Total100

WORKLOAD AND ECTS CALCULATION

Activities Number Duration (hour) Total Work Load
Course Duration (x14) 14 3 42
Laboratory 0 0 0
Application000
Specific practical training000
Field activities000
Study Hours Out of Class (Preliminary work, reinforcement, ect)14342
Presentation / Seminar Preparation000
Project000
Homework assignment5840
Midterms (Study duration)21632
Final Exam (Study duration) 11616
Total Workload3646172

Matrix Of The Course Learning Outcomes Versus Program Outcomes

D.9. Key Learning OutcomesContrubition level*
12345
1. Has comprehensive knowledge in fundamental areas of software engineering.   X 
2. Has knowledge in the area of software requirements understanding process planning, output specification, resource planning, risk management and quality planning.  X  
3. Understands the interplay between theory and practice and the essential links between them.   X 
4. Defines real life problems by identifying functional and non-functional requirements a software has to satisfy.  X  
5. Overcomes technical or scientific software engineering problems on their own and is in a position to propose the most suitable solution; has good communication skills to explain the completeness of their solution and clearly state the assumptions that were made.    X
6. Completes a project on a larger scale than an ordinary course project in order to acquire the skills necessary to work efficiently in a team.   X 
7. Identifies, evaluates, measures and manages changes in software development by applying software engineering processes.  X  
8. Understands the social, legal, ethical and cultural issues involved in the deployment and use of software engineering and conducts all occupational pursuits in an ethical and responsible manner. X   
9. Has good command of technical terms in both Turkish and English, where they have the ability to make succinct presentations (including face-to-face, written or electronic) to a range of audiences about technical/scientific problems and their solutions.    X
10. Identifies and conducts research by applying scientific methods in order to solve scientific problems.     X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest