Introduction Software Architecture VO/KU (707.023/707.024) Roman Kern KTI, TU Graz 2013-10-02 Roman Kern (KTI, TU Graz) Introduction 2013-10-02 1 / 32
Introduction Introduction Basic organisational information Roman Kern (KTI, TU Graz) Introduction 2013-10-02 2 / 32
Introduction Course Software Architecture VO/KU (707.023/707.024) Obligatory course for Software Engineering Obligatory course for Computer Sciences (Teacher Training) Elective course for various studies Roman Kern (KTI, TU Graz) Introduction 2013-10-02 3 / 32
Lecturer Introduction Name: Office: Office hours: Roman Kern IWT (Know-Center), Inffeldgasse 13, 6th Floor, Room 072 By appointment Phone: +43-316/873-30860 E-Mail: rkern@tugraz.at Roman Kern (KTI, TU Graz) Introduction 2013-10-02 4 / 32
Introduction Language Lectures in German Communication in German/English If in German: please informally (Du)! Project: German/English Examination: German/English Roman Kern (KTI, TU Graz) Introduction 2013-10-02 5 / 32
Introduction Basic info Lectures: Wednesday, 13:15-14:45, HS i13 Registration for the course in TUGOnline until 11.10.2013, 23:59 Course Homepage: http://kti.tugraz.at/staff/rkern/courses/sa/index.html Presence at lectures is not obligatory Watch out for old homepage / slides! Roman Kern (KTI, TU Graz) Introduction 2013-10-02 6 / 32
Basic info Introduction Roman Kern (KTI, TU Graz) Introduction 2013-10-02 7 / 32
Introduction Basic info Newsgroup: tu-graz.lv.sa News server: news.tu-graz.ac.at Newsgroup is the preferred way of communication for this course! Study assistant will actively participate in the newsgroup Roman Kern (KTI, TU Graz) Introduction 2013-10-02 8 / 32
Goals Goals Why Software Architecture? Roman Kern (KTI, TU Graz) Introduction 2013-10-02 9 / 32
Goals Goals of the course (VO/707.023) To recognise the importance of software architecture for complex systems To learn about the development process of a software architecture To understand different views, different abstraction and granularity levels of software architecture To learn about proven software architectures To understand software architecture of successful software systems Roman Kern (KTI, TU Graz) Introduction 2013-10-02 10 / 32
Goals Content of the course (VO/707.023) Definitions of systems, software systems, and complexity Definition of software architecture Analysis and design of software architecture Architectural views Roman Kern (KTI, TU Graz) Introduction 2013-10-02 11 / 32
Goals Content of the course (VO/707.023) Conceptual, execution, and implementation view on software architecture Architectural prototype in an OO programming language Architectural styles & patterns Real-world examples: Web, Content Management Systems,... Relation to project management Roman Kern (KTI, TU Graz) Introduction 2013-10-02 12 / 32
Other Lectures of the KTI Goals B Introduction to Knowledge Technologies Databases B M Multimedia Information Systems I M Knowledge Discovery and Data Mining I (Relational data) (Web systems) (Theory and basics) Semantic Technologies (Ontologies) M B Web Science and Web Technology (Web data) M Knowledge Discovery and Data Mining II (Applications) Network Science (Networks and analysis) M M Multimedia Information Systems II (Visualizations) Structured Data Unstructured Data Data Analysis Sensors & User Models M Science 2.0 M Evaluation Methodology M (Sensor data) (Science and Social Media) Applications (User studies) + Projects, Bachelor Thesis, Master Projects, Master Thesis, PhD Thesis Roman Kern (KTI, TU Graz) Introduction 2013-10-02 13 / 32
Schedule Schedule How is this lecture structured? Roman Kern (KTI, TU Graz) Introduction 2013-10-02 14 / 32
Schedule Course Calendar (VO/707.023) 02.10.2013: Course organization 09.10.2013: OO design principles 16.10.2013: KU course organization 23.10.2013: SA analysis and design, functional, non-functional requirements, quality attributes 30.10.2013: Conceptual architecture Roman Kern (KTI, TU Graz) Introduction 2013-10-02 15 / 32
Schedule Course Calendar (VO/707.023) 06.11.2013: Execution and implementation architecture 13.11.2013: Architectural styles I 20.11.2013: Architectural styles II 27.11.2013: Web architecture I 04.12.2013: Web tutorial & Web architecture II Roman Kern (KTI, TU Graz) Introduction 2013-10-02 16 / 32
Schedule Course Calendar (VO/707.023) 11.12.2013: Distributed architectures 18.12.2013: Example Project I: wissen.de 08.01.2014: Project management 15.01.2014: Example Project II: EEXCESS 22.01.2014: Examination Roman Kern (KTI, TU Graz) Introduction 2013-10-02 17 / 32
Exams Exams What to expect at the examinations? Roman Kern (KTI, TU Graz) Introduction 2013-10-02 18 / 32
Exams Examination (VO/707.023) Written exam 40 multiple choice questions Each question one or two correct answers If one correct answer 2 points, if two correct answers 1 point each Total points: 80 Roman Kern (KTI, TU Graz) Introduction 2013-10-02 19 / 32
Exams Grading (VO/707.023) 0-40 points: 5 41-50 points: 4 51-60 points: 3 61-70 points: 2 71-80 points: 1 Roman Kern (KTI, TU Graz) Introduction 2013-10-02 20 / 32
Exams Examination (VO/707.023) There are 8 question pools with approx. 20 questions in each pool From each pool 5 questions are selected randomly 40 randomly selected questions The selection is repeated for each student Consequently, each student gets a completely different examination sheet from any other student By default, the questions will be in German, but one can request an English version Roman Kern (KTI, TU Graz) Introduction 2013-10-02 21 / 32
Exams Examination topics (VO/707.023) SA definition Quality attributes SA analysis, design, and conceptual architecture Execution and implementation architecture Roman Kern (KTI, TU Graz) Introduction 2013-10-02 22 / 32
Exams Examination topics (VO/707.023) OO design principles Architectural styles Web architecture Distributed architectures Roman Kern (KTI, TU Graz) Introduction 2013-10-02 23 / 32
KU Course KU Course What to do at the KU Course? Roman Kern (KTI, TU Graz) Introduction 2013-10-02 24 / 32
KU Course Basic info (KU/707.024) 16.10.2013: KU course organization Registration is required: until 11.10.2013, 23:59 Study assistant: Matthias Vierthaler KU submissions by email to sa.tugraz@gmail.com Newsgroup: tu-graz.lv.sa, News server: news.tu-graz.ac.at Roman Kern (KTI, TU Graz) Introduction 2013-10-02 25 / 32
KU Course Goals of the course (KU/707.024) Develop a Web-based application using different architectural styles Analyse the consequences of the chosen architecture on the software quality attributes Pipeline Architecture (Unix command line) GUI Application (standalone) or Mobile App Web Application (thin client) Dynamic Web Application (modern thin client) Roman Kern (KTI, TU Graz) Introduction 2013-10-02 26 / 32
KU Course What do you need to do? (KU/707.024) Practical application of the theory discussed in the lectures By developing a software architecture and implement an architectural prototype for a Web based system The project is carried out in a team of 4 students Four submissions by SVN Roman Kern (KTI, TU Graz) Introduction 2013-10-02 27 / 32
KU Course Submissions (KU/707.024) Team building: 31.10.2013 http://tinyurl.com/sa2013-registration Deadline 1 (Task 1+2): 22.11.2013 Deadline 2 (Task 3+4): 10.01.2014 Submission talk 1: 26.11.2013 and 27.11.2013 for the first submission Submission talk 2: 14.01.2014 and 15.01.2014 for the second submission Roman Kern (KTI, TU Graz) Introduction 2013-10-02 28 / 32
KU Course Submission discussions (KU/707.024) In total 80 points 50% implementation and 50% answers given at the submission interview Every team member at least one understanding question There is a single team grade determined from the combined performance of all students Presence at the discussion is obligatory (doctor certificate in case of illness) Roman Kern (KTI, TU Graz) Introduction 2013-10-02 29 / 32
KU Course Submission discussions (KU/707.024) There is no difference in the grade between the GUI application and the Mobile App Roman Kern (KTI, TU Graz) Introduction 2013-10-02 30 / 32
KU Course Grading (KU/707.024) 0-40 points: 5 41-50 points: 4 51-60 points: 3 61-70 points: 2 71-80 points: 1 Roman Kern (KTI, TU Graz) Introduction 2013-10-02 31 / 32
KU Course The End... of today s lecture Roman Kern (KTI, TU Graz) Introduction 2013-10-02 32 / 32