Introduction - Homework For You
165735688340ITECH 7403Assessment Markting WebsiteProject ReportTriple SEStudent details: Ruipeng Liao (Watson) 30130169Cheng Li (Lily) 30116605Kamal Vignesh K S 30326207 AbstractWith the development of technologies, there are many applications been developed on multiple platforms like IOS, Android for phones, Windows, MacOS for computers. Websites are getting popular as it can be run on any platforms. It provides convenience and it is accessible for the majority.Assessment marking website is a scalable web-based application for lecturers and tutors, aiming to improve the efficiency of assessment marking process especially when there is many students and the courses are running in multi-campus. This website can be implemented depends on the use development.In the report, we have introduced the background and the goals of this project andstatemented the client requirements and stakeholders. We have done some literature reviews for software development and testing methodology and research for the related software development tools. We have chosen our combinations of the methodologies and tools according to our project.What’s more, we have design our project plan and set milestones shown in Gantt Chart. We also statemented the project progress and future work at the end of the report.Keywords: software development; websites; software methodologies; software testingTable of Contents TOC \o "1-2" \h \z \u 1.Introduction PAGEREF _Toc516080946 \h 11.1What is assessment PAGEREF _Toc516080947 \h 11.2Objectives PAGEREF _Toc516080948 \h 11.3Assumptions PAGEREF _Toc516080949 \h 12.Client Requirement PAGEREF _Toc516080950 \h 13.Key Stakeholders PAGEREF _Toc516080951 \h 24.Project goals PAGEREF _Toc516080952 \h 34.1Specific PAGEREF _Toc516080953 \h 34.2Measurable PAGEREF _Toc516080954 \h 34.3Achievable PAGEREF _Toc516080955 \h 44.4Relevant PAGEREF _Toc516080956 \h 44.5Time-bound PAGEREF _Toc516080957 \h 45.Feasibility study PAGEREF _Toc516080958 \h 45.1Technical Feasibility PAGEREF _Toc516080959 \h 45.2Operational Feasibility PAGEREF _Toc516080960 \h 56.Research and Literature review PAGEREF _Toc516080961 \h 66.1Software development methodologies PAGEREF _Toc516080962 \h 66.2Software Testing Methodologies PAGEREF _Toc516080963 \h 106.3Software development tools PAGEREF _Toc516080964 \h 147.Appropriate methodology, tools and standards for the project with justifications PAGEREF _Toc516080965 \h 207.1Software development methodology PAGEREF _Toc516080966 \h 207.2Software Testing PAGEREF _Toc516080967 \h 227.3Software development tools PAGEREF _Toc516080968 \h munication change and risk management plan PAGEREF _Toc516080969 \h 238.1Communication PAGEREF _Toc516080970 \h 238.2Change management PAGEREF _Toc516080971 \h 238.3Change management application PAGEREF _Toc516080972 \h 258.4Risk management plan PAGEREF _Toc516080973 \h 278.5Risk Matrix PAGEREF _Toc516080974 \h 289.Quality assurance and project evaluation plan PAGEREF _Toc516080975 \h 309.1Project success metrics PAGEREF _Toc516080976 \h 309.2Test strategies PAGEREF _Toc516080977 \h 329.3Test Types PAGEREF _Toc516080978 \h 339.4Test plan PAGEREF _Toc516080979 \h 3410.Software Development Milestones PAGEREF _Toc516080980 \h 3611.Project Progress so far PAGEREF _Toc516080981 \h 3911.1Front-end PAGEREF _Toc516080982 \h 3911.2Back end PAGEREF _Toc516080983 \h 4412.Retrospective review PAGEREF _Toc516080984 \h 4512.1What went well? PAGEREF _Toc516080985 \h 4512.2What could be improved? PAGEREF _Toc516080986 \h 4512.3What is out of our control? PAGEREF _Toc516080987 \h 4612.4What can we do? PAGEREF _Toc516080988 \h 4613.Limitation PAGEREF _Toc516080989 \h 4613.1Kamal Vignesh K S PAGEREF _Toc516080990 \h 4614.Future Work PAGEREF _Toc516080991 \h 4614.1Cheng Li (Lily) PAGEREF _Toc516080992 \h 4614.2Kamal Vignesh K S PAGEREF _Toc516080993 \h 4714.3Ruipeng Liao (Watson) PAGEREF _Toc516080994 \h 4715.Contribution PAGEREF _Toc516080995 \h 4715.1Cheng Li (Lily) PAGEREF _Toc516080996 \h 4715.2Kamal Vignesh K S PAGEREF _Toc516080997 \h 4815.3Ruipeng Liao (Watson) PAGEREF _Toc516080998 \h 4915.4Team member signatures PAGEREF _Toc516080999 \h 5016.Approval signature PAGEREF _Toc516081000 \h 5117.References PAGEREF _Toc516081001 \h 52IntroductionSunil Aryal is a lecturer in Federation University Australia, who is working on multiple projects. While giving lectures and marking the students, he found difficulties in sharing the same marking guide with his tutors and checking the marks given by tutors. Therefore, he wants to have a solution with a webpage, which is a platform to share the marking guides for each assessment and monitor the marking standard among tutors.Marking website is an important software tool that every educational institute will need in their university which enables them to mark for each and every student in a university. In our project we are creating a marking website where the lecturer uploads the marking guide and tutor marks the assessment according to the criteria mentioned by the lecturer. We are using different kind of software tools in order to build, which includes Angular, PHP and the MYSQL.What is assessmentAssessments are variety of methods or tools that are widely used by educators to evaluate, measure and document the academic readiness and learning progress of students. The forms of assessments are literature reviews, presentations or reports etc.ObjectivesMarking assessments is challenging for teaching staff, particularly in large classes and multi-campus offerings. This project aims to develop a web-based assessment marking application. With this marking website, lecturers are able to create a standard marking guide for each assessment and share among related tutors. Therefore, the assessment marking process can be smooth and efficient between lecturers and tutors. Lectures can also monitor the marking process of each tutor to ensure the fairness of students. AssumptionsThis is a website development project that is based on computers and networks. Therefore, we assume that the program users have computers that connect to the network and have basic knowledge about how to use computers to browse.Client RequirementAccording to the client Sunil Aryal, he expects the program is accessible on web browser like Chrome.Users has different roles: tutors and lecturers.Tutors are can access to the courses that assigned by lecturers. There are many assessments in each course, with different marking guides. Tutors mark the student assessments with the marking guide. The saved marks will be sent to the related lecturers.Lecturers have managementfunctions includes create, read, update and delete (CRUD). The management functions apply on courses, assessments, marking guide,tutors and students.Assuming the student lists are ready in a file with CSV format. Lectures should be able to update the CSV file to import the list of students in the selected course. Lecturers need to create the criteria in the marking guide for each assessment and share with tutors. When assessments are marked by tutors, the lecture review and send the final marks to student via email. Table 1 shows the user story from client.#Description1As a lecturer, I want to log in to the system2As a lecturer, I want to log out to the system3As a lecturer, I want to manage courses.4As a lecturer, I want to manage assessments.5As a lecturer, I want to manage marking guides.6As a lecturer, I want to import students.7As a lecturer, I want to have some settings.8As a lecturer, I want to manage tutors.9As a lecturer, I want to check assessment marks from tutors.10As a lecturer, I want to send assessment marks to students.11As a lecturer, I want to assign courses to tutors.12As a lecturer, I want to mark assessment for students.13As a tutor, I want to mark assessment for students.14As a tutor, I want to log in to the system15As a tutor, I want to log out to the systemTable 1: User StoryKey StakeholdersAccording to the client Sunil Aryal, this program is planning to apply for one lecture, who is Sunil himself, and 10 to 15 tutors working in multiple campuses. The project team is formed between three software engineering students (Lily, Watson and Kamal), supervised by a Cameron Foale, who is a lecturerin Federation University Australia. This project has no financial sponsors. Only the client provides necessary information like client requirement and CSV file format.See key stakeholders as followed.The tutors will be the future users of the program. All these stakeholders have high influence for the project.RoleNameClient Sunil AryalSponsorFederation University AustraliaSupervisorCameron FoaleProject managerRuipeng Liao(Watson)Project team membersCheng Li (Lily), Kamal Vignesh K S Others (Users)Lecturers and tutors who will use this programTable 2: Key StakeholdersProject goalsWe use SMART method to set our project goals. SMART stands for Specific, Measurable, Attainable, Relevant and Time-bound. This method helps us to set realistic goals and we can achieve step by step.Our initial goal is to develop a website for lecturers and tutors to share the marking guide and to improve the assessment marking process efficiency.SpecificIn this project, we want to create a platform to store assessment marking standard for each assessment from paper based or word file based to cloud based. The target users are lecturers and tutors who need to mark student assessments. The idea starts when the client found it is difficult to share the marking standard with his tutors and monitor the marking process of tutors. To ensure the fairness of students, having a platform that automatically store the assessments grades and list in the table would be a good approach to achieve the goal.MeasurableWe are planning to separate the development process into three parts: front-end, server database. Each team members takes care of each part. We set the milestones for four parts. The first milestone is in the middle of the first semester. The goal is to finish the basic page design and have some basic function buttons and links. At the end of the first semester, the web-pages are able to link the back-end.In the second semester, the goal is to improve the functions and authentication to separate lecturers and tutors content. Unit testing and integration testing apply during the development process. Then do the system testing and acceptance testing.AchievableTo achieve the goals, we apply Angular to the front-end web design. Angular is a JavaScript framework that contains CSS, HTML, Typescript, Bootstrap and JavaScript. We should be able to handle these programming languages and apply based on the needs. Also, we need to learn JSON for the back-end design, which is a NoSql technique for modern programming.As we did not have previous experience of Angular and JSON, we need to spend more time and effort to learn these programming skills at the beginning of the project. The process will get smooth with time.RelevantThere are many programming courses in Udemy that introduce the basic of Angular and many videos on YouTube that teaches the use of JSON. Having these lectures in the spare time would be helpful of the project.Time-boundWe should be hand out the project at the end of the second of semester in 2018. Before the acceptance testing process, the program should be able to run as the customer requirements without any errors.Feasibility studyFeasibility study evaluates the project’s potential for success. There are five types of feasibility study: Technical Feasibility, Economic Feasibility, Legal Feasibility, Operational Feasibility and Scheduling Feasibility. Here only Technical Feasibility and Operational Feasibility will be mentioned.Technical FeasibilityTechnical Feasibility focuses on if the technical resources available to the us. It involves hardware and software and other technology requirements of the project.The necessary recourses for the project arehardware,software and human recourses. Hardware: Each of the team member has a computer with accessible network and has installed the required packages and IDEs in order to development the website. Software: The popular client site programming languages are Angular and PHP. Both two languages have sufficient libraries to develop the program. Angular will be run on WebStorm IDE and PHP will assist.As technology improves fast, when supervisor is not able to supervise some of the problems, it is usually available to search for the answer online. Udemy online courses is one of the options to find the answers. There are many IT people updates the latest techniques and the courses are easy to understand. Most of the courses are paid. Free information can be found on Google but there is many information that might be incorrect. We need to identify by ourselves.Human recourses: Supervisor: Supervisor is being helpful and provided many technical information like the latest techniques might be useful in the project.Client: Client provides project requirements that makes our project better quality and he is always pleased to help us if we have any confusion.Team members: There is project manager and two team members. Project members are university students who has other two subjects running during the semesters. Project members should be able to put enough time and effort in the project and develop in time. Operational FeasibilityOperational Feasibility studies how well the organisation needs can be met by completing he project.Operational feasibility studies also analyse how a project plan satisfies the requirements identified in the requirements analysis phase of system development ADDIN EN.CITE <EndNote><Cite><Author>Mukund</Author><Year>2017</Year><RecNum>16</RecNum><DisplayText>(Mukund, 2017)</DisplayText><record><rec-number>16</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="1527652358">16</key></foreign-keys><ref-type name="Web Page">12</ref-type><contributors><authors><author>Mukund</author></authors></contributors><titles><title>Why a Feasibility Study is Important in Project Management</title></titles><dates><year>2017</year></dates><urls><related-urls><url>;(Mukund, 2017).The project team communicate with each other in person regularly. Messenger is available while face to face meeting is not available. The project team sees supervisor in person on weekly basic and book for the next appointment before the meeting ends. The project team can meet the client regularly as the client is the lecturer in the first semester.The project team has total control of the source code as the code was developed from scratch. According to the current development stage, the website with Angular programming language is feasible and it will be remained to the end of the project.The website should be user friendly. The current version of the front-end is designed to be simple and focus on the functional performance. It will contain more helpful information for user in the following development.There are two plans for the database. The first one is to build the database by one of the team members and connect to the front-end once the database is ready. The second one is to connect to Firebase. Currently, our client wants to apply the project within a small group. If the end users increase in the future, the clients might need to pay for Firebase to have the service from Firebase or change the database.Research and Literature reviewSoftware development methodologiesIn order to develop and maintain the software in a proper way within the project team, it is essential to apply a software methodology during the software development period. There are many types of the methodology options, including Waterfall, Spiral model, Prototype model and Agile methodology. Scrum and Extreme Programmingare the frameworks of Agile methodology.There are two literatures being reviewed in this section: “Traditional SDLC Vs Scrum Methodology – A Comparative Study” (2013) and “Extreme Programming Strengths and Weakness” (2013). The first literature discusses the differences between and Waterfall model and Scrum, while the second literature focus on the strengths and weakness of Extreme Programming.Waterfall modelWaterfall model was the one of the traditionalSDLC model, having the steps of requirement specification, analysis and design, coding and implementation, testing and maintenance.The details of each step are:Requirement specification: The initial phase of the cycle. It is the potential requirements of the application are methodically analysed and written down in a specification document that serves as the basis for all future development. Analysis and design:system is analysedin order to properly generate the models and business logic that will be used in the application. Decide the techniques like programming language and data layers. Coding and implementation: The actual source code development, implementing all models, business logic, and service integrations that were specified in the prior stages.Testing: Test the source code from the unit level to system level. Customers do the acceptance testing.Maintenance: Technique support after the program is deployed. According to ADDIN EN.CITE <EndNote><Cite AuthorYear="1"><Author>Mahalakshmi</Author><Year>2013</Year><RecNum>1</RecNum><DisplayText>Mahalakshmi and Sundararajan (2013)</DisplayText><record><rec-number>1</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">1</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>M. Mahalakshmi</author><author>DR. M. Sundararajan</author></authors></contributors><titles><title>Traditional SDLC Vs Scrum Methodology - A Comparative Study</title><secondary-title>International Journal of Emerging Technology and Advanced Engineering</secondary-title></titles><volume>3</volume><number>6</number><dates><year>2013</year></dates><isbn>2250-2459</isbn><urls></urls></record></Cite></EndNote>Mahalakshmi and Sundararajan (2013), the advantages of Waterfall model are: It is sequential model, so it’s easy to implement.The amount of resources required to implement this model are minimal.Proper documentation is followed for the quality of the development. On the other hand, Waterfall model has disadvantages as follow:The problems with one phase are never solved completely during that phase and it leads to many problemsIf client want the requirement to be changed, it will not have implementedFreezes scope – Customer requirements contractEstimates schedule – Delivery time is intended Once the client claims the software requirements, it is not allowed to change the requirements. Therefore, the cost of the project will be huge for financial and timing wise if the result is different to what the client expects.Graph 2: Scrum modelGraph 1: Waterfall modelScrumOn the other hand, Scrum, is one of the agile methodology frameworks, is a team pack, where everyone in the team acts together. It delivers the project within time and with minimal cost ADDIN EN.CITE <EndNote><Cite><Author>Mahalakshmi</Author><Year>2013</Year><RecNum>1</RecNum><DisplayText>(Mahalakshmi & Sundararajan, 2013)</DisplayText><record><rec-number>1</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">1</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>M. Mahalakshmi</author><author>DR. M. Sundararajan</author></authors></contributors><titles><title>Traditional SDLC Vs Scrum Methodology - A Comparative Study</title><secondary-title>International Journal of Emerging Technology and Advanced Engineering</secondary-title></titles><volume>3</volume><number>6</number><dates><year>2013</year></dates><isbn>2250-2459</isbn><urls></urls></record></Cite></EndNote>(Mahalakshmi & Sundararajan, 2013).There are three roles in Scrum, which are product owner, Scrum master, Scrum team. Project owner is the person who prioritizes product requirements and accept or reject the project result. Scrum master has a leadership role over team members and should manage the project team documents and progress. Scrum team is the development team that usually has 5-10 members. Team members can be programmers, testers, user experience designers, etc ADDIN EN.CITE <EndNote><Cite><Author>Mahalakshmi</Author><Year>2013</Year><RecNum>1</RecNum><DisplayText>(Mahalakshmi & Sundararajan, 2013)</DisplayText><record><rec-number>1</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">1</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>M. Mahalakshmi</author><author>DR. M. Sundararajan</author></authors></contributors><titles><title>Traditional SDLC Vs Scrum Methodology - A Comparative Study</title><secondary-title>International Journal of Emerging Technology and Advanced Engineering</secondary-title></titles><volume>3</volume><number>6</number><dates><year>2013</year></dates><isbn>2250-2459</isbn><urls></urls></record></Cite></EndNote>(Mahalakshmi & Sundararajan, 2013).Scrum has sprints in about every two weeks. During these period, each Scrum role has its own responsibility and tasks to finish. They have meeting every day to check one each one’s progress. Change is not allowed during the sprint.After one sprint, the team has a review meeting to review the last sprint and set up the goal for next sprint.During the development period, product backlog, sprint backlog and burndown chart are necessary.Product backlog is a list of the requirements of the product. The client decides the priorities of the user stories and the order can be changed during the development period. Sprint backlog is the list of work for the development team. The team decides which one is the next requirements to be developed. The burndown chart is to display the remaining sprint backlog. It shows the sprint progress.The benefits of applying Scrum methodology are:Scrum provides customer satisfaction by optimizing turnaround time and responsiveness to requests.Increase the qualityAccept and expect the changesProvide better estimates while spending less time creating themBe more in control of the project scheduleHowever, Scrum methodology requires strong team work. If one of the team members does not cooperate well, the project will face failure.Extreme ProgrammingExtreme Programming (XP) is another agilesoftware development methodology. It is alightweight methodology combining a set ofexisting software development practices ADDIN EN.CITE <EndNote><Cite><Author>dalalah</Author><Year>2013</Year><RecNum>2</RecNum><DisplayText>(Dalalah, 2013)</DisplayText><record><rec-number>2</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">2</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Ahmad Dalalah</author></authors></contributors><titles><title>Extreme Programming: Strengths and Weaknesses</title><secondary-title>The International Arab Conference on Information Technology</secondary-title></titles><dates><year>2013</year></dates><urls></urls></record></Cite></EndNote>(Dalalah, 2013).Extreme Programming has four main steps: Planning, Designing, Codingand Testing.There are twelvepractices: On-site Customers, planning game,small releases, simple design, systemmetaphor, re-factoring, coding standards, pairprogramming, 40-hours work week,continuous integration, collective codeownership, and testing.PlanningOn-site Customers: On-site customer means to include real life customers in the development process. The customers will be always available to answer questions, provide the requirements, set the priorities, and steer the project. This ensures the customers satisfaction and avoid frustration because by misunderstanding the requirements.Planning game: Release planning and iteration planning are the two key planning steps in XP. It tends to create a time estimate for the releases plan. Release Planning is a practice where the developers and the customers decide on which features will be included in which release and when it will be delivered. During Iteration Planning, the programmers’ break down the features provided by the customers into tasks and estimates their cost.Small releases: The development team is required to make small frequent releases of working software that customers can evaluate. The following releases include newly added features.DesigningSimple design: Extreme programming concentrates on keeping things simple. It saves time as tot talks lees time to finish.System metaphor: It is a common vision of the project in hand. It keeps the development team organised by providing a naming convention. A naming convention is important as it helps understanding the overall design of the system and reuse code. It saves time as it makes it easier to find the functionality you are looking for and to know where to put certain functionality.Re-factoring: Re-factoring is a process of continuous design improvement to keep the design as simple as possible and to avoid needless clutter and complexity. It tends to remove redundancy and duplications and increasing the code cohesion while decreasing its dependences.Coding Coding Standards: It keeps the code consistent and easy to read and re-factor.Pair Programming: It is one of the practices that distinguish the XP methodology. Two programmers work together to development certain functionality. This method improves the code quality and helpswith communicating knowledge and no onedeveloper becomes a bottleneck.40-Hour Work Week: Developers should work less than 40 hours per week. It gives the developers a comfortable working environment without pressure.Continuous Integration: Developers should integrate tested code atleast daily. This should be done serially asparallel integration might lead to seriousproblems.Collective Code Ownership: This ensures that no developers become a bottleneck for changes. IT allows programmers to reuse any functionality that might be required by multiple user stories.TestingUnit Testing: Unit Tests are automated tests written bythe developers during the coding phase to testfeatures as they are developed. Each unit testtypically tests only a singleclass, or a smallcluster of classes.Acceptance Testing: It is done by customers to ensure that the overall system contains all the required features.To draw a conclusion, ADDIN EN.CITE <EndNote><Cite AuthorYear="1"><Author>dalalah</Author><Year>2013</Year><RecNum>2</RecNum><DisplayText>Dalalah (2013)</DisplayText><record><rec-number>2</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">2</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Ahmad Dalalah</author></authors></contributors><titles><title>Extreme Programming: Strengths and Weaknesses</title><secondary-title>The International Arab Conference on Information Technology</secondary-title></titles><dates><year>2013</year></dates><urls></urls></record></Cite></EndNote>Dalalah (2013) believes that XP has some excellent practices that have proven useful. It would be better if XP is supported witha traditional methodology to provide therequired design diagrams anddocumentations.Software Testing MethodologiesIn the technology industry, testing is one of the major section in the software developing process. In recent years, 50% of the development cost are allocated to software testing ADDIN EN.CITE <EndNote><Cite><Author>Wagner</Author><Year>2005</Year><RecNum>4</RecNum><DisplayText>(Wagner & Seifert, 2005)</DisplayText><record><rec-number>4</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">4</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Stefan Wagner</author><author>Tilman Seifert</author></authors></contributors><titles><title>Software Quality Economics for Defect-Detection Techniques Using Failure Prediction</title><secondary-title>ACM SIGSOFT Software Engineering Notes</secondary-title></titles><pages>1-6</pages><volume>30</volume><number>4</number><dates><year>2005</year></dates><urls></urls></record></Cite></EndNote>(Wagner & Seifert, 2005). Having quality test documents during and after the development phase to support testing activities becomes essential.V-modelA variation in the representation of the Waterfall model is called the V-model. The V-model provides a way of visualizing how verification and validation actions are applied to earlier engineering work ADDIN EN.CITE <EndNote><Cite><Author>Pressman</Author><Year>2010</Year><RecNum>3</RecNum><DisplayText>(Pressman, 2010)</DisplayText><record><rec-number>3</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">3</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Roger S. Pressman</author></authors><secondary-authors><author>7</author></secondary-authors></contributors><titles><title>Software Engineering A Practitioner’s Approach</title></titles><dates><year>2010</year></dates><pub-location>New York</pub-location><publisher>McGraw-Hill Higher Education</publisher><urls></urls></record></Cite></EndNote>(Pressman, 2010).Graph 3: V ModelVerification refers to the set of tasks that ensure software correctly implements a specific function. Validation refers to a different setof tasks that ensure that the software that has been built is traceable to customerrequirements ADDIN EN.CITE <EndNote><Cite><Author>Pressman</Author><Year>2010</Year><RecNum>3</RecNum><DisplayText>(Pressman, 2010)</DisplayText><record><rec-number>3</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">3</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Roger S. Pressman</author></authors><secondary-authors><author>7</author></secondary-authors></contributors><titles><title>Software Engineering A Practitioner’s Approach</title></titles><dates><year>2010</year></dates><pub-location>New York</pub-location><publisher>McGraw-Hill Higher Education</publisher><urls></urls></record></Cite></EndNote>(Pressman, 2010).According to the book called “Software Engineering: A Practitioner’s Approach” ADDIN EN.CITE <EndNote><Cite ExcludeAuth="1"><Author>Pressman</Author><Year>2010</Year><RecNum>3</RecNum><DisplayText>(2010)</DisplayText><record><rec-number>3</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">3</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Roger S. Pressman</author></authors><secondary-authors><author>7</author></secondary-authors></contributors><titles><title>Software Engineering A Practitioner’s Approach</title></titles><dates><year>2010</year></dates><pub-location>New York</pub-location><publisher>McGraw-Hill Higher Education</publisher><urls></urls></record></Cite></EndNote>(2010), there are five types of testing in validation process: Unit Testing, Module Testing, Integration Testing, System Testing and Acceptance Testing. Each testing has its own test strategies. Unit testing is testing of the smallest separable portion of code in the application to discover logic problems or fault in the code in a method or class designed to accomplish a particular function. Usually, a component is dependent on the other components, therefore, driver and/or stub softwaremust often be developed for each unit test. A driver is a small program that accepts the test data and passes the data to the test component. A stub is a replaced module that is a subordinate of the component to be tested ADDIN EN.CITE <EndNote><Cite><Author>Pressman</Author><Year>2010</Year><RecNum>3</RecNum><DisplayText>(Pressman, 2010)</DisplayText><record><rec-number>3</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">3</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Roger S. Pressman</author></authors><secondary-authors><author>7</author></secondary-authors></contributors><titles><title>Software Engineering A Practitioner’s Approach</title></titles><dates><year>2010</year></dates><pub-location>New York</pub-location><publisher>McGraw-Hill Higher Education</publisher><urls></urls></record></Cite></EndNote>(Pressman, 2010).Module testing is testing of a set of programs designed to work together, such a set of classes related by inheritance, a GUI or a sub-system that uses different units. It is particularly important to check the assumptions and specifications of different components regarding behaviours and data work correctly when put together.Integration testing is testing of a set of unitsimplementing a part of the system designand checking the interactions of these units together. Top-down integration and bottom-up integration are the examples of the integration testing. Top-down testing means integrating the modules from the main modules to sub-modules. It verifies major control or decision points earlyin the test process. Bottom-top testing means it starts integrating from the atomic module. Because components are integrated from the bottom up,the functionality provided by components subordinate to a given level is alwaysavailable and the need for stubs is eliminated. Regression testing should be applied every time when there is a new module integrated into the system ADDIN EN.CITE <EndNote><Cite><Author>Pressman</Author><Year>2010</Year><RecNum>3</RecNum><DisplayText>(Pressman, 2010)</DisplayText><record><rec-number>3</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">3</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Roger S. Pressman</author></authors><secondary-authors><author>7</author></secondary-authors></contributors><titles><title>Software Engineering A Practitioner’s Approach</title></titles><dates><year>2010</year></dates><pub-location>New York</pub-location><publisher>McGraw-Hill Higher Education</publisher><urls></urls></record></Cite></EndNote>(Pressman, 2010).System testing is the validating of the functional and non-functional requirements of the system. System testing uses both positive and negative are used. It is carried out by specialist testers or independent testers.The strategies of system testing are: recovery testing, security testing, stress testing, performance testing and deployment testing.Acceptance testing is testing generally done by the user or customer and the object is to check everything is working as it should and the user can then have confidence in the system. It may involve checking various criteria as specified in the contract that formalized the software development. Acceptance testing is a variation on beta testing.IEEE 829-2008 StandardIEEE 829-2008 standard offers a general framework for needed test documents. The goals of it is to “establish a common framework for test processes, activities, and tasks in support of all software life cycle processes, including acquisition, supply, development, operation, and maintenance Processes” ADDIN EN.CITE <EndNote><Cite><Author>Society</Author><Year>2008</Year><RecNum>5</RecNum><DisplayText>(Society, 2008)</DisplayText><record><rec-number>5</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">5</key></foreign-keys><ref-type name="Generic">13</ref-type><contributors><authors><author>IEEE Computer Society</author></authors></contributors><titles><title>IEEE Standard for Software and System Test Documentation</title></titles><dates><year>2008</year></dates><urls></urls></record></Cite></EndNote>(Society, 2008). It introduces four of integrity levels from high to low: Catastrophic, Critical, Marginal, Negligible.Here are the descriptions of each level:Level 4 (Catastrophic) -Software must execute correctly or grave consequences (loss of life, loss of system, environmental damage, economic or social loss) will occur. No mitigation is possible. Level 3 (Critical) - Software must execute correctly or the intended use (mission) of system/software will not be realized causing serious consequences (permanent injury, major system degradation, environmental damage, economic or social impact). Partial-to-complete mitigation is possible. Level 2 (Marginal) – Software must execute correctly, or an intended function will not be realized causing minor consequences. Complete mitigation possible. Level 1 (Negligible) - Software must execute correctly or intended function will not be realized causing negligible consequences. Mitigation not required ADDIN EN.CITE <EndNote><Cite><Author>Chen</Author><RecNum>6</RecNum><DisplayText>(Chen)</DisplayText><record><rec-number>6</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">6</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Ning Chen</author></authors></contributors><titles><title>IEEE std 829-2008 and Agile Process– Can They Work Together?</title></titles><dates></dates><urls></urls></record></Cite></EndNote>(Chen).The necessary documents suggested in IEEE 829-2008 are:Master Test Plan (MTP) - There can be only one MTP for a project. The MTP identifies how many levels of test are required.Level Test Plan (LTP) - it covers scope, approach, resources and schedule of the testing activities and identifies the items being tested, the features to be tested, the testing tasks to be performed, the personnel responsible for each task, and the associated risks. Level Test Design (LTD) - it specifies features to be tested, approach refinements, test identification, feature pass/fail criteria and test deliverables. Level Tests Case (LTC) - it identifies inputs/outputs for each test. Level Test Procedure (LTPr) - it covers the description of the steps to be taken to execute the test cases. Level Test Log (LTL) - it provides a chronological record of relevant details about the execution of tests. Anomaly Report (AR) - it documents any event that occurs during the testing process that requires investigation. Level Interim Test Status (LITSR) - it summarizes the results of the designated testing activities and optionally to provide evaluations and recommendations based on these results. Level Test Report (LTR) - it summaries the results of the designated testing activities and to provide evaluations and recommendations based on these results.Master Test Report (MTR) - it summarizes the results of the levels of the designated testing activities and to provide evaluations based on these results ADDIN EN.CITE <EndNote><Cite><Author>Society</Author><Year>2008</Year><RecNum>5</RecNum><DisplayText>(Society, 2008)</DisplayText><record><rec-number>5</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">5</key></foreign-keys><ref-type name="Generic">13</ref-type><contributors><authors><author>IEEE Computer Society</author></authors></contributors><titles><title>IEEE Standard for Software and System Test Documentation</title></titles><dates><year>2008</year></dates><urls></urls></record></Cite></EndNote>(Society, 2008).SoftwaredevelopmenttoolsAngularThis is a web-based software system. As the research the team has done, Angular seems to be the suitable technique to apply at the front-end.What is Angular“Angular is a platform that makes it easy to build applications with the web. Angular combines declarative templates, dependency injection, end to end tooling, and integrated best practices to solve development challenges. Angular empowers developers to build applications that live on the web, mobile, or the desktop” ADDIN EN.CITE <EndNote><Cite><Year>2018</Year><RecNum>7</RecNum><DisplayText>("What is Angular?," 2018)</DisplayText><record><rec-number>7</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">7</key></foreign-keys><ref-type name="Web Page">12</ref-type><contributors></contributors><titles><title>What is Angular?</title></titles><dates><year>2018</year></dates><urls><related-urls><url>;("What is Angular?," 2018). The first Angular was called AngularJS. Now Angular has been updated to Angular 5, which is much powerful than AngularJS. In this project, the Angular 5 is applied.How to set up Angular environment Install Node.js and npmNode.js? is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.Npm stands for node package manager. It is a command line interface program to manage node.js librariesInstall the Angular CLI globally with command “npm install -g @angular/cli”. This command automictically downloads the latest version of Angular.Create a new project with command “ng new my-app”. The word after “new” is the project name. It can be customised.Serve the applicationCommand “cd my-app” means enter the file “my-app”.Command “ng serve --open” launches the server, watches files, and rebuilds the app as the changes to those files.It automatically opensthe browser on ADDIN EN.CITE <EndNote><Cite><Year>2018</Year><RecNum>8</RecNum><DisplayText>("QuickStart," 2018)</DisplayText><record><rec-number>8</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">8</key></foreign-keys><ref-type name="Web Page">12</ref-type><contributors></contributors><titles><title>QuickStart</title></titles><dates><year>2018</year></dates><urls><related-urls><url>;("QuickStart," 2018)FirebaseFirebase is a Backend-as-a-Service?—?BaaS managed by Google. Firebase is developers’ server, API and datastore, all written so generically that developers can modify it to suit most needs.Firebase as a development tool, there are eight technologies: Firebase Authentication, The Realtime Database, Cloud Storage for Firebase, Firebase Hosting, Firebase Test Lab, Firebase Crash Reporting, Cloud Functions for Firebase and The Grow Technologies ADDIN EN.CITE <EndNote><Cite><Author>Moroney</Author><Year>2017</Year><RecNum>9</RecNum><DisplayText>(Moroney, 2017)</DisplayText><record><rec-number>9</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">9</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Laurence Moroney</author></authors></contributors><titles><title>The Definitive Guide to Firebase: Build Android Apps on Google's Mobile Platform</title></titles><dates><year>2017</year></dates><pub-location>Seattle, Washington, USA</pub-location><publisher>Apress</publisher><isbn>978-1-4842-2943-9</isbn><urls></urls></record></Cite></EndNote>(Moroney, 2017). Realtime Database function in Firebase allows developers to store the data for free with limit usage. In the project, the front-end should not always rely on the local data as the connection is so different between remote database and local data. Therefore, Firebase is applied in the project to test the connection while the back-end is developing.How to set up Firebase environment The latest version of Firebase for Angular projects is AngularFire 2 Version 5.0. Using command “npm install angularfire2 firebase–save” to install the plugins from AngularFire 2 ADDIN EN.CITE <EndNote><Cite><Author>JavaSampleApproach</Author><Year>2018</Year><RecNum>10</RecNum><DisplayText>(JavaSampleApproach, 2018)</DisplayText><record><rec-number>10</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">10</key></foreign-keys><ref-type name="Web Page">12</ref-type><contributors><authors><author>JavaSampleApproach</author></authors></contributors><titles><title>How to integrate Firebase with Angular 5 – AngularFire2 V5</title></titles><dates><year>2018</year></dates><urls><related-urls><url>;(JavaSampleApproach, 2018).Firebase provides the database necessary configures to link with the developing projects. The configures from test database for the project shown as below.The configures should be copied and pasted in the environments variable in file “/src/environments/environment.ts” ADDIN EN.CITE <EndNote><Cite><Author>JavaSampleApproach</Author><Year>2018</Year><RecNum>10</RecNum><DisplayText>(JavaSampleApproach, 2018)</DisplayText><record><rec-number>10</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">10</key></foreign-keys><ref-type name="Web Page">12</ref-type><contributors><authors><author>JavaSampleApproach</author></authors></contributors><titles><title>How to integrate Firebase with Angular 5 – AngularFire2 V5</title></titles><dates><year>2018</year></dates><urls><related-urls><url>;(JavaSampleApproach, 2018).In “/src/app/app.module.ts”file, import the following two modules:AngularFireModule.initializeApp(environment.firebase)AngularFireDatabaseModule,Then Firebase is really to go.APIApplication Programming Interface (API), a simple, flexible and efficient interface to programmatically query and interact with the Materials Project database based on the REpresentational State Transfer (REST) pattern for the web ADDIN EN.CITE <EndNote><Cite><Author>Ong</Author><Year>2014</Year><RecNum>11</RecNum><DisplayText>(Ong et al., 2014)</DisplayText><record><rec-number>11</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">11</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Shyue Ping Ong</author><author>Shreyas Cholia</author><author>Anubhav Jain</author><author>Miriam Brafman</author><author>Dan Gunter</author><author>Gerbrand Ceder</author><author>Kristin A. Persson</author></authors></contributors><titles><title>The Materials Application Programming Interface (API): A simple, flexible and efficient API for materials data based on REpresentational State Transfer (REST) principles</title><secondary-title>Computational Materials Science</secondary-title></titles><dates><year>2014</year></dates><urls></urls></record></Cite></EndNote>(Ong et al., 2014). The standard for data description and transmission comes with two main and popular flavours – XML and JSON.What is XMLThe Extensible Markup Language, better known by its acronym XML, has been called the lingua franca of Internet communication. XML is a metalanguage facilitating the definition of special markup languages for special needs and application domains.XML has been adopted to represent other basic forms of data, from video and audio to chemical structures and biomedical data, and transmit data among diverse Internet applications ADDIN EN.CITE <EndNote><Cite><Author>Salminen</Author><Year>2012</Year><RecNum>15</RecNum><DisplayText>(Salminen & Tompa, 2012)</DisplayText><record><rec-number>15</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">15</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Airi Salminen</author><author>Frank Tompa</author></authors></contributors><titles><title>Communicating with XML</title></titles><dates><year>2012</year></dates><publisher>Springer Science & Business Media</publisher><urls></urls></record></Cite></EndNote>(Salminen & Tompa, 2012).What is JSONJavaScript Object Notation (JSON)based format for defining the structure of JSON data. JSON Schema provides a contract for what JSON data is required for a given application and how to interact with it. JSON Schema is intended to define validation, documentation, hyperlink navigation, and interaction control of JSON data ADDIN EN.CITE <EndNote><Cite><Year>2013</Year><RecNum>12</RecNum><DisplayText>("JSON Schema: core definitions and terminology," 2013)</DisplayText><record><rec-number>12</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">12</key></foreign-keys><ref-type name="Web Page">12</ref-type><contributors></contributors><titles><title>JSON Schema: core definitions and terminology</title></titles><dates><year>2013</year></dates><pub-location>Internet Engineering Task Force</pub-location><urls><related-urls><url>;("JSON Schema: core definitions and terminology," 2013). It is a language that offers all the advantages of XML but is lighter and simpler.Application for APIThe API connections are stored in “service.ts” files. The lecturers in the project needs to have Create, Read, Update and Delete (CRUD) functions for courses, assessment, tutors and students. In the testing version with Firebase back-end, CRUD functions were provided in Firebase 2 plugins. Read function relies on the address path on Firebase. Create, Update and Delete are applied when “push”, “update” and “remove” is called respectively ADDIN EN.CITE <EndNote><Cite><Author>JavaSampleApproach</Author><Year>2018</Year><RecNum>10</RecNum><DisplayText>(JavaSampleApproach, 2018)</DisplayText><record><rec-number>10</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">10</key></foreign-keys><ref-type name="Web Page">12</ref-type><contributors><authors><author>JavaSampleApproach</author></authors></contributors><titles><title>How to integrate Firebase with Angular 5 – AngularFire2 V5</title></titles><dates><year>2018</year></dates><urls><related-urls><url>;(JavaSampleApproach, 2018).Integrated development environmentIntegrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally has many functions like complier and debugger. IDEs provide convenience for programmers to development software application in an efficient way. There are many popular IDEs in the market, such as NetBeans, Eclipse and IntelliJ. These IDEs mainly cover most of the popular programming languages like JAVA, PHP, and JavaScript.WebStormWebStorm is an IDE created by a company called JetBrains. WebStorm mainly focuses on JavaScript. As Angular is a framework based on JavaScript. WebStorm is a good IDE for working on Angular. WebStorm works well on multiple languages (JavaScript and TypeScript) and frameworks (Angular and React). It analyses the project and provided the best code completion results for all methods, functions and modules in the application.WebStorm normally cost $129 USD for the first year. However, there is a student discount that offers this IDE for free for students and teachers. Students can apply for this offer with eligible student emails address.Version Control Systems“A source code control system [is] a giant UNDO key—a project-wide time machine” ADDIN EN.CITE <EndNote><Cite><Author>Hunt</Author><Year>2010</Year><RecNum>13</RecNum><DisplayText>(Hunt & Thomas, 2010)</DisplayText><record><rec-number>13</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">13</key></foreign-keys><ref-type name="Electronic Book">44</ref-type><contributors><authors><author>Andy Hunt </author><author>Dave Thomas</author></authors></contributors><titles><title>The pragmatic programmer</title></titles><dates><year>2010</year></dates><isbn> 0-201-61622-X</isbn><urls></urls></record></Cite></EndNote>(Hunt & Thomas, 2010).A version control system (VCS) is a tool for managing a collection of program code that provides programmers with three important capabilities: reversibility, concurrency, and annotation.There are many benefits with VCS in programming. First, it is common to work as a team. VCS prevents programmers to step on each other’s toes by writing over another people’s code. If there are two version of the same file, the system either unobtrusively merge the changes or warn the programmer that these are conflicting. In addition, every time when the programmer commits a change, there is a new version of the corresponding files created. Programmers are able to access the history of changes, checking the difference on each line and knowing who and when the change was made. Furthermore, the project can split into multiple branches for a group of programmers working on different tasks, and merge later ADDIN EN.CITE <EndNote><Cite><Author>Spinellis</Author><Year>2005</Year><RecNum>14</RecNum><DisplayText>(Spinellis, 2005)</DisplayText><record><rec-number>14</rec-number><foreign-keys><key app="EN" db-id="xprv0s2tmz2xxfevar6ppzefe0vvw0x0rf09" timestamp="0">14</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Diomidis Spinellis</author></authors></contributors><titles><title>Version Control Systems</title><secondary-title>I E E E C o m p u t e r S o c i e t y</secondary-title></titles><dates><year>2005</year></dates><urls></urls></record></Cite></EndNote>(Spinellis, 2005).CSV fileAccording to the client, he wants to upload students who enrolled in the related courses with CSV files.What is CSV fileCSV stands for "comma-separated values".CSV is a simple file format used to store tabular data, such as a spreadsheet or database. Files in the CSV format can be imported to and exported from programs that store data in tables, such as Microsoft Excel.How does it look like?Student IDFirst NameLast Name Email30010001JohnSnowjohnsnow@30010002Mary Smithmarysmith@30010003SallyBrownSallybrown@Table 3: Student List30010001,John,Snow,johnsnow@30010002,Mary,Smith,marysmith@30010003,Sally,Brown,Sallybrown@According to the client, the student list format will be like the table 3. It contains student Id, first name, last name and email. Once the table is convert to csv file, it will be like the data as follows:Web page load speed: vs PHPPHP is a server-side programming language which is mainly used to create the web pages, this web pages can be dynamic as well. The interface which is created by the PHP can be connected with the database. PHP can take the information from the webpage and store it inside the database. In the article” webpage load speed between and PHP “, the author Timur Mirzov tests which among this is faster.According to one of the study conducted in 2010 with 6.7 million domains, the study noted that among these domains 59 percent of it was used by the PHP whereas was used by 34 percent, another 4 percent was used by Perl. is also a server-side free language which was built by the Microsoft. It works on both framework as well as the windows servers (Mirzoev, 2014).In the article “critical comparison of PHP and for web development” by the author Athul Mishra tells that both of the programming language has similar programming paradigm whereas the architecture is completely different from one another (MISHRA, July 2014) (Placeholder1). The speed is an important factor in the webpage. If the user who is using or browsing feels that the webpage is taking too long to load, he might not visit the page again. Say for an example, if someone wants to buy something from the online E-Commerce platform and when he tried to load the page if he feels that its taking too much time then he might not buy any product from that particular website also he will not recommend anyone to buy from that E-Commerce website henceforth the company loses one or more customer which in turns will affect their business model and can eventually cause losses to the company. The result between the two programming languages was found by conducting a test on the local machine. IIS server was used for where as WAMP server was used for PHP. But as a test result there was no difference found on which language is faster. The result showed that neither PHP nor had a distinct advantage on the speed.The author conducted the test on speed but there was no none of them better than one another in that case he could have tried to note which programming tool had the advantage on the performance. Overall the author did well to be able to prove that there is no much difference in terms of speed between PHP and XML and JSON are like cardboardJSON stands for java script object notation. It is used in multiple platform including the android, web technologies and REST API. JSON is a format in which we can transfer the data from the server to the client as well as client to the server. JSON is much more helpful when we have tosend a complex object than a simple plain text. XML is an alternate method to the JSON. JSON is based on java script object literals. JSON is often used with AJAX. In the article the author compared XML and JSON with cardboard. The author asks if its worth to invest so much on a cardboard with the money and resources. But the benefit of having it is the efficiency and the savings also could be recycled when needed. Semi structured representation including JSON and XML which allows greater dynamic interpretations and flexibility ADDIN EN.CITE <EndNote><Cite><Author>Helland</Author><Year>2017</Year><RecNum>0</RecNum><IDText> XML and JSON are like cardboard</IDText><DisplayText>(Helland, 2017)</DisplayText><record><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Helland, P. (2017)</author></authors></contributors><titles><title> XML and JSON are like cardboard</title><secondary-title>Communications of the ACM, 60(12)</secondary-title></titles><dates><year>2017</year></dates><pages>46-47</pages></record></Cite></EndNote>(Helland, 2017). In this article Pat Helland describes that while moving across the platform JSON and XML helps in protecting the data. In another article named program design of JSON to structured data conversion the authors Zhongye Da, Wenjie Yang, YukeHuo, Peipei Ran, tells that JSON is easily sent and produced by machines also JSON is not only a platform independent machine it also confirms to the habit of C language family ADDIN EN.CITE <EndNote><Cite><Author>Da</Author><Year>2017</Year><RecNum>0</RecNum><IDText>. Program Design of JSON to Structured Data Conversion</IDText><DisplayText>(Da, 2017)</DisplayText><record><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Da, Z., Yang, W., Ran, P. and Huo</author></authors></contributors><titles><title>. Program Design of JSON to Structured Data Conversion</title><secondary-title> MATEC Web of Conferences</secondary-title></titles><dates><year>2017</year></dates><pages>0016</pages></record></Cite></EndNote>(Da, 2017).Theauthor pat compared self-describing nature of JSON to that of a cardboard. When boxing a TV in a cardboard we describe it by the name and other details. This nature is similar to JSON as well, where JSON describes itself by referencing the schema or by examining the attributes. The author also mentions about the safety and easiness of the data while transferring also during the process of storing it is much easier than the other similar products.Even though there are many advantages mentioned about the JSON by the author there are still few things which he did not take care of which includes the possible external threats. What could be the chances of happening an external threat, what are the external threat and what will happen if the external entity tries to read data, what are the chances of eliminating the threat?The author concluded with a great note saying the importance of using JSON. The author was able to give an idea of what the JSON is all about and how useful it is with the help of real world example.Appropriate methodology, tools and standards for the project with justificationsSoftware development methodologyAs this project team was formed among master students from university and the client is a lecture in the same university. It is easy for the team and client to communicate and add new requirements if it is needed. It is also accessible for the team to have regular meetings to update the progress and solve some programming problems together. Therefore, Agile methodology Scrum framework will be applied in the project development.Product backlogWe have designed a list of product backlog.Product backlog is created based on the user study. Then we decide the priority of each feature and put them in the sprints. Details in the table below:FeatureUser storyProduct backlogPriorityStatusFeature 13Manage CourseHighCompleteFeature 28Manage TutorHighCompleteFeature 34Manage AssessmentHighIn ProgressFeature 45Manage Marking guideHighIn ProgressFeature 5?User AuthenticationHighIn ProgressFeature 66Import studentsMediumNot StartedFeature 79Review markLowNot StartedFeature 810Send markLowNot StartedFeature 97Manage SettingsLowIn ProgressFeature 101,14Log inMediumCompleteFeature 112,15Log outMediumCompleteTable 2: Product BacklogIdeally, team members have meeting with supervisor on every Monday. In the supervisor meeting, we review what we have done in the week and the difficulty we are facing. If we have any problems or questions for the project, supervisor provides some ideas or solutions so that we can try to apply in the coming week. Also, we plan for the tasks for next sprint. On every Thursday, after the lecture, the team get together to have a quick catch up for the sprint to make sure everyone is doing good.Use CaseIn the system, there are two types of user: lecturer and tutor. And the bubbles are the use case for users. Lecturer can do way more than tutors. As figure 1 shows, tutors can only log in, mark student assessments and log out. And Lecturer can do both these three functions and the follow functions: Import Student, Manage Course, Manage Settings, Manage Assessment, Send Mark, Manage Tutor, Manage Marking Guide, Review Mark, Assign Course.Figure 1: Use caseSoftware TestingThe unit testing and module testing should be literately applied in each sprint in Scrum methodology. When the front-end and back-end implement together, integration testing should be applied. This is the most important part as each module might not fit and cause many errors. System testing will be applied once the program is at the closing stage. Normally this should be done by independent testers. As this project is a university project that do not have funding and do not allow third part’s assistant, all three team members will do the system testing to ensure the final product quality. Before the product is ready to hand to the client, the client should do the acceptance testing to make sure the program meets the requirements from the start of the project.Furthermore, our assessment marking website suits level 2 as this is related to academic and education industry. The system should have a serious of security and authentication protection. The possible failures of the system might be the student information leaks or students get the access into the system to change the marks without authorisation. Software development toolsThe front-end development will use WebStorm as the IDE to develop Angular code. As Firebase is easy to apply while the back-end is not really, it will be a test tool during the development munication change and risk management planCommunicationCommunication is very much essential in our daily life Project communication is the most important component in the project. The success and failure of a project depends on the communication within the project.StakeholderCommunication methodFrequencyNotesClientClassroom meeting Once in a semesterProvides the details needed to be implementedSupervisorSupervisor officeEvery weekProvides the details on how to implement TeamMessengerAt least once a weekInform a weekly activity, who is doing what.In our project the stakeholders are client, supervisor and the team. The communication in our project takes place among these stakeholders.Table 3: Communication Change managementChange management in general is a systematic process, it cannot be done at once. The client is the ideal person who asks for the change in the project. When the client asks for change there are certain things to take into consideration which includes, what change are they after, who is going to implement, can it fit in the given time etc. Even though these are the things to consider, there should be a process to follow for the change.There are many different models for the process of effective change management. The ADKAR model is the one of the most famous model exists for the change management. The ADKAR model, created by Prosci founder Jeff Hiatt, consists of five sequential steps: Awareness of the need for change;Desire to participate in and support the change;Knowledge about how to change;Ability to implement change and behaviours;Reinforcement to sustain the change.Purpose of changeOur project is a web-based project, so as it is a software application there are large area that could be explored. Adding more functions is one of them. The purpose of the Change Management process is to control the lifecycle of all changes,enabling beneficial changes to be made with minimum disruption to IT services.Roles and Responsibilities of those in change managementNameResponsibilityClientGive the details for changeSupervisorGiving ideas on how to do itCheng LiFront end developmentKamalBack end developmentWatsonStylingTable 4: Role and responsibilityChange management ProcessTo make sure that the consistency and availability, to have a change in the software product, the client must request for the change.The request for change will be then assessed by the team members.Once the team decides to go ahead with the change, a mutual agreement will be done, it can be in the form of a document.This change then can be monitored by the client.When to ask for change?Client reviews the prototype in each sprint and provides feedback to the team. Client is allow to add more features before next sprint starts.Process of implementationThere are certain things to take care which includes risk assessment, Types of changes, Impact assessment,etc.Risk assessment:Probability of success/failureProbability of defectsProbability of customer impactProbability of impact of failureTypes of changeThere are two types of change:Emergency change and normal change.Normal change: In our project as we have a deadline, at least 3 to 4 weeks of prior request should be given. Henceforth the change management process is an inevitable part for a change management.Change management applicationThe project aims to produces a satisfied product for the client and to do so, we need to ensure the project achieves he desired results and sometimes there are some changes to be made. As the project period is one year and there are many things that are uncertain. There are some issues are subjected to change during the project development period: scope, schedule, cost and human resources. Scope change is that the client might want to add some new features during the development period. As the Scrum is applied in the project, the client has the right to require more features, but depends on what kind of feature it is and how challenging it is for the development team. The decision should be made after discussing with team members and supervisor. Once the feature is added in the client requirement, it will be produced in the final product.Schedule change subjects to the time frame and the progress of the project. Client can require more features in the product, but it might take more time and effort to produce. If the feature is too challenge or out of the ability for the programmers, the product might not be able to finish on time, or the product might be able to meet all the client requirements. It is a risk for client and product team to consider.As it is a project in university that the client does not need to pay financially. However, if it is about the end of the time frame and the client still wants to add features, it might have some cost for client financially as the team is not bound to the university project anymore and the client and the team might need to sign a new contract to be able to continue the project.Human resources mean the team member changes. This is a university project that is separated into project 1 and project 2. According to the rule in university, the student who failed project 1 cannot continue to project 2 and should redo project 1 in the next year. Therefore, if one of the team member failed project 1, the team members changed and the ability to produce the product will change. If it happened, the project scope might be affected, and the methodology and techniques are subjected to change as well.Risk management planThe table below is the risk management plan lists the possible risks in the project, what it might happen and how to reduce the impact of the risks.RISKTHE RISK WHAT CAN HAPPEN?SOURCE HOW CAN THIS HAPPEN?IMPACT FROM EVENT HAPPENINGTREATMENT STRATEGIESEFFECTIVENESS OF CURRENT TREATMENTLIKELIHOODCONSEQUENCECURRENT RISK RATING ACCEPTABLE / UNACCEPTABLE1Development tool is no longer available The open source IDEs decided to be paidIDE is subjected to change or payChange to another free IDE and apply for student discount if availableA marginally effective controlUnlikely MinorLAcceptable2Changes in development teamTeam member failed Project 1Less people in the teamChange the development techniques to meet the scheduleAn inadequate effective controlPossible MajorHAcceptable3More features to be addedClient requires more featuresProject delays or low qualityDiscuss with supervisorA marginally effective controlPossibleMajorMAcceptable4Misunderstanding in teamTeam member misunderstand the projectProject does not meet client requirementsWeekly meetings and updates in teamA marginally effective controlPossibleMinorHUnacceptable5Client acceptance Client might reject the projectProject does not achieve the project goalsKeep client involves and discuss with client during Scrum sprintsA marginally effective controlRareMajorLUnacceptable6End user size increasesEnd user size gets larger with timeThe server and backend might not able to afford Outsourcing An inadequate effective controlPossibleModerate MAcceptable7Low quality for interfaceUsers do not like the interface on the websiteNeeds some time to designProgrammers might need to learn website designA marginally effective controlRareMinorLAcceptable8Source code lostLocal computer failureLost the source codeApply version control and keep the backup onlineA marginally effective controlPossibleMajorLUnacceptableTable 5: Risk management planRisk MatrixThe table below is the risk matrix that highlighted the likelihood of the risk indifferent colours. Red is high, yellow is medium, and green is low.LikelihoodMinor consequenceModerate consequenceMajor consequenceAlmost Certain ???Likely Risk 1??Possible Risk 4Risk 6Risk 2Risk 3Risk 8Unlikely ???Rare Risk 7?Risk 5Table 6: Risk matrixQuality assurance and project evaluation planIn Agile methodology quality assurance is the responsibility of everyone in R and D, not only the test department. Quality and assurance is all the activities we do to ensure the quality during development of whole new products.Project success metricsProgress metrics is a way to achieve the goal in the project. The importance of metrics is that to find out how effectively the project has been done.EffortEffort is a direct observable quantity, it is measured cumulatively for the tasks being assigned to all the members.Graph 4The blue bar shows the expected effort that has to be put into the project. The Brown bar represents the actual effort which every team member has put in. The expected effort can be compared against the actual effort in order to find out how much effort has everyone in the team has put into for the project success.CostThere is no cost involved in this project.ProductivityProductivity of the project can be found by comparing the works done in each period of time. The productivity in the agile methodology will be almost in the same speed. The April month had the maximum effort that is because it took us some good amount of time to understand the project also in April we had a semester break which helped us to spend more time on the codingWork category allocationThis will help us understand where we spend more time and how can this be managed.Graph 5The maximum time is spent on adding functionalities to the system, Research and testing takes 20 percent of the time equally. The planning and documentation takes 15 percent of the time each. The meeting had the least amount of time spend. Meeting should be improved in the upcoming sprints in order to find the best and most efficient implementations.Test strategiesIntroduction to agileAgile is an iterative methodology for the software development lifecycle. We choose agile methodology due to few of the reasons. Our project is comparatively small.It is a collaborative project, we divided the tasks between the front end and the back end.Guiding principlePrincipleDefinitionShared responsibilityEveryone in the project team are equally responsibleTest managementAll the test data are treated with maximum importanceData managementAll the data which are entered in the software will be unfamiliar, in order to see the correct outputRequirements strategyThe prioritization of the tasks could be re arranged at any point of the time. At any point of time the team will concentrate more on the highest priority work.Quality and test objectivesAttributeDescriptionPriorityAccuracyIn our project the accuracy is very important which means that the features and functions work completely, and it works as per the requirements.Must haveIntegrityIntegrity is a high priority task. All the information should be secured. The information such as user login and other sensitive data are hidden from one another. For example, the student cannot see any details which the lecturer can seeMust have MaintainabilityThe complexity of code is kept less complex it helps to add or remove certain part of the program.Must haveAvailabilityThe availability of the system should be 100 or almost 100. Our product will be available for all the users who use the software at any point of time.Should haveInter-operabilityThe software product will be able to work across multiple platforms like internet explorer, Mozilla, Google chrome etc.Must havePerformanceThe response time should be minimum to any particular operation in order to attain the highest performance. When the students click the button to display the result the results will be displayed as quick as possible.Should haveTest TypesTest nameDescriptionUnit testingThis part of testing is mainly concerned with the individual parts of the application. In our software project the backend has a database. Whenever the details are entered we check if the data is being entered in the correct location of the database.Integration testingThe software units are combined together, and it is tested as a whole.Acceptance testingAcceptance testing is checked against the user requirements.Regression testingRegression testing is the one which is done after every modifications is done to the systemPerformance testingTesting confirms that the system meets the required performance.Test planIntroductionAgile testing is done from the phase 1 of our project. It helps in understanding the project better as well as improving the quality of the project. This testing is done after every set of coding. This test plan is created to have a proper communication between the team members as well as to have a clear understanding for team member to make it to the highest quality.ObjectivesThis assessment marking website is a web-based application for lecturers and tutors aiming to improve the efficiency of assessment marking process especially when there are large number of courses and students across multiple campuses. This software tool is written in angular with the support of firebase as a database(temporary).Must have all the functionalities in the product within the deadline.Team member and roleNameRoleCheng LiFront end developerKamalBack end developerWatson LiaoFeatures to be testedShould be able to test all the functionalities.Create the manual test with as many steps as possible.Features not to be testedWebsite themeServer performanceEasy to useLanguageAssumptionsThe details which are being entered to check the output are not the actual ones.Test EnvironmentA new server is required for the application for web server, application and the database.Test scheduleTask nameStart dateEnd dateTest planning17/04/201818/04/2018Initial understands, review, estimationFunctionality testing(phase 1)19/04/201820/04/2018Integration testing(sprint 1)21/04/201822/04/2018Understand the tests for Sprint 227/05/201828/05/2018Functionality testing(phase 2)28/05/20829/05/2018Integration testing(sprint 2)30/05/201830/05/2018Regression testing(phase 2)01/06/201802/06/2018Understand the tests for sprint 301/09/201801/09/2018Functionality testing(sprint 3)01/09/201802/09/2018Integration testing(sprint 3)02/09/201802/09/2018System testing(sprint 3)03/09/20805/09/2018Acceptance testing(sprint 3)06/09/201808/09/2018Understand tests for sprint 412/10/201812/10/2018Functionality testing(sprint 4)13/10/201815/10/2018Integration testing(sprint 4)15/10/201816/10/2018System testing(sprint 4)17/10/201818/10/2018Acceptance testing(sprint 4)19/10/201822/10/2018Performance testing(sprint 4)22/10/201827/10/2018Deployment30/10/201830/10/2018DeliverablesDeliverablesForTest planTeam membersTraceability matrix Team membersTest resultClient, Team members, SupervisorSoftware Development MilestonesTask NameStart DateEnd DateDuration (Days)MilestoneSprint 11/03/20186/05/201866Prototype ICreate Navigation bar1/03/20184/03/20183Create Course Page4/03/20187/03/20183Design page structure7/03/201813/03/20186Create CRUD for Course13/03/201820/03/20187Create CRUD for Assessment20/03/201827/03/20187Create Tutor Page27/03/201829/03/20182Create CRUD for Tutor.Database with all the entities and values.29/03/20185/04/20187Create Student Page5/04/20187/04/20182Create CRUD for Student7/04/201814/04/20187Log in and Log out14/04/201817/04/20183Testing17/04/201824/04/20187Client feedback24/04/201829/04/20185Documenting29/04/20186/05/20187Sprint 27/05/201810/06/201834Prototype IICreate Marking Guide Page.PHP to display the students, tutors, lecturers.8/05/201810/05/20182Create CRUD for Marking Guide.Use of JSON in PHP.10/05/201817/05/20187Create Settings Page17/05/201820/05/20183Create CRUD for Marking Guide20/05/201827/05/20187Testing27/05/20182/06/20186Client feedback2/06/20187/06/20185Documenting7/06/201810/06/20183Winter Break11/06/201829/07/201848BreakSprint 330/07/201823/09/201855Prototype IIIImprove for User Experience.Integrate front end with back end.31/07/201820/08/201820User Authentication20/08/20181/09/201812Testing1/09/20188/09/20187Client feedback8/09/201815/09/20187Documenting15/09/201823/09/20188Sprint 424/09/201812/11/201849Final ProductImport Students25/09/20185/10/201810Send Marks 5/10/201812/10/20187Testing12/10/201827/10/201815Client feedback27/10/20183/11/20187Documenting3/11/201812/11/20189Table 7: Sprint BacklogAs the sprint backlog shows in table 2, we have set four sprints for the whole project period and two springs in each semester. In each sprint, we have designed the tasks based on the product backlog.The high priority tasks will be developed in the early period. The purpose of this is to show our ability to finish the project. At the end of each sprint, there will be a prototype of the website for the client.Each prototype is a milestone in the project. The feedback of the prototype from the client is valuable and it will be considered into the following sprint. Gantt Chart has been produced as below (Graph 6).Graph 6: Project milestoneProject Progress so farFront-endThe front-end development starts from general page arrangement. There is a navigation bar that contains the links to courses, tutors and students pages, and a login page.LoginLogin page simply is a window that requires users to key in email address and password to login. Once the user entered the information and click the login button, the system verifies the information and redirect to the related page.Screenshot 1: Login PageCoursesThe Home page is the “courses” page, separated into two parts. The left side of the screen is the course list of the lecture/tutor is teaching. The course identification like “IECH 1000” and course name like “Programming one” will be shown on the list to identify the course. Once the lecture/ tutor clicks one of the courses. The right side of the screen shows the details of the selected course: course identification, course name, course running location and term, and the assessments it contains.Screenshot 2: Courses PageScreenshot 3: Courses PageDropdown buttonIf the user is a lecturer, there is a button above the course list called “New Course”, which is used to direct to an empty table for lecture to create new courses and related assessments. In the course detail page in lecturer mode, there is a drop-down button that has three sub-buttons: “Import students”, “Edit course” and “Delete course”.“Import students” button is deigned to direct to a page so that the lecturer can update a CSV file that contains the students who enrolled in this course.“Edit course” button send the user to a form that has all the information of the course. The lecturer can update one or all the information of the course.“Delete course” buttondeletes the selected course. There is a confirm windows to preventmis-click.Whenever the lecturer clicks the name of the assessment, the assessment name will show in the “Assessment Name” field, and the buttons changes from “Add” and “Clear” to “Update”, “Delete”, “Marking Guide” and “Clear”.Screenshot 4: Drop-down buttonTutorThe “tutors” page applies the same layout structure as the courses page.Lecturers can create tutors. While saving the new tutor in the database, there is a new tutor account created automatically.The courses and tutors CRUD functions are for lecturers only.In the “students” page, there is a table that shows all the students in all courses with their student id, first name, last name and email address.Screenshot 5: Student PageMarking GuideClick the “Student List” button and the page will be directed to a student list that shows the students who enrolled in the course.Screenshot 6: Students from AssessmentThere is a button called “Marking Guide” and it directs the page to edit Marking Guide.Screenshot 7: Edit Marking GuideThe marking guide can be managed in this page and share to tutors once it is saved.SettingsThere is a Settings sections in Manage dropdown button on the navigate bar. So far, there are two contents could be managed in settings, which are course locations and course terms.CRUD functions are available here.Screenshot 8: SettingsTutorTutor pages applies the same structure as the course page. This page is only available for lecturer as the lecturer should be able to create tutors and assign courses to them.But the assign course function is still under developed.Screenshot 9: Tutor pageBack endPHPMYADMIN is the software tool that have been used for the database administration. It helps in managing the database by inserting, deleting, updating etc these functionalities could be performed via an interface.Screenshot 10: DatabaseThe above shown picture is the latest version of the database. One of the other features of using PHPMyadmin is that importing and exporting of the csv file is too easy.PHP is the programming tool that has been used to connect with the database. A PDO object is created; initial queries have been developed to display the results including student details, lecturer details, and tutor details. These results are displayed in a proper structured was with the help of JSON.Screenshot 11: JSONRetrospective reviewWhat went well?Supervisor provided good techniques and suggestions for the team.Client provided clear requirements.Front-end development is fast and smooth.What could be improved?The cooperation among the team should be improved as Messenger is the only method to communicate other than meeting in class.Back-end development is slow compare with front-end.What is out of our control?One of the team member rarely show up for supervisor meetings so we do not know the project progress for each other.Supervisor is too busy to book an appointment.Project contribution is not even.The lecturer was changed in the middle of the semester.What can we do?Schedule the meeting with supervisor earlier.Encourage team mates to contribute more.Break down the programming tasks for fast development.Report more to supervisor in project progress and issues.LimitationKamal Vignesh K SThe team members do not have any previous experience working on the software applicationsThis project is a small project which has limited functionalities.This project might not find the exact end product specified by our client as we have a limited time.It works for the limited number of users. When there are large numbers of users, the storage would be difficult.This project does not have a session timeout as of now.Future WorkCheng Li (Lily)As Dr Mehmood Chadhar suggested on final project presentation, the front-end design has no suggestions for user to know what to enter in each filed. What’s more, when the lecturer needs to create course, assessments and marking guides, each function is separated from each other and the user experience would not be as good as doing all the process together.Therefore, for the second semester, I will try to improve the course, assessment and marking guide management process to make it good for user experience. Add some explanation for the type of the information to be entered. Some of the buttons will be disabled for tutors and the page design will be improved.Testing process will be applied.Kamal Vignesh K SDr Mehmood Chadhar suggested to include the semester begin date and end date instead of just the year for the database. Henceforth extra field will be added in the next semester.Implement the crud functionalities for lecturer, tutor and student.Integrate the front end with the back end.Do Regression testing.Make the design attractive.Research on artificial intelligence.Create session timeout.Ruipeng Liao (Watson)ContributionCheng Li (Lily)From week 1 to week 11, I have: Attended all the supervisor meetings except in Week 9Submitted two weekly meeting reportsFinished the project charterHad client meetings to get client requirementsFor the project progress, I have developed the user interface that has “courses”, “tutors”, and “students” pages. The front-end is connected to Firebase. Therefore, the course, assessment, marking guide and tutor elements can be done with CRUD functions.For the project progress report, I have written the executive summary. I have done literature review “Traditional SDLC Vs Scrum Methodology – A Comparative Study”, “Extreme Programming Strengths and Weakness”, “Version-Control Systems”, “De?nition of REST web services with JSON schema”, “Communicating with XML”, “The Materials Application Programming Interface (API) A simple, flexible and efficient API for materials data based on REpresentational State Transfer (REST)” and “IEEE std 829-2008 and Agile Process– Can They Work Together”. I have went through electric books “The Definitive Guide to Firebase” and “Software Engineering A Practitioner’s Approach” and “IEEE 820-2008” software testing standard. I have designed the project plan and create the Gantt Chart with milestone. The sections in the report that were written by Lily are: 1. Introduction (First Paragraph), 1.1What is assessment, 1.2Objectives, 1.3 Assumptions2. Client Requirement3.Key Stakeholders4.Project goals5. Feasibility Study6.Research and Literature review, 6.1Software development methodologies, 6.2Software Testing Methodologies, 6.3Software development tools (6.3.1-6.3.6)7.Appropriate methodology, tools and standards for the project with justifications8. Communication change and risk management plan, 8.3 Change management application, 8.4 Risk management plan, 8.5 Risk Matrix10.Software Development Milestones11.Project Progress so far, 11.1Front-end12. Retrospective review14.Future Work, 14.1Cheng Li (Lily)Kamal Vignesh K SFrom week 1 to week 11:I have submitted the weekly reports except 2.I have attended all the supervisor meeting except 1(week 3)As far as the project progress so far, I have made the database and PHP to interact with the database. The results are displayed in the JSON format.For this document the works which I have done areThe sections in the report that were written by Kamal are: 1. Introduction (Second Paragraph)5.3.7Web page load speed: vs PHP5.3.8 XML and JSON are like cardboard8.1 Communication, 8.2 Change management9. Quality assurance and project evaluation plan11.Project Progress so far, 11.2Back-end.13.Limitation, 13.1Kamal Vignesh K S14.Future Work, 14.2 Kamal Vignesh K SRuipeng Liao (Watson)Team member signaturesRuipeng Liao (Watson), Project Manager:__________________________________________________________________________Cheng Li (Lily),Team member:__________________________________________________________________________Kamal Vignesh K S, Team member:__________________________________________________________________________Approval signatureSunil Aryal, Project Client:__________________________________________________________________________Cameron Foale, Project Supervisor:N/A__________________________________________________________________________Ruipeng Liao (Watson), Project Manager:__________________________________________________________________________References ADDIN EN.REFLIST Chen, N. IEEE std 829-2008 and Agile Process– Can They Work Together? Da, Z., Yang, W., Ran, P. and Huo. (2017). . Program Design of JSON to Structured Data Conversion. MATEC Web of Conferences, 0016. Dalalah, A. (2013). Extreme Programming: Strengths and Weaknesses. The International Arab Conference on Information Technology. Helland, P. (2017). XML and JSON are like cardboard. Communications of the ACM, 60(12), 46-47. Hunt, A., & Thomas, D. (2010). The pragmatic programmer. In. INFORMATION TECHNOLOGY CHANGE MANAGEMENT IN NETWORKING. (2016). International journal of Latest Trends in Engineering & Technology, 7(1).JavaSampleApproach. (2018). How to integrate Firebase with Angular 5 – AngularFire2 V5. Retrieved from Schema: core definitions and terminology. (2013). Retrieved from , M., & Sundararajan, D. M. (2013). Traditional SDLC Vs Scrum Methodology - A Comparative Study. International Journal of Emerging Technology and Advanced Engineering, 3(6). Mirzaaghaei, M., Pastore, F. and Pezzè, M. (2014). Automatic test case evolution. Software Testing, Verification and Reliability, 24(5), pp.386-411.Moroney, L. (2017). The Definitive Guide to Firebase: Build Android Apps on Google's Mobile Platform. In. Mukund. (2017). Why a Feasibility Study is Important in Project Management. Retrieved from , S. P., Cholia, S., Jain, A., Brafman, M., Gunter, D., Ceder, G., & Persson, K. A. (2014). The Materials Application Programming Interface (API): A simple, flexible and efficient API for materials data based on REpresentational State Transfer (REST) principles. Computational Materials Science. Pressman, R. S. (2010). Software Engineering A Practitioner’s Approach. In 7 (Ed.). QuickStart. (2018). Retrieved from , A., & Tompa, F. (2012). Communicating with XML. In. Society, I. C. (2008). IEEE Standard for Software and System Test Documentation. In.Spinellis, D. (2005). Version Control Systems. I E E E C o m p u t e r S o c i e t y. Wagner, S., & Seifert, T. (2005). Software Quality Economics for Defect-Detection Techniques Using Failure Prediction. ACM SIGSOFT Software Engineering Notes, 30(4), 1-6. What is Angular? (2018). Retrieved from ................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
Related searches
- homework for 2 year old
- ela homework for 5th grade
- advantages of homework for students
- printable homework for 3 year olds
- homework for 1st graders free
- disadvantages of homework for students
- benefits of homework for children
- benefits of homework for kids
- math homework for 2nd grade
- 2 grade homework for free
- teachers homework for the students
- homework for 2 year old printable online