25
Lab Report Repo Documentation Release 1.0 Majaga, H.T and Paschal, C.K Jun 12, 2019

Lab Report Repo Documentation

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lab Report Repo Documentation

Lab Report Repo DocumentationRelease 10

Majaga HT and Paschal CK

Jun 12 2019

Lab Report Repository

1 Software Documentation 311 Introduction 312 Overall Description 413 Interface Requirements 614 System Features 715 Non Functional Requirements 916 Behavioural Requirements 9

2 Getting Started 1721 Requirements 1722 Installation 1723 Usage 18

3 User Documentation 1931 Login Page 20

4 References 21

i

ii

Lab Report Repo Documentation Release 10

The Lab Report Repository is the Zhejiang Normal University project undertaken by the Advanced Software Engi-neering class of 2018 The project is about developing a web application that will assist the University with an onlinereports repository

What exactly is Lab Report Repository Lab Report Repository is a web application for storing reports Just thinkof it as any Repository where things are stored or a Lab where things like analysis are carried out Lab ReportRepository is an online repository where students reports are stored and managed Reports stored in the onlinelab repository can also be analysed

Why Lab Report Repository It is not like there are no other ways that students can submit reports online of-coursethere are ways using emails and even IM applications like WeChat But now assume you are an instructor orTA and you have more than 50 students from different classes and courses and you want them to send youreports through emails isnrsquot that difficult to manage reports after a number of days months or years once youwant to trace back some reports of different students from different classes for different courses because youwill be having a lot of emails at the time Or you are a student after months you want to trace back your reportsthat you have written from different courses reports about Chinese Society Software Engineering Educationetc

The main ideas behind Lab Report Repository are

bull to create a single unique platform to accumulate all University students reports

bull to be able to trace back reports as quick as as possible at any number of days

bull to be able to analyse submitted reports and give feedbacks

bull to be able to mark submitted reports

Lab Report Repository 1

Lab Report Repo Documentation Release 10

2 Lab Report Repository

CHAPTER 1

Software Documentation

The Software Documentation is meant for technical instructions to developers developing a Lab Report Repositoryapplication The software documentation describes the architecture the functionalities software features and handlingof a Lab Report Repository application Software developers engineers will need such a documentation as an integralpart of the requirements for operations maintenance and repair of a software All these requirements needed tocomplete developing a software can also be referred as Software Requirements Specification (SRS)

The SRS for a Lab Report Repository will include the following sections

11 Introduction

The Software Requirements Specification describes all the functional and non functional requirements for a Lab ReportRepository project The requirements will help fulfil the development of the application The introduction section willmainly discuss the purpose scope and the intended audience of the project

111 Purpose

The purpose of this document is to state the requirements and present detail descriptions of a Lab Report Repositoryfor the Zhejiang Normal University It explains the purpose and features of the platform itself the web interfacesthrough which instructors set dates for reports submission and students being able to submit reports according to datesset

112 Project Scope

Having a unique platform for the Lab Report Repository can be useful The platform can help achieve specific tasks onreports repository The project scope will be to develop application that ZJNU students reports can easily be submittedand managed The scope will also cover the marking ability of the reports submitted as well as giving feedbacks tostudents about reports submission

3

Lab Report Repo Documentation Release 10

113 Intended Audience

This document is intended to be useful for the Development Team Project MentorLeader and any member of theAdvanced Software Engineering class of 2018

bull The Project MentorLeader The project mentor will lead the development team and provide initial require-ments for the project Any functional and non functional system features will be shared to the project mentorthrough this document Project mentor might agreedisagree with features that will seem to not fit the systemrequirements specifications

bull Development Team The development team will use this document as the guideline towards the developmentAny of the CRUD functions for the project will follow this document For any changes to be made duringdevelopment the development team will look up to this document and make changes before any implementation

bull ASE 2018 Class The ASE class members can share ideas with the project mentor andor the development teamabout the project The ASE class might also use this document as a reference towards working on the project asthe class

114 Project MentorLeader

The project mentorleader for the project is Mr Lan Hui ASE Instructor at ZJNU

115 Project Development Team

The project development team is made up of

Name Email WeChatMajaga Haroun Tungaraza harountungarazagmailcom harounrazaPaschal Costantine Kulwa paschalkulwagmailcom Robacotz

12 Overall Description

The overall description provides an overall background of the Lab Report Repository as to the requirements Thesection explains the overview of the system the system perspective and functions user classes and their characteris-tics The section will also explain about user and operating environments of the system design and implementationconstraints

121 Product Perspective

The system will be a web application where reports will be stored in an online repository Reports stored will bein different categories depending on classes and major courses The system will store reports in public and privatemanner viewing private reports will be for users with credentials and permissions to accessing private reports Theproduct will use a 3-tier architecture

122 Product Functions

The product will be an authentication and authorisation system Authorised users will have roles and permissions tobe able to access system features The product will allow

bull user registration

4 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 2: Lab Report Repo Documentation

Lab Report Repository

1 Software Documentation 311 Introduction 312 Overall Description 413 Interface Requirements 614 System Features 715 Non Functional Requirements 916 Behavioural Requirements 9

2 Getting Started 1721 Requirements 1722 Installation 1723 Usage 18

3 User Documentation 1931 Login Page 20

4 References 21

i

ii

Lab Report Repo Documentation Release 10

The Lab Report Repository is the Zhejiang Normal University project undertaken by the Advanced Software Engi-neering class of 2018 The project is about developing a web application that will assist the University with an onlinereports repository

What exactly is Lab Report Repository Lab Report Repository is a web application for storing reports Just thinkof it as any Repository where things are stored or a Lab where things like analysis are carried out Lab ReportRepository is an online repository where students reports are stored and managed Reports stored in the onlinelab repository can also be analysed

Why Lab Report Repository It is not like there are no other ways that students can submit reports online of-coursethere are ways using emails and even IM applications like WeChat But now assume you are an instructor orTA and you have more than 50 students from different classes and courses and you want them to send youreports through emails isnrsquot that difficult to manage reports after a number of days months or years once youwant to trace back some reports of different students from different classes for different courses because youwill be having a lot of emails at the time Or you are a student after months you want to trace back your reportsthat you have written from different courses reports about Chinese Society Software Engineering Educationetc

The main ideas behind Lab Report Repository are

bull to create a single unique platform to accumulate all University students reports

bull to be able to trace back reports as quick as as possible at any number of days

bull to be able to analyse submitted reports and give feedbacks

bull to be able to mark submitted reports

Lab Report Repository 1

Lab Report Repo Documentation Release 10

2 Lab Report Repository

CHAPTER 1

Software Documentation

The Software Documentation is meant for technical instructions to developers developing a Lab Report Repositoryapplication The software documentation describes the architecture the functionalities software features and handlingof a Lab Report Repository application Software developers engineers will need such a documentation as an integralpart of the requirements for operations maintenance and repair of a software All these requirements needed tocomplete developing a software can also be referred as Software Requirements Specification (SRS)

The SRS for a Lab Report Repository will include the following sections

11 Introduction

The Software Requirements Specification describes all the functional and non functional requirements for a Lab ReportRepository project The requirements will help fulfil the development of the application The introduction section willmainly discuss the purpose scope and the intended audience of the project

111 Purpose

The purpose of this document is to state the requirements and present detail descriptions of a Lab Report Repositoryfor the Zhejiang Normal University It explains the purpose and features of the platform itself the web interfacesthrough which instructors set dates for reports submission and students being able to submit reports according to datesset

112 Project Scope

Having a unique platform for the Lab Report Repository can be useful The platform can help achieve specific tasks onreports repository The project scope will be to develop application that ZJNU students reports can easily be submittedand managed The scope will also cover the marking ability of the reports submitted as well as giving feedbacks tostudents about reports submission

3

Lab Report Repo Documentation Release 10

113 Intended Audience

This document is intended to be useful for the Development Team Project MentorLeader and any member of theAdvanced Software Engineering class of 2018

bull The Project MentorLeader The project mentor will lead the development team and provide initial require-ments for the project Any functional and non functional system features will be shared to the project mentorthrough this document Project mentor might agreedisagree with features that will seem to not fit the systemrequirements specifications

bull Development Team The development team will use this document as the guideline towards the developmentAny of the CRUD functions for the project will follow this document For any changes to be made duringdevelopment the development team will look up to this document and make changes before any implementation

bull ASE 2018 Class The ASE class members can share ideas with the project mentor andor the development teamabout the project The ASE class might also use this document as a reference towards working on the project asthe class

114 Project MentorLeader

The project mentorleader for the project is Mr Lan Hui ASE Instructor at ZJNU

115 Project Development Team

The project development team is made up of

Name Email WeChatMajaga Haroun Tungaraza harountungarazagmailcom harounrazaPaschal Costantine Kulwa paschalkulwagmailcom Robacotz

12 Overall Description

The overall description provides an overall background of the Lab Report Repository as to the requirements Thesection explains the overview of the system the system perspective and functions user classes and their characteris-tics The section will also explain about user and operating environments of the system design and implementationconstraints

121 Product Perspective

The system will be a web application where reports will be stored in an online repository Reports stored will bein different categories depending on classes and major courses The system will store reports in public and privatemanner viewing private reports will be for users with credentials and permissions to accessing private reports Theproduct will use a 3-tier architecture

122 Product Functions

The product will be an authentication and authorisation system Authorised users will have roles and permissions tobe able to access system features The product will allow

bull user registration

4 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 3: Lab Report Repo Documentation

ii

Lab Report Repo Documentation Release 10

The Lab Report Repository is the Zhejiang Normal University project undertaken by the Advanced Software Engi-neering class of 2018 The project is about developing a web application that will assist the University with an onlinereports repository

What exactly is Lab Report Repository Lab Report Repository is a web application for storing reports Just thinkof it as any Repository where things are stored or a Lab where things like analysis are carried out Lab ReportRepository is an online repository where students reports are stored and managed Reports stored in the onlinelab repository can also be analysed

Why Lab Report Repository It is not like there are no other ways that students can submit reports online of-coursethere are ways using emails and even IM applications like WeChat But now assume you are an instructor orTA and you have more than 50 students from different classes and courses and you want them to send youreports through emails isnrsquot that difficult to manage reports after a number of days months or years once youwant to trace back some reports of different students from different classes for different courses because youwill be having a lot of emails at the time Or you are a student after months you want to trace back your reportsthat you have written from different courses reports about Chinese Society Software Engineering Educationetc

The main ideas behind Lab Report Repository are

bull to create a single unique platform to accumulate all University students reports

bull to be able to trace back reports as quick as as possible at any number of days

bull to be able to analyse submitted reports and give feedbacks

bull to be able to mark submitted reports

Lab Report Repository 1

Lab Report Repo Documentation Release 10

2 Lab Report Repository

CHAPTER 1

Software Documentation

The Software Documentation is meant for technical instructions to developers developing a Lab Report Repositoryapplication The software documentation describes the architecture the functionalities software features and handlingof a Lab Report Repository application Software developers engineers will need such a documentation as an integralpart of the requirements for operations maintenance and repair of a software All these requirements needed tocomplete developing a software can also be referred as Software Requirements Specification (SRS)

The SRS for a Lab Report Repository will include the following sections

11 Introduction

The Software Requirements Specification describes all the functional and non functional requirements for a Lab ReportRepository project The requirements will help fulfil the development of the application The introduction section willmainly discuss the purpose scope and the intended audience of the project

111 Purpose

The purpose of this document is to state the requirements and present detail descriptions of a Lab Report Repositoryfor the Zhejiang Normal University It explains the purpose and features of the platform itself the web interfacesthrough which instructors set dates for reports submission and students being able to submit reports according to datesset

112 Project Scope

Having a unique platform for the Lab Report Repository can be useful The platform can help achieve specific tasks onreports repository The project scope will be to develop application that ZJNU students reports can easily be submittedand managed The scope will also cover the marking ability of the reports submitted as well as giving feedbacks tostudents about reports submission

3

Lab Report Repo Documentation Release 10

113 Intended Audience

This document is intended to be useful for the Development Team Project MentorLeader and any member of theAdvanced Software Engineering class of 2018

bull The Project MentorLeader The project mentor will lead the development team and provide initial require-ments for the project Any functional and non functional system features will be shared to the project mentorthrough this document Project mentor might agreedisagree with features that will seem to not fit the systemrequirements specifications

bull Development Team The development team will use this document as the guideline towards the developmentAny of the CRUD functions for the project will follow this document For any changes to be made duringdevelopment the development team will look up to this document and make changes before any implementation

bull ASE 2018 Class The ASE class members can share ideas with the project mentor andor the development teamabout the project The ASE class might also use this document as a reference towards working on the project asthe class

114 Project MentorLeader

The project mentorleader for the project is Mr Lan Hui ASE Instructor at ZJNU

115 Project Development Team

The project development team is made up of

Name Email WeChatMajaga Haroun Tungaraza harountungarazagmailcom harounrazaPaschal Costantine Kulwa paschalkulwagmailcom Robacotz

12 Overall Description

The overall description provides an overall background of the Lab Report Repository as to the requirements Thesection explains the overview of the system the system perspective and functions user classes and their characteris-tics The section will also explain about user and operating environments of the system design and implementationconstraints

121 Product Perspective

The system will be a web application where reports will be stored in an online repository Reports stored will bein different categories depending on classes and major courses The system will store reports in public and privatemanner viewing private reports will be for users with credentials and permissions to accessing private reports Theproduct will use a 3-tier architecture

122 Product Functions

The product will be an authentication and authorisation system Authorised users will have roles and permissions tobe able to access system features The product will allow

bull user registration

4 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 4: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

The Lab Report Repository is the Zhejiang Normal University project undertaken by the Advanced Software Engi-neering class of 2018 The project is about developing a web application that will assist the University with an onlinereports repository

What exactly is Lab Report Repository Lab Report Repository is a web application for storing reports Just thinkof it as any Repository where things are stored or a Lab where things like analysis are carried out Lab ReportRepository is an online repository where students reports are stored and managed Reports stored in the onlinelab repository can also be analysed

Why Lab Report Repository It is not like there are no other ways that students can submit reports online of-coursethere are ways using emails and even IM applications like WeChat But now assume you are an instructor orTA and you have more than 50 students from different classes and courses and you want them to send youreports through emails isnrsquot that difficult to manage reports after a number of days months or years once youwant to trace back some reports of different students from different classes for different courses because youwill be having a lot of emails at the time Or you are a student after months you want to trace back your reportsthat you have written from different courses reports about Chinese Society Software Engineering Educationetc

The main ideas behind Lab Report Repository are

bull to create a single unique platform to accumulate all University students reports

bull to be able to trace back reports as quick as as possible at any number of days

bull to be able to analyse submitted reports and give feedbacks

bull to be able to mark submitted reports

Lab Report Repository 1

Lab Report Repo Documentation Release 10

2 Lab Report Repository

CHAPTER 1

Software Documentation

The Software Documentation is meant for technical instructions to developers developing a Lab Report Repositoryapplication The software documentation describes the architecture the functionalities software features and handlingof a Lab Report Repository application Software developers engineers will need such a documentation as an integralpart of the requirements for operations maintenance and repair of a software All these requirements needed tocomplete developing a software can also be referred as Software Requirements Specification (SRS)

The SRS for a Lab Report Repository will include the following sections

11 Introduction

The Software Requirements Specification describes all the functional and non functional requirements for a Lab ReportRepository project The requirements will help fulfil the development of the application The introduction section willmainly discuss the purpose scope and the intended audience of the project

111 Purpose

The purpose of this document is to state the requirements and present detail descriptions of a Lab Report Repositoryfor the Zhejiang Normal University It explains the purpose and features of the platform itself the web interfacesthrough which instructors set dates for reports submission and students being able to submit reports according to datesset

112 Project Scope

Having a unique platform for the Lab Report Repository can be useful The platform can help achieve specific tasks onreports repository The project scope will be to develop application that ZJNU students reports can easily be submittedand managed The scope will also cover the marking ability of the reports submitted as well as giving feedbacks tostudents about reports submission

3

Lab Report Repo Documentation Release 10

113 Intended Audience

This document is intended to be useful for the Development Team Project MentorLeader and any member of theAdvanced Software Engineering class of 2018

bull The Project MentorLeader The project mentor will lead the development team and provide initial require-ments for the project Any functional and non functional system features will be shared to the project mentorthrough this document Project mentor might agreedisagree with features that will seem to not fit the systemrequirements specifications

bull Development Team The development team will use this document as the guideline towards the developmentAny of the CRUD functions for the project will follow this document For any changes to be made duringdevelopment the development team will look up to this document and make changes before any implementation

bull ASE 2018 Class The ASE class members can share ideas with the project mentor andor the development teamabout the project The ASE class might also use this document as a reference towards working on the project asthe class

114 Project MentorLeader

The project mentorleader for the project is Mr Lan Hui ASE Instructor at ZJNU

115 Project Development Team

The project development team is made up of

Name Email WeChatMajaga Haroun Tungaraza harountungarazagmailcom harounrazaPaschal Costantine Kulwa paschalkulwagmailcom Robacotz

12 Overall Description

The overall description provides an overall background of the Lab Report Repository as to the requirements Thesection explains the overview of the system the system perspective and functions user classes and their characteris-tics The section will also explain about user and operating environments of the system design and implementationconstraints

121 Product Perspective

The system will be a web application where reports will be stored in an online repository Reports stored will bein different categories depending on classes and major courses The system will store reports in public and privatemanner viewing private reports will be for users with credentials and permissions to accessing private reports Theproduct will use a 3-tier architecture

122 Product Functions

The product will be an authentication and authorisation system Authorised users will have roles and permissions tobe able to access system features The product will allow

bull user registration

4 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 5: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

2 Lab Report Repository

CHAPTER 1

Software Documentation

The Software Documentation is meant for technical instructions to developers developing a Lab Report Repositoryapplication The software documentation describes the architecture the functionalities software features and handlingof a Lab Report Repository application Software developers engineers will need such a documentation as an integralpart of the requirements for operations maintenance and repair of a software All these requirements needed tocomplete developing a software can also be referred as Software Requirements Specification (SRS)

The SRS for a Lab Report Repository will include the following sections

11 Introduction

The Software Requirements Specification describes all the functional and non functional requirements for a Lab ReportRepository project The requirements will help fulfil the development of the application The introduction section willmainly discuss the purpose scope and the intended audience of the project

111 Purpose

The purpose of this document is to state the requirements and present detail descriptions of a Lab Report Repositoryfor the Zhejiang Normal University It explains the purpose and features of the platform itself the web interfacesthrough which instructors set dates for reports submission and students being able to submit reports according to datesset

112 Project Scope

Having a unique platform for the Lab Report Repository can be useful The platform can help achieve specific tasks onreports repository The project scope will be to develop application that ZJNU students reports can easily be submittedand managed The scope will also cover the marking ability of the reports submitted as well as giving feedbacks tostudents about reports submission

3

Lab Report Repo Documentation Release 10

113 Intended Audience

This document is intended to be useful for the Development Team Project MentorLeader and any member of theAdvanced Software Engineering class of 2018

bull The Project MentorLeader The project mentor will lead the development team and provide initial require-ments for the project Any functional and non functional system features will be shared to the project mentorthrough this document Project mentor might agreedisagree with features that will seem to not fit the systemrequirements specifications

bull Development Team The development team will use this document as the guideline towards the developmentAny of the CRUD functions for the project will follow this document For any changes to be made duringdevelopment the development team will look up to this document and make changes before any implementation

bull ASE 2018 Class The ASE class members can share ideas with the project mentor andor the development teamabout the project The ASE class might also use this document as a reference towards working on the project asthe class

114 Project MentorLeader

The project mentorleader for the project is Mr Lan Hui ASE Instructor at ZJNU

115 Project Development Team

The project development team is made up of

Name Email WeChatMajaga Haroun Tungaraza harountungarazagmailcom harounrazaPaschal Costantine Kulwa paschalkulwagmailcom Robacotz

12 Overall Description

The overall description provides an overall background of the Lab Report Repository as to the requirements Thesection explains the overview of the system the system perspective and functions user classes and their characteris-tics The section will also explain about user and operating environments of the system design and implementationconstraints

121 Product Perspective

The system will be a web application where reports will be stored in an online repository Reports stored will bein different categories depending on classes and major courses The system will store reports in public and privatemanner viewing private reports will be for users with credentials and permissions to accessing private reports Theproduct will use a 3-tier architecture

122 Product Functions

The product will be an authentication and authorisation system Authorised users will have roles and permissions tobe able to access system features The product will allow

bull user registration

4 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 6: Lab Report Repo Documentation

CHAPTER 1

Software Documentation

The Software Documentation is meant for technical instructions to developers developing a Lab Report Repositoryapplication The software documentation describes the architecture the functionalities software features and handlingof a Lab Report Repository application Software developers engineers will need such a documentation as an integralpart of the requirements for operations maintenance and repair of a software All these requirements needed tocomplete developing a software can also be referred as Software Requirements Specification (SRS)

The SRS for a Lab Report Repository will include the following sections

11 Introduction

The Software Requirements Specification describes all the functional and non functional requirements for a Lab ReportRepository project The requirements will help fulfil the development of the application The introduction section willmainly discuss the purpose scope and the intended audience of the project

111 Purpose

The purpose of this document is to state the requirements and present detail descriptions of a Lab Report Repositoryfor the Zhejiang Normal University It explains the purpose and features of the platform itself the web interfacesthrough which instructors set dates for reports submission and students being able to submit reports according to datesset

112 Project Scope

Having a unique platform for the Lab Report Repository can be useful The platform can help achieve specific tasks onreports repository The project scope will be to develop application that ZJNU students reports can easily be submittedand managed The scope will also cover the marking ability of the reports submitted as well as giving feedbacks tostudents about reports submission

3

Lab Report Repo Documentation Release 10

113 Intended Audience

This document is intended to be useful for the Development Team Project MentorLeader and any member of theAdvanced Software Engineering class of 2018

bull The Project MentorLeader The project mentor will lead the development team and provide initial require-ments for the project Any functional and non functional system features will be shared to the project mentorthrough this document Project mentor might agreedisagree with features that will seem to not fit the systemrequirements specifications

bull Development Team The development team will use this document as the guideline towards the developmentAny of the CRUD functions for the project will follow this document For any changes to be made duringdevelopment the development team will look up to this document and make changes before any implementation

bull ASE 2018 Class The ASE class members can share ideas with the project mentor andor the development teamabout the project The ASE class might also use this document as a reference towards working on the project asthe class

114 Project MentorLeader

The project mentorleader for the project is Mr Lan Hui ASE Instructor at ZJNU

115 Project Development Team

The project development team is made up of

Name Email WeChatMajaga Haroun Tungaraza harountungarazagmailcom harounrazaPaschal Costantine Kulwa paschalkulwagmailcom Robacotz

12 Overall Description

The overall description provides an overall background of the Lab Report Repository as to the requirements Thesection explains the overview of the system the system perspective and functions user classes and their characteris-tics The section will also explain about user and operating environments of the system design and implementationconstraints

121 Product Perspective

The system will be a web application where reports will be stored in an online repository Reports stored will bein different categories depending on classes and major courses The system will store reports in public and privatemanner viewing private reports will be for users with credentials and permissions to accessing private reports Theproduct will use a 3-tier architecture

122 Product Functions

The product will be an authentication and authorisation system Authorised users will have roles and permissions tobe able to access system features The product will allow

bull user registration

4 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 7: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

113 Intended Audience

This document is intended to be useful for the Development Team Project MentorLeader and any member of theAdvanced Software Engineering class of 2018

bull The Project MentorLeader The project mentor will lead the development team and provide initial require-ments for the project Any functional and non functional system features will be shared to the project mentorthrough this document Project mentor might agreedisagree with features that will seem to not fit the systemrequirements specifications

bull Development Team The development team will use this document as the guideline towards the developmentAny of the CRUD functions for the project will follow this document For any changes to be made duringdevelopment the development team will look up to this document and make changes before any implementation

bull ASE 2018 Class The ASE class members can share ideas with the project mentor andor the development teamabout the project The ASE class might also use this document as a reference towards working on the project asthe class

114 Project MentorLeader

The project mentorleader for the project is Mr Lan Hui ASE Instructor at ZJNU

115 Project Development Team

The project development team is made up of

Name Email WeChatMajaga Haroun Tungaraza harountungarazagmailcom harounrazaPaschal Costantine Kulwa paschalkulwagmailcom Robacotz

12 Overall Description

The overall description provides an overall background of the Lab Report Repository as to the requirements Thesection explains the overview of the system the system perspective and functions user classes and their characteris-tics The section will also explain about user and operating environments of the system design and implementationconstraints

121 Product Perspective

The system will be a web application where reports will be stored in an online repository Reports stored will bein different categories depending on classes and major courses The system will store reports in public and privatemanner viewing private reports will be for users with credentials and permissions to accessing private reports Theproduct will use a 3-tier architecture

122 Product Functions

The product will be an authentication and authorisation system Authorised users will have roles and permissions tobe able to access system features The product will allow

bull user registration

4 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 8: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull submission of reports

bull feedbacks on reports submissions

bull marking reports

bull unauthorised users to view public reports

Users will be able to search for different types of reports and the results will be based on the major course criteria theusers have keyed in

123 User Classes and Characteristics

The system will have five (5) types of users which are administrator instructors tutorialassistants students and visitors Each user will have different use for the system depending on theirsystem roles and permissions

bull administrator will create user accounts suspend or delete user accounts

bull instructors will set deadlines for reports submissions and marking reports if needed

bull tutorial assistants will set deadlines for reports submissions and marking reports if needed

bull students will submit reports requesting marking and access their private repositories

bull visitors will be able to view public reports

Note Administrator is expected to be familiar with the system so that can be able to create user accountsinstructors and tutorial assistants are expected to have similar roles but different permissions

124 Operating Environment

The main operating environment for lab report repository system will be Linux based environment Both applicationand database will be on Linux environment The Linux being operating environment is just for the host of the appli-cation and database besides the system will be well-running on operating environments including Windows Mac OSand Linux

The Lab Report Repository will be written in Python as a programming language and SQLite as a backend Thesystem will use Bootstrap technology with HTML and CSS designs JS extensions as the front-end operations alsoin some cases JavaScript will be used as a sever-side language

125 User Environment

The system being a web application the user environment for the system will be a web browser Users will have touse the most current version of browsers of any kind such as Internet Explorer Mozilla Firefox Safari Opera andGoogle Chrome which will be the recommended web browser for the Lab Report Repository system

126 Design and Implementation Constraints

Due to the nature of the project being in a group keeping track of source codes between developers will be a challengeso the design of the system will involve using version control system mostly likely Github where developers will bepushingpulling codes and committing tofrom Github remote server The source codes will be updated regularly ondevelopersrsquo Github project repository The Github project repository will be synced to Gitee all changes on Githubwill also affect Gitee project repository

12 Overall Description 5

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 9: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

Note Both Github project repository and Gitee project repository will be private 403 forbidden error page willappear if you are not authorised to view the project repositories The development team might add users to be able toaccess project repositories on both Github and Gitee

During development the project will be using CircleCI as the Continuous Integration to build test and deployapplication and Heroku will be used as a platform as a service that will enable the application to run in the cloud

127 Assumptions and Constraints

bull Assumptions The main assumptions of the system are hardware and software platforms The system needhardware for storage and operating purposes As the web application platform the system will needsoftware as well for both operating and user environments

bull Constraints The main constraint of the system will be the internet Developers will often be using internetwhile developing the Lab Report Repository the use of the internet including keeping track of codestesting codes and fixing bugs before running the application on cloud computing services On systemdeployment the internet will still be useful since system users will then be fetching different data from theonline database so there must be a reliable internet connection

13 Interface Requirements

The interface requirements section will explain interaction of the system with users hardware software and commu-nication tools

131 User Interfaces

The user interfaces for the Lab Report Repository will be using standard web interfaces The web interfaces will bebuilt using Bootstrap technology with HTML CSS designs and JS extensions The interfaces will have different menulinks depending on user roles

132 Hardware Interfaces

The hardware interfaces used will be

bull Network network infrastructure both wired and wireless

bull Client Computers computers with Windows Mac or Unix operating system for accessing an application onthe web

bull Sever computer server to host a web application and database and store database backups

133 Software Interfaces

The software interfaces used will be

bull Client Operating Systems can be Windows Mac or Unix operating systems

bull Linux Operating System for hosting application files including database and its backup The Linux environ-ment will be installed with supporting software to help application run

6 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 10: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull FTPSFPT Client-Server Application for transferring accessing and managing files between client andserver where the application will be hosted The project will be using a FileZilla application as an FTP client-server application for quick transferring accessing and managing files but in most scenarios a protocol pack-aged with Secure Shell SSH will be used for transferring accessing managing files over a secure connection

bull Client Application client computers will be installed with web browsers as a client application Web browsersare the main software for the Lab Report Repository to be up and running on client environment

134 Communication Protocol and Interfaces

The protocols used in order to communicate with the system will be

bull HTTP HyperText Transfer Protocol a data communication protocol for the web that defines how messagesare formatted and transmitted and what actions web servers and browsers should take in response to variousrequests

bull HTTPS HyperText Transfer Protocol Secure a secured data communication protocol for the web that encryptsevery data packet in transmission using Secure Socket Layer SSL or Transport Layer Security TLS encryptiontechnique to avoid intermediary hackers and attackers to extract the content of the data

bull TCPIP Transmission Control ProtocolInternet Protocol a communication protocol for interconnecting de-vices on the network

bull FTP File Transfer Protocol a network protocol for transferring computer files between a client and sever on anetwork

14 System Features

The section explains the major services and functional requirements of the system

141 User Login and Registration

Description and Priority This is the system feature where users will be registered by an administrator The admin-istrator will create accounts for each user and set initial passwords The system will allow users to submitcredential request to ask for usernames and passwords by submitting their emails

Functional Requirements

bull The administrator creates user accounts

bull Users submit credentials request with their emails

bull Users receive credentials through emails after request credentials submission

bull The administrator can activate deactivate or delete user accounts

bull User logins in to their accounts

142 Class Portal

Description and Priority This feature will create portal as an entry point for accessing class according to differentmajor courses Users with credentials to login to the system will be redirected to their specific class portal

Functional Requirements

bull The administrator creates a class portal

14 System Features 7

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 11: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull Instructors TAsrsquo enroll students to a class portal

bull Instructors TAsrsquo can remove students from the class portal

bull The administrator can delete users from the portal

143 Report Submission

Description and Priority This feature will allow students to submit reports to the system Reports submission will bemade privately for students with credentials to login to the system The reports will be visible to other studentsafter deadline but not publicly visible The reports will be published in public for other visitors to view oncemarked as a public report by instructors andor TAsrsquo

Functional Requirements

bull Instructors TAsrsquo set deadlines to report submission

bull Students submit reports to their specific class portals

bull Instructors TAsrsquo can set deadlines extension

144 Feedback Mechanism

Description and Priority This feature allows feedback mechanism Instructs TAsrsquo can give feedbacks to studentsand students respond to the feedbacks

Functional Requirements

bull Instructors TAsrsquo send feedbacks

bull Students respond to the feedbacks

145 Reports Grades

Description and Priority This feature allows students to send marking request to instructors TAsrsquo Students willrequest for marking only for submitted reports Instructors TAsrsquo will respond to marking request by eithersending directly to specific students or submit to a class portal

Functional Requirements

bull Instructors TAsrsquo set grades for reports

bull Students may send marking requests

bull Instructors TAsrsquo respond to marking requests

146 Reports Retrieval

Description and Priority This feature allows users to retrieve submitted reports Users with credentials to login tothe system will be able to retrieve reports if not made private to their class portals System visitors will be ableto retrieve public reports after marked public Some reports will have a public status but can not be retrieved

Functional Requirements

bull List reports to the class portals with a private and public status

bull Publish public reports to visitors

8 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 12: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

15 Non Functional Requirements

151 Usability

The system will be built in a way that it is easy to navigate so that users can easily upload and manage reports

152 Performance

The system will be interactive any action-response of the system there will be no immediate delays as far as reliableinternet is concerned

153 Reliability

The system will be a reliable source for students reports information The system will provide secure means ofsubmitting and managing reports on the online repository and easy operations

154 Availability

The system will be using internet access the availability will be hing in a way that if internet gets distracted whilesending information to the server the system will store information on cache and send information once the internetis settled

155 Security

The system will be built with high security features to avoid attacks including Cross-Site Security Forgery CSRFattack an attack that forces end users to execute unwanted actions on a web application in which they are currentlyauthenticated

16 Behavioural Requirements

Behavioural requirements of the system are described using use case view The Following use case diagrams sum-marise the functional and behavioural requirements of Lab Report Repository

bull Use Case Diagram for User Login and Registration

15 Non Functional Requirements 9

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 13: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Class Portal

10 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 14: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Report Submission

16 Behavioural Requirements 11

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 15: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Feedback Mechanism

12 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 16: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Grades

16 Behavioural Requirements 13

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 17: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

bull Use Case Diagram for Reports Retrieval

14 Chapter 1 Software Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 18: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

16 Behavioural Requirements 15

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 19: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

16 Chapter 1 Software Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 20: Lab Report Repo Documentation

CHAPTER 2

Getting Started

Here is where you can learn what are the requirements for running a lab report repository application on your localmachine steps and procedures on how to install and the usage

21 Requirements

The following requirementstechnologies will be used to run the project on your local machine

bull Linux Mac OS Windows

bull Python 37

bull Conda 45

bull pip 100+

bull SQLite 3

Note When you install a Python Distribution Anaconda it will come with python and install the latest version ofpython a package and environment manager conda a python dependency manager pip as well as SQL databaseengine sqlite

There are other technologies also used including Django as a back-end framework Bootstrap that contains HTMLand CSS design templates as a front-end framework and JavaScript as a sever-side scripting language

22 Installation

Open up a terminal and do the following steps

bull Clone the project repo to your local machine

17

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 21: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

$ git clone httpsgithubcomharounrazLabReportRepo

bull Create and activate a virtual environment labReportEnv

$ conda create --name labReportEnv python=37 for Linux or Mac OS users run this to activate your environment$ source activate labReportEnv for Windows users run this to activate your environment$ activate labReportEnv

bull Install the project dependencies from requirementstxt

$ pip install -r requirementstxt

bull Run migrations for the application

$ python managepy migrate$ python managepy makemigrations labReport$ python managepy migrate

bull Run the development sever

$ python managepy runserver

These results will appear on your screen

Performing system checks

System check identified no issues (0 silenced)October 22 2018 - 173816Django version 212 using settings labReportReposettingsStarting development server at http1270018000Quit the server with CONTROL-C

Open up a browser of your choice and run http1270018000

Congratulations A lab report repository application is now running on your local machine

23 Usage

18 Chapter 2 Getting Started

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 22: Lab Report Repo Documentation

CHAPTER 3

User Documentation

The User Documentation is the written instructions for all the users using a Lab Report Repo application The userdocumentation has nothing to do with any technical skills rather than how to use the application

Note

bull The User Documentation will be updated time to time as the development continues

bull The Documentation will include screenshoots for user to navigate

bull All screenshoots will be uploaded as the development is done

bull As of now the application is running on Heroku via this link Lab Report repository

19

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 23: Lab Report Repo Documentation

Lab Report Repo Documentation Release 10

31 Login Page

20 Chapter 3 User Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References
Page 24: Lab Report Repo Documentation

CHAPTER 4

References

The SRS User Documentation and Development of Lab Report Repository project will be referenced from the fol-lowings

bull httpstechwhirlcomwriting-software-requirements-specifications

bull httpsresearchgatenetpublication235083218_Software_Requirements_for_the_A-7E_Aircraft

bull httpsdocsdjangoprojectcomen21

bull httpstangowithdjangocom

bull httpsanacondacom

bull httpsstackoverflowcom

bull httpscirclecicom

bull httpsherokucom

bull httpsgithubcom

The references will be updated continuously as the development continues

21

  • Software Documentation
    • Introduction
    • Overall Description
    • Interface Requirements
    • System Features
    • Non Functional Requirements
    • Behavioural Requirements
      • Getting Started
        • Requirements
        • Installation
        • Usage
          • User Documentation
            • Login Page
              • References