Cilj
Ishod
Metode izvodjenja nastave
Sadržaj
Literatura
Upoznavanje sa ključnim pojmovima, problemima i rešenjima razvoja i održavanja softvera. Razumevanje i primena
principa i metoda razvoja i održavanja softvera.Osposobljavanje za:
•razvoj softvera: prikupljanje zahteva, analiziranje, projektovanje,implementiranje, testiranje, instaliranje i
administriranje aplikacija;
•evaluacijusoftvera: merenje performansi aplikacija i njihova optimizacija; primena osnovnih softverskih metrika.
Teorijska nastava:
1.Sistemsko-teorijski pristup razvoju softvera
1.1. Pojam sistema;Klasifikacija sistema; Kibernetski (upravljani) sistemi; Diskretni stohastički sistemi;
1.2. Poslovni sistemi i upravljanje poslovnim sistemima; Modelovanje poslovnih sistema; Informacioni sistem;
2.Razvoj softvera
2.1. Faze (konceptualizacija, specifikacija, implementacija, eksploatacija) i aktivnosti (zahtevanje, analiziranje,
projektovanje, implementiranje, testiranje);
2.2. Konceptualizacija (formulacija problema: prikupljanje i analiziranje korisničkih zahteva; model razmatranog sistema
/funkcije, klase podataka i procesi/);
2.3. Specifikacija (model rešenja problema: specifikacija softverskih zahteva; specifikacija softvera /struktura,
procesi, U/I, arhitektura/);
2.4. Implementacija (rešenje problema, tj. softver: infrastruktura /HW, OS, network; PaaS/; fizička i logička arhitektura;
implementacija baze podataka; implementacija programa; implementacija krisničkog interfejsa; testiranje softverskih
modula/komponenti; testiranje celokupnog softverskog sistema);
2.5. Eksploatacija (upotreba softvera: isporučivanje, korišćenje i unapredjivanje softvera);
3.Održavanje softvera
3.1. Osnovni pojmovi; Vrste održavanja; Troškovi održavanja; Evolucija softvera;
3.2. Proces održavanja; Aktivnosti održavanja;
3.3. Tehnike održavanja: reinženjerstvo, inverzno inženjerstvo, migracija, povlačenje;
3.4.Alati za održavanje softvera;
3.5. Održavanje i administracija programa – primer;
3.6. Održavanje i administracija baza podataka – primer;
4.Studijski primer
Praktična nastava: Vežbe su u potpunosti uskladjena sa predavanjima, po strukturi i po sadržaj.
1. C. Althoff Self-Taught Programmer: The Definitive Guide to Programming Professionally Triangle Connection LLC 2016
2. M. Keeling Design It!: From Programmer to Software Architect Pragmatic Bookshelf 2017
3. R. C. Martin Agile Software Development, Principles, Patterns, and Practices PNIE, Pearson 2013
4. R. C. Martin, Micah Martin Agile Principles, Patterns, and Practices in C# Prentice Hall 2006
5. R. C. Martin Clean Architecture: A Craftsman’s Guide to Software Structure and Design Prentice Hall 2017
6. R. C. Martin Clean Code: A Handbook of Agile Software Craftsmanship Prentice Hall 2008
7. R. C. Martin Clean Agile: Back to Basics Prentice Hall 2019
8. R. C. Martin Clean Coder: A Code of Conduct for Professional Programmers Prentice Hall 2011
9. D. Ivetić Strukturirani pristup programiranju FTN Izdavaštvo, Novi Sad 2005
10. B.W. Kernighan, R. Pike The Practice of Programming Addison-Wesley 1999
11. D. Sarka, W. Durkin, M. Radivojević SQL Server 2017 Developer’s Guide: A professional guide to designing and developing enterprise database applications Packt Publishing, 2/e 2018
12. Peter A. Carter Pro SQL Server 2019 Administration: A Guide for the Modern DBA, 2/e Apress 2019
13. Ian Griffiths Programming C# 8.0: Build Cloud, Web, and Desktop Applications O’Reilly Media 2020
14. Holger Schwichtenberg Modern Data Access with Entity Framework Core: Database Programming Techniques for .NET, .NET Core, UWP, and Xamarin with C# Apress 2018
15. Mark J. Price C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET using Visual Studio Code, 4/e Packt Publishing 2019
16. Bipin Joshi Beginning Database Programming Using ASP.NET Core 3: With MVC, Razor Pages, Web API, jQuery, Angular, SQL Server, and NoSQL, Kindle Edition Apress 2019
