Development of Software Applications

Course Description

This course elaborates software engineering concepts, principles and techniques. The course studies approaches to the development of end user applications, including requirements analysis and specification, design and construction of software components, programming techniques, documentation, implementation and maintenance of applications.

General Competencies

The course will prepare students for development of complex interactive applications, particularly database applications. The course will provide a knowledge for successful design, construction and implementation of application software. Students will be able to formulate the software requirements and to develop, implement and maintain quality software built upon different software architectures.

Learning Outcomes

  1. differentiate and define project lifecycle
  2. reproduce adequate programming techniques
  3. apply development tools and groupware
  4. identify software requirements
  5. design and create software components
  6. produce user and program documentation
  7. analyze user requirements
  8. distinguish key software architecture concepts

Forms of Teaching

Lectures

Lectures are conducted in two cycles. The first cycle contains 7 weeks of lectures followed by the second cycle of 6 weeks, with teaching load of 3 hours per week.

Exams

Assessments include interim exam, final exam and short computer-based tests.

Laboratory Work

Laboratory exercises are carried out in the weeks of lectures, one hour per week.

Consultations

Consultations have been organized in all weeks except weeks of exam.

Other

Homework.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Comment: Percent of Grade
Homeworks 0 % 15 % 0 % 15 %
Quizzes 0 % 30 % 0 % 30 %
Class participation 0 % 5 % 0 % 5 %
Mid Term Exam: Written 0 % 20 % 0 %
Final Exam: Written 0 % 30 %
Exam: Written 0 % 50 %

Week by Week Schedule

  1. Software engineering fundamentals. Software development life cycle.
  2. Project definition. Project plan.
  3. Requirements specification. Unified modeling language basics.
  4. Coding standards. Programming techniques.
  5. Graphical user interface.
  6. Data access logic.
  7. Object-relational mapping.
  8. Mid-term exam.
  9. Software archituectures.
  10. Multi-layer applications.
  11. Universal and self-adaptable program modules. Report design.
  12. Web applications.
  13. Service oriented architecture.
  14. Interactive help and software documentation. Software release.
  15. Final exam.

Study Programmes

Information Processing -> Computing (Module)

Software Engineering and Information Systems -> Computing (Module)

Computer Engineering -> Computing (Module)

Prerequisites

Literature

Roger S. Pressman (2009.), Software engineering: A Practitioner`s Approach;, McGraw-Hill Science
Ian Sommerville (2010.), Software engineering, Addison Wesley
Steve McConnell (2004.), Code Complete: A Practical Handbook of Software Construction, Microsoft Press
Stephen R Schach (2010.), Object-Oriented and Classical Software Engineering, McGraw-Hill Science
Andrew Troelsen (2010.), Pro C# 2010 and the .NET 4 Platform, Apress

Grading System

4 ECTS
L0 English Level
L1 e-Learning
45 Lecturers
0 Exercises
15 Laboratory exercises

Grading

85 Excellent
70 Very Good
60 Good
50 Acceptable