Faculty of Science, Engineering and Computing
CI7260 Software Quality Engineering Assessment Compendium
Module: CI7260 Setter: SK
INDIVIDUALS PROJECT:
1 Building Application: No restrictions on the technology you can use any technology that meets the requirements)
2 SQA Plan (check both templates: SQA_Plan_Template & SQA_Plan_Template_Long)
3 Software design document (Software Design Document)
4 Testing plan (check both templates: "SQA_Test_Case_Report_Template", "SQA_Test_Template")
Module Learning Outcomes assessed in this piece of coursework
· Compare, evaluate the concepts and terms defined in software quality assurance, the tools and the metrics together with related industrial standards for software evaluation throughout the software development lifecycle.
· Analyze the benefits and pitfalls of applying software quality assurance and testing plans in different software development contexts.
· Critically evaluate the issues related to multi-layered architectures for web-based infrastructures suitable for developing and deploying web applications, , and produce the design elements of the project
· Apply and use markup languages, scripting languages, and document object models for the development of Client-side components of Web Applications. Create and consume Web Services and APIs
· Apply Database Access, Object-Relational-Mapping (ORM) and Model-View-Controller (MVC) frameworks and techniques for developing Server-side components of Web Applications.
· Develop software quality assurance and testing strategies, including security and usability aspects, and plans for given web development projects, and develop a demonstration system that utilizes appropriate tools and techniques.
Assignment Brief and assessment criteria (these will be discussed within a formally timetabled class)
1. Assignment Brief: Given a scenario of a software development project, you will develop your understanding of quality management within a team as well as an individual. The individual report will review the theories and practices in software quality management while the group development will demonstrate the practices in software development with awareness of quality assurance, both in the context of software development lifecycle.
Assessment scenario
You are working for a company that specialises in bespoke software development. The company has been asked by a recruitment agency to develop an application that would enable job-seekers to fill their CV online in a structured way. The application would enable the agency to search the CVs to find job-seekers with a particular qualification, skill or experience.
One of your company’s analyst has interviewed several people in the agency in order to come up with a database design that captures the sort of data the agency would like in the job-seekers’ CV. He then went on to implement the design in MySQL in order to build a prototype application to test the design. However, before he could do this he suddenly left the company and left no documentation.
Your manager has decided to allocate a small team of programmers to build the prototype based on using MySQL database, and make sure all documentations are up-to-date. You are one of the members of this team. She has advised you that it would be a good idea to create a new database design in order to understand it better. She has also advised you that you should investigate and evaluate any software engineering tools that could help you with this and similar future projects.
You have been asked to produce a report (required content is specified below) and work in a team to prepare a demo & presentation for the client.
Your team will be developing a prototype that would
· Enable job-seekers to enter and edit their CV online
· Enable agency employees to search for job-seekers with a particular qualification, skill or experience
· Calculate Halstead’s volume on your code and present it to stake holders for KPIs.
You should now proceed as follows
1. Form teams of several students (you will be getting help with this from the module leader – it should be based on a shared interest to learn about a particular IDE, programming language(s) and the choice of modules during the exercise period)
2. Discuss the experience of the members of the team in the following areas
a. Programming
. Specific programming languages and environments
c. Web development
d. The tools listed above or more
3. Choose a team leader – preferably the most experienced team membe
4. Plan your project in terms of the following stages
a. Identify specific tools and languages to be used on your project (this could change later)
. Decide what hardware you will use (consider the limitations of using the university workstations and servers – would using laptops or home workstations be a better choice?)
c. Create an Entity-Relationship model
d. Create a copy of the MySQL database on your chosen server
e. Develop a prototype that would enable job-seekers to enter data and generate a CV (e.g. in PDF or Word format)
f. Develop a prototype that would enable the agency to search for job seekers using the following criteria
i. Job or Sector (they want to work in) preference
ii. Minimum education level
iii. Minimum number of GCSE passes
iv. Specific educational qualification
v. Specific professional qualification
vi. Specific skill
vii. Specific experience
g. Write and submit an individual report (you may confer with other students but must not copy – see below details of what is required)
h. Produce group project documentation
i. Prepare and ca
y out demo / presentation ( see below details of what is required)
5. Execute the plan including your Gantt Chart, and other Software Quality Assurance Documentations
6. Calculate Halstead’s volume on your code for software metrics measurement purpose
Group Project Documentation
The Documentation should contain the following:
· Project schedule document
· Requirements Specification Documents
· Software Design Document
· System Implementation Plan
· SQA Plan
· Risk Management
· Testing documents Unit testing, black box testing usability testing performance testing
· SQA Test Case Report
· Calculate Halstead’s volume calculation
· Zipped source code
Group project preparation materials and templates are available on CANVAS in “Unit 1 - Introduction to Software Quality”
Planning the coursework
Please can each group complete one form and hand it in to the module leader.
Group numbe
Group members
Team leade
Experience of
a. Programming
. Specific programming languages and environments
c. Web development
d. Software tools (please see the list in the coursework specs
Software development tools and languages considered
Environment to be used for the development and demo
2. Feedback (including details of how and where feedback will be provided)
You will receive the feedback electronically using the feedback form (check the summary table for deadlines)
(II) Marking scheme: Group Work
Student Name: K No.: Marker:
Design, Development and SQA practice ( /30)
**
VG
G
F
P
VP
Requirement and design documentations
Development functionality completeness
Quality assurance practices
Documentation Submitted Electronically ( /10)
**
VG
G
F
P
VP
Completeness of documentation
Quality of the documentations
Presentation ( /10)
**
VG
G
F
P
VP
Overall structure and format
Presentation
Referencing and citation
Further Comments
Overall mark ( /50)
** VG: Very Good, G: Good, F: Fair, P: Poor, VP: Very Poo
Faculty of Science, Engineering and Computing
Assessment Form
Module: CI7260 Setter: SK
Title of Assignment: Demo Deadline: 15/04/19
Module weighting: 10%
Submission details: During the demonstration you will be asked to show a working prototype of your program, which should demonstrate good knowledge of software construction and software quality.
Module Learning Outcomes assessed in this piece of coursework
· Develop a demonstration system that utilizes appropriate tools and techniques in different software processes to achieve overall high quality in software development.
Assignment Brief and assessment criteria (these will be discussed within a formally timetabled class)
1. Assignment Brief: Demonstrating the implementation part of your work.
2. Feedback (including details of how and where feedback will be provided)
You will receive the feedback electronically using the feedback form (check the summary table for deadlines)
Marking scheme
Demo/presentation
**
VG
G
F
P
VP
Quality: all working as expected
Presentation
Questions handling
Teamwork in presentation
Overall mark ( /10)
** VG: Very Good, G: Good, F: Fair, P: Poor, VP: Very Poo
Software Quality Assurance Plan Template
Department of Electrical and Computer Engineering and Computer Science
Milwaukee School of Engineering
Project Name> Software Quality Assurance Plan
Software Quality Assurance Plan for
Software Quality Assurance (SQA) Plan
fo
Project
Version <
Prepared by
organization
date created
VERSION HISTORY
Version
#
Implemented
By
Revision
Date
Approved
By
Approval
Date
Reason
1.0
TITLE \* MERGEFORMAT draft
Table of Contents
51.
Purpose
51.1
Scope
51.2
Project Summary
62.
Reference Documents
73.
Quality Goals and Expectations
84.
Software Reviews
84.1
Purpose
84.2
Review Schedule
84.2.1
Artifact 1
84.2.2
Artifact 2
95.
Test
95.1
Purpose
95.1.1
Testing Type 1
106.
Problem Reporting and Co
ective Action
117.
Tools, Techniques and Methodologies
128.
Configuration Management
139.
Revision History
1. Purpose
The purpose of this Software Quality Assurance (SQA) Plan is to establish the goals, processes, and responsibilities required to implement effective quality assurance functions for the
project.
The Software Quality Assurance Plan provides the framework necessary to ensure a consistent approach to software quality assurance throughout the project life cycle. It defines the approach that will be used by the Software Quality personnel to monitor and assess software development processes and products to provide objective insight into the maturity and quality of the software.
1.1 Scope
This plan covers SQA activities throughout the phases of the .
1.2 Project Summary
Describe, in approximately 1 paragraph, the purpose for your senior design project. What does it do and why is it being developed.
Reference Documents
The following documents were used or referenced in the development of this plan:
· IEEE STD XXXXXXXXXX, IEEE Standard for Software Quality Assurance Plans
·
· Project Plan, revision x.y
· System Implementation Plan (SIP), revision x.y
· Software Management Plan (or Product Plan), revision x.y
· Statement of Work (SOW), revision x.y
· Configuration Management Plan (CMP), revision x.y
2. Quality Goals and Expectations
List and define the quality goals as they are related to this project. These goals will impact what quality actions are taken. Essentially, the quality goals refer to the quality requirements for the product.
3. Software Reviews
3.1 Purpose
This section identifies the number and type of reviews and engineering peer reviews that will be performed