====== Team programming laboratory 2 ====== ===== Term of teaching (winter semester 2017/2018) ===== Tuesdays, 2:15 pm, PK COK ===== Assessment criteria ===== * final project presentation during last meting * half-year grade based on project's current state * reports of work performed (logs from version control systems, tasks status in project management systems) * presentations of selected topics (at least one presentation per semester) * evaluation of team work: team roles and division of responsibilities in the team, task planning, preparation of the schedule, goals settings and tasks performance * project documentation: software requirement specification, project website, technical documentation and user manuals ===== (Preliminary) Schedule of work ===== - First semester - division into teams (about 3/4 people), choice of project and team leader, choice of teamwork tools (version control system, project management system) - project description and requirements analysis - full specification, system architecture - project website (up-to-date updates to the end of the class) - prototype version of the program (?!) - current project state report at the end of first semester (January) - Second semesters - implementation, development of the system - alpha version, beta program - debugging and tests - full documentation - presentation of the final product (last meeting, June) ===== Meetings ===== The classes are held once every two weeks. \\ During meetings teams will: * report work progress and provide summary of work done * plan and assign tasks for next iteration * update tasks in project management system * discuss project issues * share knowledge - at least once a semester each team prepares a presentation about technologies or tools used in project development ===== Recommended project management tools ===== * trac + git - local server http://promap.is.umk.pl/trac/project_name, access to the project page and code repository provided by the teacher * Visual Studio Team Services or TFS - access provided by Microsoft Account, free for teams up to 5 members, git included, Scrum or Agile process template * Github, BitBucket - acceptable, but lack of advanced project management tools, eg. list of project milestones or product backlog, but general schedule can (and should) be included in project description and documentation * other tools only after consultation with the teacher ===== Projec proposals ===== Project proposals should be described in document similar to [[wp>Software_requirements_specification|System requirement specification]]. At that point I will require only simplified version of SRS (see document layout below), but it is recommended that you will extend this document and make it more detailed later. ==== Document layout ==== - Introduction * A brief description of the project, purpose of the system, product vision, main goals, etc. * Definitions (if needed) - definition of technical and specific terms used in the document, acronyms and abbreviations explanation - Overall description of the system * Product functions: list of the most important features of the system * Architecture: system model, brief description of the most important system modules, relationships between system elements and system environment (UML diagrams). * User characteristics: identify the various user groups that you anticipate will use this product * Operating environment: operating system and it version, hardware requirements (platform), used technologies, communication with other elements of the environment * Design and Implementation Constraints: specific technologies, tools, and databases to be used; programming languages; communications protocols; security considerations; - Functional requirements - the full list of system functionalities (actions that system can perform and services it provides) - Other non-functional requirements which didn't appear in the earlier sections. * software and hardware limitations * legal restrictions, licenses * assumptions about safety, performance, memory requirements, etc. {{http://www.cas.mcmaster.ca/~carette/SE3M04/2003/files/srs_template.doc|SRS template}} by Karl E. Wiegers 1999\\ [[google>software requirements specification filetype:pdf OR filetype:doc|More SRS examples]] ===== Schedule ===== Define main stages or milestones of the project and produce a draft schedule with approximated due dates for each stage. At least one stage should be defined with deadline before end of the first semester. Use project management tool selected by your team to define the schedule (eg. create Trac's Roadmap or Product Backlog/User stories using Scrum or Agile process templates in VSTS) or include it in project proposal (or SRS). ===== Some notes ===== * [[.:wbs|Work breakdown structure]] (in polish) * [[.:srs|System requirement specification]] (in polish) * [[zajecia:ppz2:notatki|More notes]] (in polish) ===== Lins ===== * [[https://git-scm.com/book/en/|Pro Git book]] by Scott Chacon and Ben Straub * [[http://www.dmoz.org/Computers/Open_Source/Project_Hosting/|Project Hosting List]] * [[wp>Comparison_of_open_source_software_hosting_facilities|Comparison of open source software hosting facilities]] * [[http://www.svnhostingcomparison.com/|Subversion (SVN) Hosting Comparison]] * [[wp>Comparison_of_issue-tracking_systems|Comparison of issue-tracking systems]] * [[http://trac.edgewall.org/|Trac Open Source Project]] * [[http://www.agilemodeling.com/|Agile Modeling]] * [[http://sites.google.com/site/outlooktrac/|Trac Outlook synchronization]] * [[http://tfs.visualstudio.com/|Visual Studio Online (Team Foundation Service)]] ===== Local Trac and git repository ===== https://promap.is.umk.pl/git/ Project site - Trac https://promap.is.umk.pl/trac/ [[https://promap.is.umk.pl/trac/|All projects]] \\ Test project on Trac : [[https://promap.is.umk.pl/trac/piaskownica|Trac playground]] ===== Projects 2017/2018 ===== ==== Exile ==== * git: https://gitlab.com/web-app-exile * Trello: https://trello.com/exile16 ==== PoorIoT ==== * git: https://gitlab.com/PoorIoT * Trello: https://trello.com/pooriot ==== JSGames ==== * git: https://bitbucket.org/jumper002/jsgamers-2017-18/overview ===== Projects 2016/2017 ===== ==== siny ==== * TFS: https://applieditteam.visualstudio.com/ * Trac: https://promap.is.umk.pl/trac/siny ==== jnt ==== * TFS: https://mainka.visualstudio.com * Trac: https://promap.is.umk.pl/trac/jnt ===== Projects 2015 ===== ==== AlphaBeta ==== * https://promap.is.umk.pl/trac/AlphaBeta * http://158.75.104.79:8080/icescrum/p/AB#project - IceScrum local server * https://bitbucket.org/AlphaBetaTeam/ BitBucket repozitory ==== MatrixV ==== * https://promap.is.umk.pl/trac/matrixv ==== TEYS (TEst Your Skills) ==== * https://promap.is.umk.pl/trac/teys * http://www.teys.pl/ ===== Projects 2014 ===== ==== SYNC.US! /Time To Work ==== * https://promap.is.umk.pl/trac/TTW * [[https://ablewski.visualstudio.com/DefaultCollection/Programowanie%20Zespo%C5%82owe|https://ablewski.visualstudio.com/DefaultCollection/ProgramowanieZespołowe]] ==== AncientDust ==== * https://promap.is.umk.pl/trac/AncientDust ==== Straight Flush Poker ==== * https://promap.is.umk.pl/trac/StraightFlushPoker * http://www.sfpoker.pl/ * SRS: {{http://cactuspie.eu/~poker/dokumentacja/funkcjonalne.pdf}} {{http://cactuspie.eu/~poker/dokumentacja/niefunkcjonalne.pdf}} ===== Projects 2013 ===== ==== AndTune ==== * https://promap.is.umk.pl/trac/AndTune ==== Lokalizacja Routerów ==== s * https://promap.is.umk.pl/trac/LR ==== Burned Shadows ==== * http://www.burned-shadows.tk/ * https://promap.is.umk.pl/trac/BurnedShadows ==== Zoobato ==== * http://zoobato.pl/ * http://www.zoobato.pl/ * http://redmine.zoobato.com/ * https://promap.is.umk.pl/trac/Zoobato ===== Projects 2012 ===== | [[http://tunedo.pl/|{{http://tunedo.pl/static/image/logo.1.png?150}}]] | [[http://turbo-biuro.pl/|{{http://www.fizyka.umk.pl/~229788/prog/logo-trac.png?500}}]] | ==== Tunedo ==== * http://tunedo.pl/ * https://promap.is.umk.pl/trac/tunedo * [[http://dev.tunedo.pl:8080/tfs/|tunedo - TFS - WEB Acces]] ==== Turbo Biuro ==== * http://turbo-biuro.pl/ * https://promap.is.umk.pl/trac/TurboBiuro ==== Olimp Defenders (215 studios) ==== * https://promap.is.umk.pl/trac/215-Studios