GithubHelp home page GithubHelp logo

projektmpm's Introduction

projektMPM

harmonogramowanie projektów metodą MPM (tzw. metoda francuska)

OPIS PLIKÓW

projektMPM.java - implementacja algorytmu z interfejsem tekstowym

pliki.in -pliki z takim rozszerzeniem to przykładowe pliki wejściowe o nastepującej strukturze

  • w piewszym wierszu znajduje sie liczba etapów danego projektu
  • w kolejnych parach znajdują sie dane poszczegolnych etapów (numer id etapu, czas trwania, numery id etapów poprzedzających) wraz z nazwą etapu

KOMPILACJA

$ javac projektMPM.java

URUCHOMIENIE

$ java projektMPM plik.in

projektmpm's People

Contributors

drjolo avatar

Watchers

 avatar James Cloos avatar

projektmpm's Issues

refaktoring kodu źródłowego

Pierwsza implementacja była napisana z myślą, aby w możliwie najkrótszym czasie stworzyć działający program, na bazie którego będzie można dalej ciągnąć projekt. Jest kilka drobiazgów, które mogłyby upiększyć kod np. statyczne zmienne w klasach zamiast kilku zmiennych globalnych, etc.

komentarze do kodu

Dla osób postronnych czytających lub optymalizujących dany kod może to być bezcenna wskazówka, co autor miał na myśli, chociaż niektórzy mówią, że dobry kod nie potrzebuje komentarza. Nie musimy się z tym zgadzać :-).

GUI: tabelka z etapami

Jedną z opcji graficznego interfejsu użytkownika będzie wyświetlenie tabelki z poszczególnymi etapami, momentem najwcześniejszego i najpóźniejszego rozpoczęcia etapu, zapasem całkowitym i swobodnym dla każdego etapu, itp.

wykrywanie zapętleń - Piotrek S.

Niestety aktualna implementacja nie została zabezpieczona przed zapętleniami w grafie wejściowym. Kilka linijek kodu powinno tutaj wystarczyć.

optymalizacja rekurencji - Piotrek S.

Z powodów, o których wspominałem wcześniej, rekurencja mogłaby być zaimplementowana optymalniej. Aktualnie węzły grafu mogą być przechodzone wielokrotnie przez metody rekurencyjne. Można udoskonalić implementację, aby danego węzła dwa razy nie odwiedzać. Dla niewielkich projektów nie ma to znaczenia, jednak program ten chcemy przetestować dla projektów zawierających nawet wiele tysięcy etapów. Aktualna implementacja niestety może nie udźwignąć tak ciężkiego zadania.

GUI: diagram Gantta - Mateusz Ja.

Kilka prostokątów i kresek, na osi poziomej czas. Nie powinno to zająć zbyt długo czasu. Później można dorobić automatyczne wyświetlanie szczegółów etapu po najechaniu myszką na prostokąt symbolizujący dany etap.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.