Course Name
Software Application Design
Course Overview 
Level of study	Bachelor / Master	
Workload	ECTS: 2
Total Hours: 72
Contact Hours: 36
•	Lectures: 18
•	Labs: 18	
Course Code		
Semester	Winter/Summer	
Prerequisites	•	Object –oriented programming
•	Algorithms	
Course Objectives	The purpose of this course is to deepen understanding of software design process and enable students to develop their own software architectures.	
Learning Outcomes
	The process of software design includes user interface and experience design, architectural design and algorithm design. The module is primarily devoted to architectural design.
By the end of the course the student will know: 
•	styles and patterns of software architecture;
•	approaches to create software architecture documentation;
•	formal notations of software architecture description.
The students will be able to:
•	Design and document software architectures;
•	Analyze and evaluate software architectures;
•	Choose appropriate architectural solution;
•	Implement service-oriented software systems.
The students will have the experience in:
•	designing micro and macro architectures of software;
•	implementation of modern modular and component architecture patterns;
•	documenting architectures.	
Syllabus
	1.	Introduction to software design (2 hours for lecturers)
2.	Software architecture documentation (3 hours for lecturers, 4 hours for practice)
3.	Modular software architecture (3 hours for lecturers, 6 hours for practice)
4.	Component software architecture (3 hours for lecturers, 6 hours for practice)
5.	Service oriented software architecture (3 hours for lecturers, 6 hours for practice)	
Labs	1.	Modular software architecture (modular dependencies via interfaces, dynamically loaded modules (software plug-ins))
2.	Modular dependency management and injection
3.	REST web-service client
4.	REST web-services development and deployment
5.	SOAP web-services	
Projects	–	
Assessment	Exam: written 	
Resources
	1. Microsoft (2016) Understanding SOAP. Available at: https://msdn.microsoft.com/en-us/library/ms995800.aspx (Accessed: 16 September 2016).
2. Microsoft (2016) Analyze and model your architecture. Available at: https://msdn.microsoft.com/en-us/library/57b85fsc.aspx (Accessed: 16 September 2016).
3. Microsoft (2016) Microsoft application architecture guide, 2nd edition. Available at: https://msdn.microsoft.com/ru-ru/library/ff650706.aspx (Accessed: 16 September 2016).
4. SyncFusion Inc, 2016 S. (2001) Ebooks | resources. Available at: https://www.syncfusion.com/resources/techportal/ebooks (Accessed: 16 September 2016).
5. Microsoft (2014) MVC. Available at: http://asp.net/mvc (Accessed: 16 September 2016).	
Instructors	Pavel I. Banokin 
http://portal.tpu.ru/SHARED/m/MAXIMKA/eng/