LAB 2022

Week 1

  • Topics
  • Documentation
  • Project Description
    • Please group yourselves into teams of 2. The team members need to have the same teaching assistant! The project topic will be chosen by the team members and the requirements will be discussed for acceptance with your teaching assistant. Here you can see a set of 'minimal' special requirements for your project.
      • It must have a graphical user interface
      • It must have a way to persist manipulated data on disk (we recommend XML/JSON but more advanced techniques are allowed)
      • It must have a Login feature with different roles for users. NOTE: It will not be allowed to record passwords as plain text.
      • It must have at least 4 sea-level use cases and at least 2 fish-level use cases (see next week)
  • Demo
⚠ (:youtube SWltrSXH9EQ border=1 :)

 

 

 

 

 

 

 

 

 

 

Week 2

⚠ (:youtube zid-MVo7M-E border=1 :)

 

 

 

 

 

 

 

 

 

 

Week 3

  • Project Deliverable 1 deadline - Project Text Specification (check Campus Virtual)
  • Topics
    • Agile Methodologies, Scrum
    • Issue tracking systems (Jira, Youtrack), Features, Stories, Tasks
  • Scrum Intro Tutorials
⚠ (:youtube XU0llRltyFM border=1 :)

 

 

 

 

 

 

 

 

 

 

  • Some tutorials on Jira. To start playing around with Jira Cloud please follow this tutorial.
⚠ (:youtube TsG3OWTDAFY border=1 :)

 

 

 

 

 

 

 

 

 

 

Week 4

  • Evaluation 1 on Agile methods, Scrum, JIra & Use Cases (check Campus Virtual)
  • Topics
    • Git
    • Please study the Git tutorial here and do the practice exercise at the end of it (for the practice exercise use this git repo instead of the link in the document).
    • You can also take a look at the Version Control presentation here and you can find several Git demos and/or tutorials if you scroll down a little. In-depth, official Git documentation can be found here.
    • To install Git on your computer, see the installation instructions here
  • Documentation
  • Facultative readings on SVN (another, older versioning system):
    • Eclipse plugins for SVN: Subclipse
    • SVN as a stand-alone tool:
    • A simple SVN tutorial can be found here. For beginners, the Using Subversion section is the most important one. The server side configuration is not so important for you at this time (although it might clarify some aspects from the aforementioned section).
    • A very good book about SVN can be found here (Suggested reading - Chapters 1 and 2).
    • You can download various (standalone) SVN distributions (for different OS) from here.
  • Demo Git
    • A demo on how to use git locally and connect them to remote repositories.
⚠ (:youtube _OZVJpLHUaI border=1 :) ⚠ (:youtube mVnZVw4KJnc border=1 :)

 

 

 

 

 

 

 

 

 

 

  • Some tutorials on how to use Git in IntelliJ IDEA (very useful)
⚠ (:youtube MaQnpCaiop0 border=1 :) ⚠ (:youtube mf2-MOl0VXY border=1 :)
⚠ (:youtube uUzRMOCBorg border=1 :)

 

 

 

 

 

 

 

 

 

 

⚠ (:youtube nbJlXOhppVk border=1 :)

 

 

 

 

 

 

 

 

 

 

  • To integrate your Git repository with Jira Cloud
    • for GitHub, you can use the marketplace application and follow the steps described here.
      • You can also read more about GitHub-Jira integration here
    • for BitBucket, do read the instructions available here

Week 5

  • Git Exercise
    • Work in pairs of 2 to implement a Student Manager System:
    • Tasks for Student A
    • Tasks for Student B
    • Please use Java 8 (or be aware that since Java 11 JavaFX has been removed from the JDK and must be installed as a separate component; and that since Java 9 there is a new feature: Modularity, and JavaFX is designed using modules, so things might get more tricky for you...)

Week 6

Week 7

Week 8

  • Project Deliverable 2 deadline - Project Specification using Use Cases & Jira, Basic Structure on GitHub (check Campus Virtual)

Week 9

  • Evaluation 2 on Git & Build tools (check Campus Virtual)

Week 10

  • Topics
    • Questions class & sequence diagrams
    • Unit Testing with jUnit
  • Documentation
  • Demo
⚠ (:youtube b4a8bb6E_Q8 border=1 :)

 

 

 

 

 

 

 

 

 

 

  • Exercises (facultative, this year...)
    • An eclipse project is prepared for you here. Just download and import it in Eclipse (using File/Import/General-Existing Project Into Workspace/Select archive file). Write in jUnit all the tests according to the white-box path testing approach and the associated heuristics
    • An eclipse project is prepared for you here. In this project you can find the binary code of a class named Search placed in the locate package. The class contains a method having the signature: int search(ArrayList<String>,String). The method returns the first position from the received list where there is a String equivalent to the second parameter of the method. In other cases the method must return -1. Derive and implement in jUnit the corresponding tests cases, according to the black-box testing methodology.

Week 11

  • Evaluation 3 on UML class & sequence diagrams (check Campus Virtual)
  • Topics
    • Questions and project help

Week 12

  • Topics
    • Questions and project help

Week 13-14

  • Project Deliverable 3 - Final Project (check Campus Virtual)