Software engineering

Repository

Repository is empty

Poll

No polls currently selected on this page!

Software engineering

Code: 284230
ECTS: 7.0
Lecturers in charge: doc. dr. sc. Matej Mihelčić
Lecturers: doc. dr. sc. Matej Mihelčić - Exercises
Take exam: Studomat
Load:

1. komponenta

Lecture typeTotal
Lectures 45
Exercises 30
* Load is given in academic hour (1 academic hour = 45 minutes)
Description:
COURSE AIMS AND OBJECTIVES:
Enable students to:
- critically evaluate various ideas, models, methods, and tools dealing with software engineering
- use at least one concrete method for software development
- work with at least one tool for modelling software systems
- work with tools for programming, software testing, software version control, collaboration

COURSE DESCRIPTION AND SYLLABUS:
1. Introduction. Basic definitions. Software process models. Classical and agile methods for software development. Software project management.
2. Requirements engineering. Basic concepts about requirements. Requirements elicitation. System modelling by using UML. Work with a tool for editing UML diagrams, e.g., Visual Paradigm.
3. Design and implementation. Basic concepts about design and implementation. Architectural design. Object-oriented approach to design. Design patterns, Designing distributed systems. Design and implementation of embedded systems. Editing, debugging, and profiling program code in an integrated development environment (IDE) such as Eclipse or Visual Studio.
4. Verification and validation. Basic concepts about verification and validation. Static verification. Software testing. Test-driven development. Work with a unit-testing tool, e.g., JUnit.
5. Maintenance and evolution. Basic concepts about software maintenance and evolution. Configuration management. Legacy software and its maintenance. Work with a tool for software version control and collaboration, e.g., GitHub. Work with a tool for software build automation, e.g., CMake.
6. Reuse. Basic concepts about software reuse. Some traditional forms of reuse. Component-based software development.
7. New trends in software engineering. Cloud computing. Virtualization, containers. Software as a service, Web services and microservices. DevOps.
Literature:
  1. Softversko inženjerstvo, R. Manger, Element, Zagreb, 2016.
  2. UML 2 and the Unified Process, Second Edition, J. Arlow, I. Neustadt, Addison-Wesley, Upper Saddle River, NJ, 2006.
  3. On-line dokumentacija za korištene softverske alate, npr. Visual Paradigm, Eclipse, Visual Studio, JUnit, GitHub (pristupljeno 20. veljače 2025.).
  4. The Unified Modeling Language User Guide, 2nd Edition, . Booch, J. Rumbaugh, I. Jacobson, Addison-Wesley, Upper Saddle River, NJ, 2005.
  5. Software Engineering - Modern Approaches, 2nd Edition, E.J. Braude, M.E. Bernstein, Waveland Press, Long Grove IL, 2016.
  6. The Essentials of Modern Software Engineering, I. Jacobson et al, ACM Books - Morgan and Claypool Publishers, San Rafael CA, 2019.
  7. Software Engineering - Theory and Practice, 4th Edition, S.L. Pfleeger, J.M. Atlee, Prentice Hall, Englewood Cliffs NJ, 2013.
  8. Software Engineering - A Practitioner's Approach, 8th Edition, R.S. Pressman, B.R. Maxim, McGraw-Hill, New York, 2019.
  9. Object-Oriented and Classical Software Engineering, 8-th Edition, S.R. Schach, McGraw-Hill, New York, 2010.
  10. Software Engineering - Basic Principles and Best Practices, R. Sethi, Cambridge University Press, Cambridge UK, 2023.
  11. Software Engineering, 10th Edition, I. Sommerville, Pearson Education Inc, Boston MA, 2016.
  12. Engineering Software Products: An Introduction to Modern Software Engineering, I. Sommerville, Pearson Education Inc, Boston MA, 2020.
  13. Beginning Software Engineering, 2nd Edition, R. Stephens, John Wiley and Sons, Indianapolis IN, USA, 2023.
  14. Essentials of Software Engineering, 5th Edition, F. Tsui, O. Karam, B. Bernal, Jones & Bartlett Publishers, Sudbury MA, 2022.
  15. Software Engineering - Principles and Practice, 3rd Edition, H. Van Vliet, John Wiley and Sons, Chichester UK, 2008.
  16. Software Engineering at Google - Lessons Learned from Programming Over Time, T. Winters, T. Manshreck, H. Wright, O'Reilly Media, Sebastopol CA, USA, 2020.
1. semester
Mandatory course - Regular study - Computer Science and Mathematics
Consultations schedule:

News - Archive

Return

Results 0 - 0 of 0
Page 1 of 0
Results per page: 
No news!