Objectives

A software Engineering project focusing on the implementation of a Brown Field Project with an empahsis on Team work with different team members that adopts a software iterative approach to development. This software underwent 4 iteration during its development. It is written in JAVA.

Overview

Project: NS Addressbook

Developed using JAVA, NS Addressbook is a desktop app for managing military personel during regular operation. It is used for tracking the personel details and the respective grouping they belong to via a Command Line Input panel (CLI) and displays the contact details in a Graphical User interface (GUI).

It can be used for managing the different attributes of the serviceman by placing them into groups which represent those common attribute.

The project is built based on the User Story collected.

Given below are my contribution to the project:

Code Contributed

Enhancements implemented:

Implemented the following new function/feature:

Action Format, Examples
Create a group create g/<groupName>
Show all group created show
delete every person from a group deletepsngrp g/<groupName>

create (Pull request:#25)

  • What it does:
    • It allows user to create different grouping to categorise serviceman.
  • Justification:
    • This makes it convienent to identify which serviceman have common attribute.

show (Pull request: #25)

  • What it does:
    • It allows user to display all groups that was created in Addressbook App.
  • Justification:
    • It allows user to gain an overview of which groups already exists in Addressbook App.

deletepsngrp (Pull request: #51)

  • What it does:
    • It allows user to remove all contact placed in a particular group.
  • Justification:
    • It provides the convinence to the user in a sense that it allows them to remove ALL user beloning to a group all at once. user do not have to delete individual contact from a group one by one.

Contributions to Project Management:

  • Managed release v1.4 tP Final JAR release on Github
  • Managed release v1.2 tP Trial JAR release on Github
  • Created and managed the first milestone v1.1 and some parts of v1.2
  • Created and managed the Project Progress using the Project function of GitHub to track project task progress and their completion using project cards for v1.1 to v1.4

Community Contribution

  • PRs reviewed #26, #39, #61, #92
  • Reported Bugs (that was not from PE/PE trial) #93, #48, #47
  • The some parts of the deletepsngrp function I wrote was adopted by Team Mate Januarius Jang for his own deletion implementation.
  • Fixed Bugs #90, #84, #74, #72, #65

Contributions to documentation:

Contribution to the User Guide:

Assisted to produce the Feature & Command Summary Section.

  • Added documentation for create, show and deletepsngrp Also Collaborated & Worked together with the team on the remaining parts of the UG.
Contributions to the Developer Guide:
  • Worked on the User Stories
  • Worked on the Use Case (UC) for Deleting All Person From Group
  • Worked on the Use Case (UC) for Create Group
  • Worked on the Use Case (UC) for Show Group

Also Collaborated & Collaborated & Worked together with the team for the rest of the items. Jiancheng consolidated the remaning submission to teams repo.

Contributions to team-based tasks :

  1. Setup the Repo in preparation for the project (e.g. creating the Repo, implementing Repo security setup, etc)
  2. Advising and reminding team to utilise project tools such as style guide checker to avoid Continuous Integration failure.
  3. Setting up of first Team mile stone, creating incidents and moving User stories into them for easy tracking
  4. Created and used GitHub Project Management Tool (under Repo Project tab) to track project task and managed their status (inprogress, completed, which milestone they belong to).
  5. Perform basic manual testing during early stages of development. Raised bugs and issues.
  6. Contributed ideas during discussions in weekly meetings during project conception.
  7. Set forward each iteration sprint task and planning to ensure smooth project progress.
  8. Contributed to pair programming with Jian Cheng during first week of project by when He was building the project skeleton.

Contributions beyond the project team:

Motivated the team during weekly discussion by discussing about matters outside of project work to build and consolidate bond. Kept relationship healthy.