Software Engineering

Subject description

  1. Basic terms and definitions of software engineering (life cycle, specification of requirements, design and architecture of software)
  2. Project management (definitions, software for project management, specifics of software projects management)
  3. Optimization of projects (methods for optimization, tools)
  4. Methods for analysis and design of software (different tools, pros and cons, influence on usability and stability of software)
  5. Application development and testing (software testing methods and procedures, installation and usage of softwar
  6. Role of open source software (history, pros and cons, Linux, BSD, Android, …)

The subject is taught in programs

Objectives and competences

The objective of the course Software engineering is to broaden knowledge on software engineering and technologies used to produce modern software. The student is thought about basic terms of software engineering (software life cycle, specification of software requirements, design and architecture of software). In scope of the course the software project engineering is presented as well linkage between sociological aspects of project work and software quality. The student acquires knowledge about modern software engineering technologies. The importance of open source code software is presented and discussed.

Teaching and learning methods

In scope of the lectures the theoretical background on particular subjects related to software engineering together with presentation of simple practical examples is given. A complete study material is available to the students.

Practical work is being performed in the laboratory environment, and is accomplished in steps acquainting students with the problem and requirements of modern software development. Project group is consisted of one student who accomplish the software development related exercises (graphical user interface, project management software …). At the end of semester, students report on their results. 

Expected study results

After successful completion of the course, students should be able to:

  • Identify basic terms regarding software engineering
  • Understand how to manage projects for software development
  • Analyse basic items in scope of software engineering
  • Understand open source software and its importance

Basic sources and literature

  1. Bojkovski, J: Tehnologija programske opreme; zapiski predavanj; Fakulteta za elektrotehniko 2012
  2. Ian Sommerville: ”Software Engineering”, Adison Wesley, 2011
  3. Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli: “Fundamentals of Software Engineering”, Prentice Hall, 2003
  4. Project Management Institute: »Software Extension to the PMBOK® Guide – Fifth Edition«, 2013
  5. Project Management Institute: “A Guide to the Project Management Body of Knowledge (PMBOK Guide) – Fifth Edition”, 2013

Stay up to date

University of Ljubljana, Faculty of Electrical Engineering Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411