lab report repo documentation
Post on 09-Dec-2021
6 Views
Preview:
TRANSCRIPT
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
top related