Obecnie pracuję nad ukończeniem studiów na kierunku „Tworzenie oprogramowania”, w których muszę indywidualnie opracowywać złożone oprogramowanie w firmie zewnętrznej. Wszystko to należy wykonać w sposób ustrukturyzowany, tworząc wszystkie odpowiednie dokumenty.
W tym projekcie postanowiłem pracować ze standardowymi dokumentami IEEE: dokument wymagań oprogramowania (SRS), dokumenty architektury oprogramowania (SAD) i dokument projektu oprogramowania (SDD). Chociaż w szkole uczyłem inaczej, w tym projekcie postanowiłem utworzyć SDD po opracowaniu (zamiast wcześniej). Moje rozumowanie to:
Firma, w której odbywam staż, dała mi instrukcję tworzenia złożonego oprogramowania, spełniającego pewien zestaw wymagań, w sposób eksperymentalny. Z powodu ilości swobody, którą dali mi w definicji projektu, prawie nic wcześniej nie jest pewne i najlepiej można je spotkać podczas eksperymentowania w procesie rozwoju. Ponadto tworzę oprogramowanie w sposób indywidualny , nie byłoby dla nikogo w firmie korzyści, żebym mógł wcześniej wykonać ten projekt oprogramowania. Zrobienie tego wcześniej będzie kosztowało mnie dużo czasu, aby go później zmienić, ponieważ mogę być pewien, że z powodu niepewności w projekcie, projekt, który wykonuję wcześniej, będzie musiał zostać bardzo zmieniony . To wydaje mi się bezproduktywne.
Czy to dobre uzasadnienie, aby utworzyć SDD po opracowaniu? Jeśli nie, czy byłoby na to jakieś uzasadnienie?
Edycja: Powodem do utworzenia SDD będą przyszłe programiści, którzy będą kontynuować projekt. Nie będę w stanie ukończyć całego projektu w okresie dyplomowym, więc inni programiści będą musieli kontynuować obecną bazę kodu.