Myślałem o tym od naprawdę długiego czasu, nie osiągając optymalnej odpowiedzi.
Przede wszystkim jestem lekarzem, który uwielbia programowanie, ale nigdy tak naprawdę go nie studiował, z wyjątkiem nauki w domu i wielu lat zabawy kodem w wolnym czasie.
Obecnie próbuję zbudować mały projekt do zarządzania moją kliniką, aby to zrobić, zacząłem od stworzenia listy opcji, które chcę mieć.
Przykład:
- aktywny zapis pacjenta.
- uwierzytelnianie z różnymi rolami (np. pacjent, pielęgniarka, dr)
- harmonogram wizyt (w tym kalendarz z planowymi wakacjami / operacjami itp. z przypomnieniem)
- pozwalają lekarzowi tworzyć własne wtyczki.
- pulpit nawigacyjny dla lekarza, aby zobaczyć jego statystyki
Potem zacząłem od codeigniter / mysql / php / jquery i zacząłem kodować.
Moje kroki w trakcie rozwoju: -
- 1. baza danych.
Zacząłem od stworzenia wszystkich moich tabel, których będę potrzebować.
- Utworzyłem wszystkie moje modele do obsługi tych tabel (1 model główny, który obsługuje podstawowe operacje odczytu / zapisu / aktualizacji / weryfikacji, jednocześnie biorąc pod uwagę moje relacje między tabelami
Następnie zaczynam kodować moje widoki i kontrolery. Najpierw stworzyłem widok HTML, a następnie kontroler, który obsłuży ten widok, i zacząłem kodować funkcje, aby interakcje widoku działały.
Przykład kodowania widoku spotkania (administrator booking.php):
utworzyłem ten układ i umożliwiłem kliknięcie tabeli td, gdy użytkownik kliknie: jquery get (booking / add_patient_form) i wyskakuje
kiedy użytkownik zapisze: dodaj do rezerwacji / zapisz - zapisz spotkanie, a następnie ponownie załaduj funkcję index ()
itd. i kontynuowałem te same kroki tworzenia widoku, a następnie jego kontrolera - który zawiera całą logikę, której ten widok potrzebował - aby zrealizować cały projekt.
Na końcu wszystkie moje funkcje docelowe działały dobrze, ale ponieważ od samego początku nie było PLANU, a ponieważ cały projekt był uderzeniem mózgu i debugowaniem bez żadnego planu, po tym, jak posunąłem się tak daleko w tym projekcie, znalazłem swój przyczepiony do siebie z elastycznością i łatwością obsługi i nie można ich połączyć.
Mam wrażenie, że każda strona na stronie jest całkowicie odizolowana od innych i nawet nie pamiętam, jak każda strona jest ładowana i jakie funkcje są w niej bez podglądania!
Czy w ogóle mogę to odzyskać i uzyskać projekt?
źródło
Odpowiedzi:
Twoje pytanie - jaki jest proces tworzenia oprogramowania - jest gorącym tematem; wystarczy google „metodologia oprogramowania”, aby zobaczyć, jak daleko sięga ta paczka robaków ...
Nie ma powszechnie akceptowanej odpowiedzi. W rzeczywistości, jeśli poprosisz 5 programistów, dostaniesz 7 odpowiedzi, z mojego doświadczenia.
Polecam kupienie „Kompletnego kodu” Steve'a McConnella, aby zobaczyć praktyki kodowania niższego poziomu - takie jak układanie kodu, komentowanie go, testowanie. Polecam „Projektowanie oparte na domenie” autorstwa Erica Evansa, aby zapoznać się ze sposobem tworzenia aplikacji na poziomie architektonicznym. Polecam „Agile Software Development: Principles, Patterns and Practices” autorstwa Roberta Martina jako przegląd tego, jak „rozwijać” oprogramowanie w czasie, zachowując jednocześnie jego jakość.
Inny programista prawdopodobnie odrzuci wszystkie te książki i skieruje cię na UML, Rational Unified Process i generowanie kodu. Nie ma właściwej odpowiedzi!
źródło
Kroki / etapy projektowania przepływu pracy w witrynie
Szczegółowe zasoby
źródło
Radziłbym zachować strukturę bazy danych i wygenerować nowy kod PHP za pomocą PHP Generatora dla MySQL stworzonego przez firmę SQL Maestro . To naprawdę działało dla mnie. Używam go bardzo często i jestem z niego bardzo zadowolony, szczególnie możliwość dostosowania kodu PHP do własnych potrzeb. Co więcej, wprowadzają one nowe żądane funkcje do swoich aktualizacji i mają fajne samouczki na temat poprawiania kodu. Aby lepiej zrozumieć, zapoznaj się z tym projektem demonstracyjnym .
Na ich stronie internetowej podano następujący opis produktu:
źródło