course aims in Estonian
Hajusate, usaldusväärsete, koostalitlusvõimeliste ja evolutsiooniliselt muudetavate infosüsteemide tarkvaratehniliselt korrektse kavandamise ja arendamise oskuste omandamine tasemel, kust on võimalik jätkata iseseisva õppimisega. Koostöös teiste õpekavadega viiakse aine läbi interdistsiplinaarse õppe vormis.
course aims in English
Acquiring the correct software engineering skills for designing and developing distributed, dependable, interoperable and evolutionarily changeable information systems at a level from where the students are able to continue future independent studies.In cooperation with the curricula of other faculties, this subject is taught in an interdisciplinary study format.
learning outcomes in the course in Est.
Kursuse läbinud üliõpilased:
1. tunnevad hajutatud infosüsteemide arhitektuuri ja disaini mustreid ja vastavaid standardeid;
2. tunnevad hajutatud infosüsteemide koostalitlust tagavaid tehnikaid ja vastavaid protokolle;
3. oskavad hajutatud infosüsteeme usaldusväärselt ja evolutsiooniliselt muudetavatena kavandada ning arendada;
4. suudavad seejuures kriitiliselt analüüsida, hinnata ja lahendada esilekerkivaid probleeme;
5. suudavad kavandamise ja arendamisega seotud otsuseid ratsionaalselt põhjendada nii kirjalikult, kui suuliselt;
6. tunnevad tarkvaratehnika ja meeskondliku tarkvaraprotsessi aluseid ning oskavad neid ka rakendada.
learning outcomes in the course in Eng.
After completing the course, the students:
1. know the architecture and design patterns of distributed information systems and the relevant standards;
2. know the techniques and relevant protocols used to ensure the interoperability of distributed information systems;
3. are able to design and implement distributed information systems that are dependable and evolutionarily changeable;
4. are able to critically analyse, evaluate and solve the problems occurring in a software development process;
5. are able to rationally justify their decisions related to software design and development both orally and in writing;
6. know software engineering and Team Software Process principles and are able to use them in software development.
brief description of the course in Estonian
Kursuse käigus õpitakse hajusate infosüsteemide kavandamist ja arendamist.
Kursuse peamised teemad on:
1. hajussüsteemide arhitektuuri ja disaini mustrid ning standardid;
2. hajussüsteemide koostalitlus ning vastavad protokollid;
3. hajussüsteemide usaldusväärsuse tagamine ning usaldusväärne arendamine;
4. hajussüsteemide evolutsioonilise muutumise tagamise;
5. tarkvaratehnika, arendusmetoodikad;
6. tarkvara meeskondlik arendamine.
brief description of the course in English
The course covers the design and development of distributed information systems.
The main topics of the course are:
1. architecture and design patterns and standards of distributed information systems;
2. interoperability of distributed information systems and related protocols;
3. ensuring the dependability of distributed information systems and their dependable development;
4. ensuring the evolutionary change of distributed information systems;
5. software engineering and development methodologies;
6. Team Software Process (TSP) principles and methods.
type of assessment in Estonian
Eksam. Iseseisvad ja meeskonnatööd (kõik õpiväljundid)
type of assessment in English
Exam, individual homework tasks and teamwork tasks (all learning outcomes)
independent study in Estonian
2* 16 tundi loenguid + 6*16 harjutustundi (sisaldab individuaalseid konsultatsioone) + 184 tundi iseseisvat (sisaldab projekti) tööd = 312 tundi
independent study in English
Lectures 2* 16 h + 6*16 h practical work (includes individual consultations) + 184 h independent work (includes an independent project) = 312 h
study literature
Kursuse materjalid: https://ois.ttu.ee/subject/ITB1704
[1] Engineering Software as a Service: An Agile Approach Using Cloud Computing by Armando Fox and David Patterson
[2] Cloud Computing: Concepts, Technology & Architecture and Cloud Computing Design Patterns By Thomas Erl ,Zaigham Mahmood and Ricardo Puttini.
[3] Cloud Computing Protected: Security Assessment Handbook by John Rhoton
[4] RESTful Web APIs by Leonard Richardson and Mike Amundsen
[5] Java SOA Cookbook: SOA Implementation Recipes, Tips, and Techniques by Eben Hewitt
[6] The Elements of Scrum by Chris Sims and Hillary Louise Johnson
[7] Sommerville, I. (2007). Software engineering (8th Ed.). Reading, MA: Addison-Wesley.
[8] Pressman, R. S. (2005). Software engineering: A practitioner's approach (6th Ed.). New York, NY: McGraw Hill.
study forms and load
daytime study: weekly hours
8.0
session-based study work load (in a semester):