CENG454 SPECIAL TOPICS IN COMPUTER ENGINEERING: INTRODUCTION TO SOFTWARE ARCHITECTURE

Course Code:5710454
METU Credit (Theoretical-Laboratory hours/week):3 (3.00 - 0.00)
ECTS Credit:6.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Lecturer Dr. CEVAT ŞENER
Offered Semester:Spring Semesters.

Course Objectives

The students will … 

  • gain an understanding of the fundamental concepts of software architecture;
  • understand architectural quality attributes with tactics to achieve and checklists to examine them;
  • learn about contemporary architectural patterns; 
  • employ best practices to design and document the architecture of software-intensive systems.

Course Content

Fundamentals of software architecture and its modeling. Non-functional attributes of software as architectural considerations. Views, styles/patterns based organization of software architecture. Best practices to design and document the architecture of software-intensive systems. Architecture centric software development approaches. Software architecture assessment methods.


Course Learning Outcomes

Students who pass the course satisfactorily will be able to:

  • The skill to assess the overall properties of software during its definition.
  • Ability to analyze software systems based on conceptual dimensions such as data or processes.
  • Isolate concerns and develop models to investigate their reflections on the product.
  • Evaluate different architectural approaches and assess an architectural design. 

It satisfies the following Program Educational Objectives: 

  • PEO 1: This course prepares the students for a highly prestigious and in-demand career as 'software architect' directly.
  • PEO 2: Software architecture is closely related to innovations and taking leadership in engineering solutions.
  • PEO 3: Targeted abilities to gain in high-level solution formulation through new approaches students will find and evaluate; related lifelong learning will be inspired and guided.
  • PEO 4: The research-oriented mental control over software development will provide the crucial research perspective in respected academic positions.
  • PEO 5: The targeted tradeoff skills considering the various concerns related to non-functional properties and various stakeholders will provide the consciousness about the responsibilities of the computing profession.

Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3An ability to communicate effectively with a range of audiences
4An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7An ability to acquire and apply new knowledge as needed, using appropriate learning strategies