Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 15

SOFTWARE DEVELOPMENT LIFE CYCLE

Tutor: Thai Thi Thanh Thao


ID: GCS18804
Name: Tran Ngoc Chau
Class: GCS0805
ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing


Unit number and title Unit 9: Software Development Life Cycle
Submission date Date Received 1st submission
Re-submission Date Date Received 2nd submission
Student Name Tran Ngoc Chau Student ID GCS18804

Class GCS0805 Assessor name Thai Thi Thanh Thao

Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.
Student’s signature
Grading grid
P M D
1 1 1
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:


Lecturer Signature:
ASSIGNMENT 1 BRIEF
Qualification BTEC Level 5 HND Diploma in Computing
Unit number and
Unit 9: Software Development Life Cycle
Title
Assignment title Planning a Software Development Lifecycle

Academic Year 2019 – 2020

Unit Tutor Thai Thi Thanh Thao

Issue date 28 th September 2020 Submission date 12 th October 2020

Submission Format:
Format: The submission is in the form of 1 document

You must use font Calibri size 12, set number of the pages and use multiple line spacing at
1.3. Margins must be: left: 1.25 cm; right: 1 cm; top: 1 cm and bottom: 1 cm. The reference
follows Harvard referencing system.Submission Students are compulsory to submit the assignment in due
date and in a way requested by the Tutors. The form of submission will be a soft copy in PDF
posted on corresponding course of http://cms.greenwich.edu.vn/
Note: The Assignment must be your own work, and not copied by or from another student or from
books etc. If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you
must reference your sources, using the Harvard style. Make sure that you know how to reference properly,
and that understand the guidelines on plagiarism. If you do not, you definitely get fail
Assignment Brief and Guidance:

Scenario: You have applied for a post as a trainee with a software development company and have been
invited for an interview. You have been asked to demonstrate your problem solving and basic
programming skills. To do this you have to prepare a report on using algorithms to solve problems.

You need to explain, using examples, how algorithms are used to solve simple business problems and the
steps needed to be followed to produce a working program solution. You should make clear your
assumption about your program. The problems to be solved will involve basic procedural programming
instructions - sequence instructions (input, output and assignment statements), loops, conditional
statements. Problems should be analysed and designed by the use of flowchart and demonstrated by the
use of modules (procedures) using a menu based program.

Tasks:
1. State your simple business problems to be solved.
2. Analyse the problem and design the solutions by the use of suitable methods.
3. Demonstrate the compilation and running of a menu-based program
4. Evaluate how the problem is solved from the des igned algorithm to the execution program
written by a specific programming language.
You also need to do a presentation of your work (it should be summary of your report).

Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO1 Define basic algorithms to carry out an operation and outline the process of programming an
application

P1 Provide a definition of what M1 Determine the steps taken from D1 Examine the implementation
an algorithm is and outline the writing code to execution. of an algorithm in a suitable
process in building an language. Evaluate the
application. relationship between the written
algorithm and the code variant.

LO2 Explain the characteristics of procedural, object-oriented and event-driven programming, conduct
an analysis of a suitable Integrated Development Environment (IDE)

P2 Give explanations of what M2 Analyse the common features D2 Critically evaluate the source
procedural, object-oriented that a developer has access to in an code of an application which
and event-driven paradigms IDE. implements the programming
are; their characteristics and the paradigms, in terms of the code
relationship between them. structure and characteristics.

LO3 Implement basic algorithms in code using an IDE


LO4 Determine the debugging process and explain the importance of a coding standard

P3 Write a program that M3 Use the IDE to manage the D3 Evaluate the use of an IDE for
implements an algorithm using development process of the development of applications
an IDE. program. contrasted with not using an IDE.

P4 Explain the debugging M4 Evaluate how the debugging D4 Critically evaluate why a
process and explain the process can be used to help develop coding standard is necessary in a
debugging facilities available more secure, robust applications. team as well as for the individual.
in the IDE.

P5 Outline the coding standard


you have used in your code.
Table of content

LO1 Define basic algorithms to carry out an operation and outline the process of programming an
application.........................................................................................................................................................6

P1. Provide a definition of what an algorithm is and outline the process in building an application...6

Algorithm building process:.........................................................................................................................6


+ Analysis and Outline of the Algorithm:...................................................................................................6
+ Check the Algorithm:.................................................................................................................................6
+ Evaluation of the algorithm:.....................................................................................................................6
+ Test program algorithm:............................................................................................................................7
+ Perfecting the algorithm and applying the algorithm:..........................................................................7

LO2 Explain the characteristics of procedural, object-oriented and event-driven programming,


conduct an analysis of a suitable Integrated Development Environment (IDE).....................................7

P2. Give explanations of what procedural, object-oriented and event-driven paradigms are; their
characteristics and the relationship between them....................................................................................7

+ Fundamental principles of object -oriented programming:..............................................................7


+ Characteristics of programming for object orientation:.......................................................................8
LO3 Implement basic algorithms in code using an IDE.............................................................................9

LO4 Determine the debugging process and explain the importance of a coding standard.................9

P3. Write a program that implements an algorithm using an IDE............................................................9

P4.Explain the debugging process and explain the debugging facilities available in the IDE. ........10

P5.Outline the coding standard you have used in your code.................................................................11

Reference........................................................................................................................................................12
LO1 Define basic algorithms to carry out an operation and outline the process of
programming an application.

P1. Provide a definition of what an algorithm is and outline the process in building an
application.
- An algorithm is a method of solving a problem step by step. It is widely used to store, measure and other
similar computer and mathematical operations for data processing.
* Ex: Of using sequential search algorithm: Write the implementation function
  1. Enter an integer sequence with n numbers (1 <n <100).
  2. Print the entered range
  3. Find the value of x in the sequence of numbers (x entered from the keyboard)
  4. Count the number of occurrences of y (entered from the keyboard)
  5. Calculate the percentage value of numbers> = 5.
  6. Print out the locations where the prime numbers appear in the sequence.

Algorithm building process:

+ Analysis and Outline of the Algorithm:


- In constructing the algorithm, this is the first step. And you need to use algorithmic design tactics to
complete this step. Of which 5 legislative delegates will be present:

● Divide and Conquer

● Greedy Method

● Dynamic Programming

● Back Tracking

● Branch and Bound

- In the construction of the Algorithm, these representations all play an significant part. So don't neglect any
one representation when creating the Algorithm. Instead, to make development of the Algorithm simpler and
more effective, it must comply with the specifications.

+ Check the Algorithm:


- The next step, once evaluated and illustrated, is to verify its validity. Through injecting the algorithm into a
computer, the evaluation will be completed. To do the test, then give it a bunch of inputs. Value, if the
algorithm promises that it operates correctly in any programming language. Then you need to start again if
the test algorithm fails. In particular, to avoid missing any errors, it is important to review the representative
wall information.

+ Evaluation of the algorithm:


- Algorithm validation is followed after the test stage algorithm has been completed. Algorithm assessment
must be based on several different parameters. As the algorithm runs, these criteria are determined. This
evaluation would not be practicable if the algorithm is not running. The Algorithm Algorithm evaluation
criteria include: execution time and usage of memory.
● Execution time: This is the CPU's operating time. It is satisfactory if the algorithm is rapidly processed by
the CPU. If the code can not be interpreted by the CPU, so the program fails.

● Usage of memory: Test the algorithm's memory performance. It will be used if the algorithm can be
processed quickly.

+ Test program algorithm:


- This phase is nearly completed. Checking the algorithm verifies the consistency of the algorithm once
again. The Algorithm test program is divided into 2 main stages. Including debugging and profiling.

● Debugging (Algorithm program execution method): To consider the errors, debugging is performed based
on the sample data set. If the software finds bugs, it will continue to fix them. When the error does not occur,
it can be ignored. Almost 100% undetectable for debugging. As a result, some updates and bug fixes
appeared after the algorithm test.

● Profiling (The method of program execution is based on a reference data set for debugging): In profiling,
however, one can only calculate time and memory power. From there, a decision would be reached as to
whether or not the Algorithm evaluation succeeded.

+ Perfecting the algorithm and applying the algorithm:


- The algorithm has been finalized after going through all the above steps. No mistakes, the implementation
feature of the program is consistency. Then continue to restore if any points have not been reached. It is
possible to bring the algorithm into application after everything has been carefully checked. The construction
of the algorithm is then complete.

LO2 Explain the characteristics of procedural,


object-oriented and event-driven programming,
conduct an analysis of a suitable Integrated
Development Environment (IDE).
P2. Give explanations of what procedural, object-oriented and event-driven paradigms are;
their characteristics and the relationship between them.
- Definition of object-oriented programming (OOP): The key concern of OOP is how to conceal
data from functions that are not objects of the class, that is how it deals for essential data. Data is
closely related to the functions of a class that run on it. It does not cause the data within it to be
changed by any non-member feature. Objects coordinate with each other to access the system 's
data through member functions. Based on the fundamental concepts of objects, classes, coded or
abstract knowledge, inheritance, and polymorphism or overload, OOP is established. In OOP,
programs can be split into modules by function-based partitioning of files, which can be further
used as models to render new copies of modules if appropriate. Therefore, this is an approach that
promotes software modularization by creating partitioned memory for data and functions.

+ Fundamental principles of object -oriented programming:


● Encapsulation: Inside a given boundary, or class, the execution and state of each entity are
privately owned. All objects do not have access to this class or alteration power, but may only call
up a list of public functions or methods. This data hiding characteristic ensures better program
security and prevents accidental corruption of data.

● Data Abstraction: Objects disclose only internal mechanisms that are important to the use of
other objects, covering any redundant code for execution. This idea allows developers to make
improvements and enhancements more effectively over time.

● Inheritance: It is possible to delegate relationships and subclasses between objects, enabling


developers to reuse a standard logic while also retaining a specific hierarchy. This OOP property
forces a more rigorous analysis of data, reduces time for production and guarantees a higher
degree of precision.

● Polymorphism: Depending on the context, objects may assume more than one type. For any
execution of the entity, the program can decide which purpose or use is required, eliminating the
need to repeat code.

+ Characteristics of programming for object orientation:


● Centered on the inheritance principle, it is possible to remove duplicated and obsolete programs
in the course of defining classes. And the accessibility of classes can be extended without re-
execution. Optimize and reuse functionality efficiently.

● Ensure the machine development time is reduced and the efficiency of installation improves.

● The appearance of two new definitions, class and object, is characteristic of the form of
programming directed towards objects. The drawbacks of the structural-oriented programming
approach have been addressed. Furthermore, these two principles tend to reflect the physical
world on the screen better.

- Procedure-oriented programming (POP) definition: A typical way of programming is to use


POP. Procedural programming is where the main emphasis is sequentially on completing tasks.
Flow map of the power flow of the software. If the software is extended, it is structured into many
tiny units called features that share the whole data system. The question about data protection
emerges here, when there is an unintended improvement in the software by more improved
features.

+ The relationship between them:

* When we analyze the distinctions between object-oriented programming and procedural


programming, it is clear that OOP is based on objects and classes, while it is based on procedures
for procedural programming. Using OOP objects instead of procedures such as procedural
programming allows developers to reuse a single code anywhere as needed. Therefore, it allows
simpler and less code-complicated scripting techniques. As we examine the variations between
object-oriented programming and procedural programming, it is clear that OOP is based on objects
and classes, while it is based on procedures for procedural programming. Instead of procedures
such as procedural programming, using OOP objects enables developers to reuse a single code
anywhere as desired. It then encourages easier approaches to coding that are more difficult and
less code is used.
LO3 Implement basic algorithms in code using an IDE.

LO4 Determine the debugging process and explain the importance of a coding standard.

P3. Write a program that implements an algorithm using an IDE.


Test Data:
Enter the First number: 10
Enter the Second number: 15
Enter the third number: 20
Enter the four number: 30
The average of 10 , 15 , 20 , 30 is: 18

class Program
{
static void Main(string[] args)
{
Console.Write("Enter the first number: ");
double a = double.Parse(Console.ReadLine());
Console.Write("Enter the second number: ");
double b = double.Parse(Console.ReadLine());
Console.Write("Enter the third number: ");
double c = double.Parse(Console.ReadLine());
Console.Write("Enter the four number: ");
double d = double.Parse(Console.ReadLine());
double average = (a + b + c + d) / 4;
Console.WriteLine($"The average of {a}, {b}, {c}, {d} is: {average}");
}
}
P4.Explain the debugging process and explain the debugging facilities available in the IDE.

- Users have to start with a problem in order to debug a program, extract the source code of the
problem, and then correct it. As knowledge of problem solving is required, a user of a program
must know how to fix the question. When the error is resolved, then the program is ready to use.
Debugging techniques (called debuggers) are used at multiple stages of development to detect
coding errors. They are used to replicate the circumstances in which an accident has arisen, and
analyze the state of the software at that time to find the cause. By determining the value of
variables, programmers may track the program execution step-by - step and interrupt the
execution anywhere possible to get the value of variables or reset the variables of the program. A
debugger to review the code for errors when it is written at runtime is supported by certain
programming language packages.

-There are 4 debugging processes:

1. Reproducing the problem.

2. Describe this bug. In order to get the exact explanation, try to get as much feedback from the
customer.

3. Capture your screenshot of the software as the error appears. At the time , try to get all the
program's vector values and states.

4. Based on the condition and behavior, analyse the snapshot. Try to find the origin of the bug
depending on that.

5. Fix an existing bug, but still ensure that there are no new bugs.
P5.Outline the coding standard you have used in your code.

- We already know, in the first part of the article, what an algorithm is. An algorithm largely illustrates the
incorporation of such rules. The algorithm can produce an output data set based on the input data and the
execution of the instructions. It can be written in any programming language (C++, C #, Pascal, etc.) after
creating an algorithm or it can be written in a pseudo-code. The important difference in programming.
Reference

https://codelearn.io/sharing/tat-tan-tat-ve-lap-trinh-huong-doi-tuong-phan-1§https://viblo.asia§
https://toc.123doc.net/document/117606-ii-9-go-loi-trong-visual-basic-debug.htm§
https://www.ozpaperhelp.com/assignment/evaluation-of-application-design-and-implementation-659.html§
https://hoidaptructuyen.vn/cau-hoi/ide-la-gi/§
https://owlcation.com/stem/Use-Of-Object-Oriented-Programming§
https://www.researchgate.net/publication/311587459_Object_Oriented_Programming_Vs_Procedural_Progr
amming§

You might also like