A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c



ISY302 – IS Project 1 (Sem 2, 2019)



IS Project 1 is the first of the two capstone units in your course. So, you are required to work on a real-world project from a client. Your real-world project should contain details of your client’s requirements. A detailed description of your real-world project specifications should be made available to your lecturer by the start of week 2. The complexity of any real-world project should at least be equal to the complexity of the CCSAS project discussed below in this document.


Note that the CCSAS is only provided as an example you will be required to source your own project specification from a real-world client. This document focuses on the deliverables of the project.


Specifically, you should read Section 2.3.1 to learn about System Requirement Specification documentation & Project Management Plan documentation. In addition, Section 2.3.2 addresses the expected deliverables of this project from Software Design Document perspective. This semester the project focus is on the analysis and design of your system. In the next semester you will have another project management plan to mainly implement, deploy and test the system.



Course Co-ordinator’s Student Advising System (CCSAS)



Course Co-ordinators (CCs) are academics with additional responsibilities of managing student queries regarding a course. Their main responsibilities are advising new and current students about the correct subjects to register in a given study period, deciding credit grants (also known as recognition of prior learning) and deciding course completions. These responsibilities require knowledge of the status of the subjects being completed or yet to be completed vis-a-vis the stipulated subjects in the program map for the course. Hence this is a knowledge management activity. An IT tool called CCSAS is required to help CCs in this knowledge management activity


1. Business Requirements:

The CCs requirements can be broadly classified into four categories:


  1. Creation of Program Maps for a course.


  1. Support during registration (enrolling) advice session.


  1. Student during Credit Grants (CG) advice session.


  1. Support while deciding Course Completions.


1.1 Creation of Program Map (PM)



Each course follows a pre-defined course structure indicating the subjects in the course and an ideal schedule in which a set of subjects should be studied in a study period. In addition, it contains other details such as the credit points for each subject as well as any pre-requisites and co-requisites for each subject. Hence the CCSAS should allow the CC to create one for the course. Once the PM is









ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 1


1 | P a g e





created the system should create a copy of the PM for each new student in the course with a status of “not enrolled” for each subject in the map.



1.2 Support during registration (enrolling) advice session



A student may seek CC advice regarding selection of subjects while enrolling a given study period. The


  1. requires a Program Map (PM) of the course along with knowledge of the subjects completed and yet to complete subjects, while advising the student. The PM contains a map of the required subjects to be completed for the course during each study period. Hence the CCSAS should recommend the subjects to be enrolled when the CC enters the student’s details (say student id) in the system.


Moreover, when the student enrols in a subject, the CCSAS should either automatically update the subjects enrolled or allow the CC to add an entry for each subject that been enrolled. Note that automatic update would require integration with any existing subject registration system. In addition, the system should also change the status of the subject either automatically or manually to reflect whether the student has “not enrolled” or “enrolled” or “un-enrolled” or “completed”, (passed) or “not completed” the subject (failed) or whether it has been deferred. The system should also allow update of details such as the study period (e.g. semester 2, year 2019), grade obtained, institution details etc, every time a student registers for a subject. This means, for every attempt of the subject, the system should keep a track of the details. Since the CC refers to the PM while advising the student, each student should have a customised copy of the program map. The status update of each subject should be made in the custom copy of the PM. The report of the status of each student should be presented on the program map with colour codes to represent the status.



1.3 Student during Credit Grants (CG) advice session


A CG is an exemption from studying a subject in recognition of prior learning or learning at an external institution (cross-institutional study). The CC should be able to enter details as the study period (e.g. semester 2, year 2019), grade obtained, institution details etc, every time a student gets a CG for a subject. The CC should also be able to change the status of the subject as detailed in the previous section.




1.4 Support while deciding Course Completions


A Course Completion signifies that a student has completed all the learning requirements of the course and would not need to study any more subjects. The CC should be able to get a report from CCSAS indicating whether a student has completed all the learning requirements of the course.




2. Project Management Requirements:


This semester you will focus on analysis and design of your project and in the next semester you will implement the system as a web application. You will be required to work individually. Each student








ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 2


2 | P a g e




should complete their own project. You should also use Scrum framework (except for the implementation part) for project management and GitHub Distributed Version Control as a tool. The Scrum milestones (deliverables) expected in this project are:


  1. Project Management Plan (PMP) and Software Requirement Specification (SRS) report


  1. Software Design Document (SDD)


2.1 Scrum Framework


Scrum is an agile project management framework to manage who does what and when (see Figure 1). It principally involves a Product Owner, who creates a list of Product Backlog Items (PBI) where each PBI is a sub-part of the project. Each PBI is taken in a Sprint session, typically 2 to 3 weeks to solve (see Figure 2).


Please refer to


https://www.collab.net/sites/default/files/uploads/CollabNet_scrumreferencecard.pdf for a cheat sheet on Scrum and to watch videos at https://www.collab.net/services/training/agile_e-learning for finer details such as:


Intro to Scrum (17 min)

Backlog Refinement Meeting (13 min)

Sprint Planning Meeting (10 min)

Daily Scrum Meeting (9 min)

Sprint Review Meeting (13 min)


Sprint Retrospective Meeting (15 min)

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 3






















Figure 1: What is a scrum


(Ref: https://www.bing.com/videos/search?q=what+is+scrum+agile&view=detail&mid=D4887D01F699C315B56FD4887D01F699C315B56F&FORM=VIRE)













ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 4


3 | P a g e

























Figure 2: Overview of scrum framework


(Ref: https://www.bing.com/videos/search?q=what+is+scrum+agile&view=detail&mid=D4887D01F699C315B56FD4887D01F699C315B56F&FORM=VIRE)


2.2 Git + GitHub


Ref: https://geo-python.github.io/2017/lessons/L1/course-environment-components.html


Git is a version control software (developed by a rather famous Finn named Linus Torvalds - he also created Linux!) that is used to track and store changes in your files (often source code for programs) without losing the history of past changes. Files in Git are stored in a repository, which you can simply think of as a directory containing files (or other directories) related to a single ‘project’. Git is widely used by professionals to keep track of what they’ve done and to collaborate with other people.


GitHub is a web-based Git repository hosting service and social network. It is the largest online storage space of collaborative works that exists in the world. It is a place where you can share your code openly to the entire world or alternatively only to your collaborators working on the same project. GitHub provides a nice web-interface to your files that is easy to use. It is a wonderful way for exploring the codes and documentation or e.g., teaching materials such as those in our course.


Both Git and GitHub provide many more features than the ones mentioned here, but for now we are happy to understand the basic idea of what they are.


For information on GitHub and Distributed Version Control, go to:


https://geo-python.github.io/2017/lessons/L2/intro-to-GitHub.html


2.3 Scrum Milestone Requirements


A milestone is an output produced following a major accomplishment of a project. Each student is required to produce two documents, namely (a) PMP & SRS report in Assessment 1 (b) SDD in


Assessment 2. The details of these documents are discussed in the following two sub-sections. You may use GitHub to manage the daily Scrum activities for the two documents.








ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 5


4 | P a g e




2.3.1 Project Management Plan (PMP) and Software Requirement Specification (SRS) report requirements (see unit outline for weighting of marks and due dates for this activity)


A PMP is used to manage and monitor the project plan, thus providing clear guidelines for the project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the content to expectations specified here:


Table of Contents


  1. Introduction

1.1 Project Overview

1.2 Project Deliverables: SPMP, SRS in A1 and SDD in A2.

1.3 Reference Materials

1.4 Definitions and Acronyms


  1. Project Organization


2.1 Process Model: Agile

2.1.1 Project Planning


2.1.2 Requirements Analysis: Use SCRUM features such as Product Backlog Items written in User Story form, Sprint Tasks (this section should be in detail as it is the SRS. Each item and sub item must


be indexed so that it can be referenced again in Assignment 2 Software Design Documentation) 2.1.3 Software Design: Architecture of web application, GUI design, process & workflow design,


database design (mention this will be delivered as a milestone in the 2nd assessment, so do not provide in-depth details here)

2.1.4 Analysis Review


2.1.5 Client Project Review

2.1.6 Prototype: Front end prototype

2.1.7 Client Presentation

2.2 Organizational Structure

2.2.1 Project manager and Tasks

2.3 Organizational Boundaries and Interfaces

2.3.1 GitHub Communication

2.3.2 Meeting Times

2.4 Project Responsibilities

2.4.1 Project Management

2.4.2 Project Sponsor (in case of real-world projects)

2.4.3 Liaison manager (in case of real-world projects)


2.4.4 Document Editor

3. Managerial Process

3.1 Management Objectives and Priorities

3.2 Assumptions, Dependencies and Constraints

3.2.1 Assumptions

3.2.2 Dependencies

3.2.3 Constraints


3.3 Risk Management: Details of individual team risk management assessments should be provided

3.3.1 Analysts perspective


3.3.2 Design perspective: Front end, process, database

3.3.3 Project Management perspective

3.4 Monitoring and Controlling Mechanisms


4. Technical Process

4.1 Methods, Tools and Techniques

4.2 Software Documentation

4.3 Project Support Functions


ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 6


5 | P a g e



4.4 Work Elements, Schedule (do not include Budget)

4.4.1 Overall Project Plan


2.3.2 Software Design Document (see unit outline for weighting of marks and due dates for this activity)


Assessment 2 of this unit requires you to write an SDD. This document should be at a detailed design level. This means, all the major components of the system should be designed with a satisfactory level of granularity such that if your SDD is given to a programmer to implement, it should be easily implementable. In addition, the design should match the requirements specified during the Requirement Analysis activity (see Section 2.1.2 Requirements Analysis in your A1 document). That is, each design component should be indexed and should be traceable to a requirement specification in Section 2.1.2. You may use a matrix to manage this. Specifically, designs are required for: business component identification, the front design end, process & workflow design, database design and security concerns in design. You should use the Model View Controller (MVC) framework for the server-side components of the process design.


The structure of the SDD should be as follows:


Table of Contents

1. Introduction

1.1 Definitions and Acronyms

2. SDD Organization


2.1 Business Component Design: Each Business Component has a specific business purpose should have the following dimensions

2.1.1 Business Purpose: Why does it exist?

2.1.2 Activities: What simple, cohesive activities are regularly performed?

2.1.3 Resources: What tangible assets and human resources are required?

2.1.4 Governance: How are activities and resources managed?


2.1.5 Business Services: What is taken form and offered to other components? (consider people, process and technology together)

2.2 Front End Design: Consider structural design of each web page using mock-ups


2.3 Process & Workflow Design: Consider drawing UML activity diagrams for each user story

2.4 Database Design: Provide the overall E-R diagram with explanation and rational

2.5 Security in Design: Consider using STRIDE principles for Application Security

  1. Conclusion (Provide the traceability matrix here from requirements to design components)

  2. References


The following five sub-sections discuss these components of the design in more detail.


2.3.2.1 Business Component Diagram


A business component diagram identifies the core business components in the architecture. You may draw these as modules and sub-modules required for managing the business. This activity will allow you to think of the business components required for the system without being concerned about the technical aspects of the system. The business component diagram can be drawn using an online diagramming tool such as LucidChart1.


2.3.2.2 Front End Design





  1. https://www.lucidchart.com


ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 7


6 | P a g e




Most modern business applications are web based. Hence the front end-design should be for web-based interfaces. So, you should consider front design from HTML structure perspective but not necessarily using HTML. In other words, you may use mock-up tools such as Balsamiq2 to design the front end. However, in the next semester you should use HTML, CSS, JavaScript and AngularJS during the implementation. CSS or Cascade Style Sheet is a styling language to manage the presentation of the HTML and the data. JavaScript is a browser-based script language for better user interaction and AngularJS is a JavaScript library for separation of concerns such as presentation, data and control on the client side.


Watch this video from Edureka for a quick introduction to HTML. https://www.youtube.com/watch?reload=9&v=bsMtNF3SMjo (1 h: 54 m)


Additionally, you should watch this video from Edureka for a quick introduction to CSS, JavaScript and AngularJS.


https://www.bing.com/videos/search?q=web+development+edureka+youtube&view=detail&mid=9 BCCF83B0A30FB85A4B99BCCF83B0A30FB85A4B9&FORM=VIRE


2.3.2.3 Process & Workflow Design


A process defines a sequence of steps to be completed to accomplish a task and a workflow is a sequence of processes to accomplish a business process. For example, a process in CCSAS could be to update the status of a subject studied by a student and this could be one among the many processes to be completed while managing the workflow for Course Completion. You should consider using the MVC framework in the front-end and in the backend while managing the workflow designs. You are required to use the business components identified in Section 2.3.2.1 as Models within the MVC framework.


Read the first five paragraphs from this link to get a quick introduction to MVC.


(https://www.tutorialspoint.com/mvc_framework/mvc_framework_introduction.htm).


In addition, read the following to learn the principles of MVC framework in front end designs.


https://developer.chrome.com/apps/app_frameworks.


You should use UML’s Activity Diagrams to draw the workflow design. Your Activity Diagrams should have MVC components wherever possible, both in the front end as well as in the backend. As before you may use LucidChart to draw the diagrams.






















  1. https://balsamiq.com/download/


ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 8


7 | P a g e



2.3.2.4 Database Design


Database designs are required to ensure that the data is structured (organised) appropriately for easy maintenance and efficiency during runtime. You may use MS Access as a tool to design the E-R diagram of the system. This activity ensures that you are knowledgeable of database management principles.


2.3.2.5 Security in Design


Security is a grave concern in most modern web applications. You should design security components in your design. You may consider the Confidentiality Integrity Availability (CIA) principles for this. This (http://www.doc.ic.ac.uk/~ajs300/security/index.html) URL from a student from Imperial College, London provides an easy understanding this principle. Confidentiality can be maintained by using Authentication and Authorization as well as by using encryption. Integrity involves maintaining the consistency, accuracy, and trustworthiness of data over its entire life cycle. Access control matrix needs to be designed to manage this principle. You need to define who can access each resource and whether an actor has “read”, “write”, “execute” privileges to each data management resource used in the system. Availability refers to uptime of the system and how it could be maintained.




2.4 Templates for PMP & SRS


Use one of the following and edit appropriately:


http://www.utdallas.edu/~chung/RE/Presentations10F/Team-hope/5%20-%20Project%20Plan.pdf


http://teaching.csse.uwa.edu.au/units/CITS4401/practicals/James1_files/SPMP1.pdf








































ISY302 - IS PROJECT 1 DETAILS, T2 2019

A PMP is used to manage and  monitor the project plan, thus providing clear guidelines for the  project. You may use the template provided in Section 2.4 while writing the PMP & SRS but restrict the c 9


8 | P a g e