1. Algoritmus a vazba na program

1.1. Softwarové požadavky

Po definování všech požadavků, které bychom chtěli vyřešit, bychom také neměli zapomenout na analýzu následujících částí: [1]

  • Typ aplikace – např. konzolová aplikace, desktopová aplikace (grafické uživatelské prostředí – anglicky „Graphical User Interface“– GUI), Client-Server aplikace (jednovrstvá, dvouvrstvá, třívrstvá atd.), webová aplikace, mobilní aplikace atd.
  • Architektura softwaru – aplikace s přímým přístupem k datům, víceuživatelský přístup, architektura orientovaná na služby - SOA – anglicky „Service Oriented Architecture“ atd.
  • Programovací jazyk – jazyk vhodný pro implementaci algoritmu např. C#, Java, PHP, Python, Ruby, JavaScript, C++ atd., nebo možná kombinace jazyků
  • Technologie, kterou bude aplikace využívat:
    • Platforma (Microsoft .NET, Java EE, LAMP, nebo jiné)
    • Databázový server (Oracle, SQL Server, MySQL, NoSQL databáze nebo jiná)
    • Technologie pro uživatelské prostředí (Windows Forms, WPF - Windows Presentation Foundation, JavaServer Faces, ASP.NET, Flash atd.)
    • Technologie přístupu k datům (ADO.NET Entity Framework, Hibernate, JPA atd.)
    • Technologie pro reporty (SQL Server Reporting Services, Jasper Report atd.)
    • Další možné kombinace technologií, které budou využity při implementaci softwaru