
Computing
Development of Software Applications
- Class 45
- Practice 4
- Independent work 101
Course title
Development of Software Applications
Lecture type
Elective
Course code
183385
Semester
5
ECTS
5
Lecturers and associates
Course objectives
Software requirements elicitation; Requirements specification.
Describing system data using, for example, class diagrams or entity-relationship diagrams; Evaluation and use of requirements specifications; Prototyping.
Tools for software version control; Requirements analysis and design modeling tools; Testing tools including static and dynamic analysis tools; Programming environments that automate parts of program construction processes (e.g., automated builds); Tool integration concepts and mechanisms.
Principles of secure design and coding; Defensive programming (e.g. secure coding, exception handling); Simple refactoring; Debugging strategies.
Events and event handlers; Defining event handlers/listeners.
Development of applications with graphical user interface.
Development of applications with graphical user interface.
Midterm exam.
Separation of model, view, and controller.
Separation of model, view, and controller.
System design principles: levels of abstraction (architectural design and detailed design), separation of concerns, information hiding, coupling and cohesion, re-use of standard structures; Design Paradigms such as structured design (top-down functional decomposition), object-oriented analysis and design, event driven design, component-level design, data-structured centered, aspect oriented, function oriented, service oriented.
Software architecture concepts and standard architectures (e.g. client-server, n-layer, transform centered, pipes-and-filters).
Application frameworks.
Software reuse.
Final exam.
Required reading
(.), Materijali predmeta dostupni na fakultetskom intranetu,
Roger Pressman, Bruce Maxim (2014.), Software Engineering: A Practitioner's Approach, McGraw-Hill Education
Ian Sommerville (2015.), Software Engineering, Pearson
Steve McConnell (2004.), Code Complete, Pearson Education
Stephen Schach (2010.), Object-Oriented and Classical Software Engineering, McGraw-Hill Education
Andrew Troelsen, Philip Japikse (2017.), Pro C# 7, ApressRobert C. Martin (2008.), Clean Code, Pearson Education
Robert C. Martin (2011.), The Clean Coder, Pearson Education
Online education during epidemiological measures
- Study program duration
- 6 semesters (3 years)
- Semester duration
- 15 weeks of active teaching + 5 examination weeks
- Total number of ECTS points
- 180
- Title
- Bacc.ing.comp (Bachelor of Science in Computing)
Academic calendar
Minimal learning outcomes
- Differentiate and define project lifecycle
- Reproduce adequate programming techniques
- Apply development tools and groupware
- Identify software requirements
- Design and create software components
- Produce user and program documentation
- Analyze user requirements
- Distinguish key software architecture concepts