COMP1050: Introduction to Software Engineering Assignment 1 Report

Verified

Added on  2022/08/24

|2
|711
|44
Report
AI Summary
This report addresses key concepts in software engineering, focusing on the Waterfall model as a sequential approach to software development, where each phase is clearly defined. It contrasts this with the Agile approach, highlighting its benefits such as stakeholder engagement, transparency, adaptability to change, user focus, and timely delivery through sprints. The report also discusses the advantages of version control and issue tracking, including code review, continuous integration, and effective issue management. Finally, it outlines various testing strategies, including unit testing, integration testing, validation testing, and system testing, to ensure software quality and reliability. The report is based on the assignment brief for COMP1050: Introduction to Software Engineering Assignment 1.
Document Page
1. Software Process.
The Waterfall Model.
The waterfall model is a sequence based approach where each and every important group of
tasks or activities are represented as a phase all linearly arranged. In this model, a plan must
be developed and scheduling of the activities should be done before starting to work on
them.
Given that all the requirements are well stated beforehand, the model can be most
appropriate as the progress can be measured based on designed plan. This is because the
output of one process will form the input of another software process. Finally, it is unlikely
that the requirements can radically change during development.
2. Benefits of using agile approach in development.
a. Stakeholder Engagement as it provides several opportunities for stakeholders and the
team to meet and therefore analyze and correct the development process I.e after every
sprint.
b. There is a high level of transparency as it involves the clients in the development process
from prioritizing features to iteration planning and review of different sessions to
development of new software features.
c. It allows for change. In as much as the team wants to focus on delivering as planned, agile
provides an opportunity for constantly refining and re-prioritizing the overall product
backlog.
d. It provides a greater focus to user through user stories with business-focused acceptance
criteria in establishing product features.
e. It provides a timely and easily predicted delivery through use of techniques like sprints
which are time-boxed and fixed.
3. Benefits of version control and issue tracking.
a. It provides a platform for code review to ensure all added features are easily read and
understood by the rest of the team. This also affirms that the features are well developed,
tested and even desired.
b. It provides a continuous integration whereby all the different features of the code that are
built and tested automatically irrespective of the location of development.
c. It provides a platform whereby an issue raised can be tracked whatever the department or
the nature of the problem.
d. Additionally, one can monitor any action that is submitted regarding the issue and again
the party responsible for solving the query.
d. Finally, the team stays informed regarding what has happened with the raised issue.
4. Testing strategies.
Unit Testing – Under this category, I will be testing the different units and codes of the
system as this app involves different units.
Integration Testing – In this , I will specialize more on the design aspect of the system and
its components.
Validation Testing- Under this category, majoring on ensuring that the requirements that are
stated are met.
System testing- This engulfs the aforementioned strategies, this affirms that the system
engineering processes are working as required.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
References.
Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., ... & Kern, J. (2001).
Manifesto for agile software development.
Sommerville, I. (1996). Software process models. ACM computing surveys (CSUR), 28(1), 269-271.
Kish, J. W., Wittler, D. A., & Burkes, D. F. (1999). U.S. Patent No. 5,890,176. Washington, DC: U.S. Patent
and Trademark Office.
Pilato, C. M., Collins-Sussman, B., & Fitzpatrick, B. W. (2008). Version control with subversion: next
generation open source version control. " O'Reilly Media, Inc.".
Basili, V. R., & Selby, R. W. (1987). Comparing the effectiveness of software testing strategies. IEEE
transactions on software engineering, (12), 1278-1296.
Liu, C. (2005, April). Using issue tracking tools to facilitate student learning of communication skills in
software engineering courses. In 18th Conference on Software Engineering Education & Training
(CSEET'05) (pp. 61-68). IEEE.
chevron_up_icon
1 out of 2
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]