0% found this document useful (0 votes)
5 views35 pages

Assignment

The document outlines key programming paradigms including Procedural, Object-Oriented, and Event-Driven programming, detailing their definitions, advantages, and disadvantages. It also discusses the programming languages used in a company, their tasks, and the factors influencing the choice of programming languages. Additionally, it introduces basic programming structures such as sequences and selections, emphasizing their roles in software development.

Uploaded by

williewispy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views35 pages

Assignment

The document outlines key programming paradigms including Procedural, Object-Oriented, and Event-Driven programming, detailing their definitions, advantages, and disadvantages. It also discusses the programming languages used in a company, their tasks, and the factors influencing the choice of programming languages. Additionally, it introduces basic programming structures such as sequences and selections, emphasizing their roles in software development.

Uploaded by

williewispy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

ASSIGNMENT

Software Design and Development

BY PAN THU
LEVEL – 3 BATCH – 11
PAN THU (LEVEL – 3 BATCH – 11)

Contents
TASK - 1 ................................................................................................................................................ 2
TASK - 2 ................................................................................................................................................ 7
TASK - 3 .............................................................................................................................................. 10
TASK - 4 .............................................................................................................................................. 15
TASK - 5 .............................................................................................................................................. 17
TASK - 6 .............................................................................................................................................. 21
MERIT - 1 ............................................................................................................................................ 23
MERIT - 2 ............................................................................................................................................ 26
DESTINCTION – 1............................................................................................................................. 29
DESTINCTION – 2............................................................................................................................. 32
References websites .......................................................................................................................... 34

1|Page
PAN THU (LEVEL – 3 BATCH – 11)

TASK - 1

A paradigm is a method for solving a problem or completing a task. Programming


paradigm is a means of solving a problem using tools and techniques that are available to
us while following to a particular approach. There are several programming languages that
are well-known, but they all require a methodology or strategy to be applied, and this
methodology or strategy is known as paradigms. Apart from different programming
languages, there are numerous paradigms to meet every need. Among them, I would like
to explain about some of the most used and efficient programming paradigm nowadays.
They are:

a) Procedural
b) Object-oriented
c) Event-driven

Procedural Programming Paradigm


Procedural Programming may be the first programming paradigm that a new
developer will learn. Procedural code, in its most basic form, is the code that tells a device
how to complete a task in logical steps. This paradigm takes a top-down, linear approach,
and treats data and procedures as separate entities. Procedural Programming separates a
program into procedures, which are sometimes known as routines or functions and simply
comprise a set of actions to be carried out, based on the concept of a procedure call.
Simply put, Procedural Programming involves writing down a list of instructions to tell the
computer what it should do step-by-step to finish the task at hand.

Usage and Examples


Procedural programming languages are older and easier to understand than other
types of computer languages. As a result, many programmers start their careers by
exercising in a procedural environment. When dealing with procedural languages, the basic
strategy is to look at the complete program and then split it down into individual
procedures. You then break down those processes into smaller sub-procedures, and so on,
until the app is broken down into manageable chunks. After identifying the procedures,
developers focus on each one and use integrated development environments (IDEs) to
help them produce the appropriate instructions for them. As we mentioned, these
languages work in a head-to-tail manner, so a common way to approach programming
with a procedural code is to start at the beginning and end at the finish.

2|Page
PAN THU (LEVEL – 3 BATCH – 11)

Because Java is at least partially a procedural language, you'll have no trouble


landing a top job if you have strong procedural skills. Web developers use procedural
languages all the time in the course of their work, and you’re sure to find all kinds of work
on server-side applications and back-end platforms that need a motivated coder with
procedural programming chops.

Advantages
The programs built are simple and use accumulators and interpreters precisely.
The code is small and flexible.
It deconstructs problems into smaller subproblems, making them easier to understand
and solve.
It increases the program's renewable energy.
It makes good use of CPU storage.
It is more adaptable than other alternatives.

Disadvantages
The program code is harder to write when Procedural Programming is employed
The Procedural code is often not reusable, which may pose the need to recreate the
code if is needed to use in another application
Difficult to relate with real-world objects
The importance is given to the operation rather than the data, which might pose
issues in some data-sensitive cases
The data is exposed to the whole program, making it not so much security friendly

Object-Oriented Programming Paradigm


Nearly every developer has used object-oriented programming (OOP) at some point
in their career. OOP is the most popular programming paradigm and is taught as the
standard way to code for most of a programmers educational career.
Object-oriented programming (OOP) is a programming paradigm that uses classes
and objects. It's used to break down a software program into reusable code blueprints
(called classes) that may be used to build specific instances of things. Object-oriented
programming languages include JavaScript, C++, Java, and Python, among others.

Usage and Examples


A class is a generic blueprint that may be used to make more specific, concrete
objects. Classes often represent broad categories, like Car or Dog that share attributes.

3|Page
PAN THU (LEVEL – 3 BATCH – 11)

These classes specify which attributes, such as color, an instance of this type will have,
but not the value of those attributes for a specific object. Classes can also include functions
known as methods that are only available to objects of that kind. These functions are
defined within the class and perform some action helpful to that specific type of object.
Object-oriented programming has four basic concepts: encapsulation, abstraction,
inheritance, and polymorphism. Even if these concepts seem incredibly complex,
understanding the general framework of how they work will help you understand the basics
of an OOP computer program.
Encapsulation: In OOP, encapsulation refers to the bundling of data, along with the
methods that operate on that data, into a single unit.
Abstraction: Abstraction is the concept of object-oriented programming that "shows"
only essential attributes and "hides" unnecessary information.
Inheritance: Inheritance is the procedure in which one class inherits the attributes and
methods of another class.
Polymorphism: Polymorphism is one of the OOPs feature that allows us to perform a
single action in different ways.
Object-Oriented Programming is the most popular programming paradigm for no
reason. It can be used in a lot of fields such as client-server systems, Hypertext and
Hypermedia, Object-Oriented databases, CIM/CAD/CAM systems and AI expert systems.\

Advantages
With OPP, instead of having to start writing code from scratch, we may build programs
from standard functioning modules that communicate with one another, saving time
and increasing productivity.
The OOP language allows us to divide the program down into small problems that can
be solved quickly (one object at a time).
The new technology promises increased developer productivity, higher software
quality, and lower maintenance costs.
OOP systems can be simply upgraded from tiny to large systems.
Multiple instances of objects can coexist without interfering with each other.
We can minimize redundant code and increase the use of existing classes by using
inheritance.

Disadvantages
The length of programs written in the OOP language is significantly greater than that
of procedural programs. As the program grows in size, it takes longer to execute,
resulting in slower program execution.

4|Page
PAN THU (LEVEL – 3 BATCH – 11)

We cannot use it everywhere because OOP is not a universal language. It is only used
when absolutely necessary. It is not appropriate for all problems.
Since using OOP is a little challenging, programmers must have excellent design and
programming skills, as well as adequate planning.
It takes some time to become used to OOPs. The thought process involved in object-
oriented programming may not be natural for some people.
Everything is treated as object in OOP so before applying it we need to have excellent
thinking in terms of objects.

Event-Driven Programming Paradigm


The flow of program execution in event-driven programming is determined by
events, for example a user action such as a mouse click or key press, or a message from
the operating system or another program. An event-driven application is one that detects
events as they happen and responds with an appropriate event-handling method.
Event-driven programs can be written in any programming language, but some
languages (for example, Visual Basic) are specifically designed to facilitate event-driven
programming by providing an integrated development environment (IDE) that partially
automates code production and provides a comprehensive selection of built-in objects and
controls, each of which can respond to a variety of events. Event-driven programming is
supported by almost all object-oriented and graphic programming languages. Such
languages include Visual Basic, Visual C++, and Java.

Usage and Examples


The scheduler, which receives a stream of events and delivers each one to the
appropriate event-handler, is the core of an event-driven program. The scheduler will
remain active until it detects an event that causes the application to be terminated. The
scheduler may come across an event for which it is unable to assign an appropriate event
handler under certain conditions. The scheduler can either ignore or raise an exception
depending on the nature of the event (this is sometimes referred to as "throwing" an
exception).
The events are handled by a central event-handler (also known as a dispatcher or
scheduler) that operates in the background and waits for something to happen. When an
event occurs, the scheduler must identify the type of event and contact the relevant event-
handler. The scheduler's information to the event handler will vary, but it will give enough
information for the event handler to take any necessary action. Event-handlers can be
seen as small blocks of procedural code that deal with a very specific occurrence. They will
usually produce a visual response to inform or direct the user, and will often change the
system’s state.

5|Page
PAN THU (LEVEL – 3 BATCH – 11)

Event-driven programming is generally used in three cases: When programming


games in which a set of objects carries out control flow; when creating server applications,
it is undesirable to spawn service processes if, for one reason or another; when building
user interfaces, including graphical ones.

Advantages
If a programmer wishes to update something, they can easily do with event-driven
programming.
The user can select several tools from the toolbar to construct what they need instantly,
such as buttons, radio buttons, and so on.
Since you can directly modify the object you want the code for with event-driven
programming, it can make programming easier for some people.
For both sides of the DevOps Bridge, it allows for a very clear and understandable
paradigm.
It enables more interactive programming.
It makes it simple for sensors and other hardware to communicate with software.

Disadvantages
Event-driven programming is usually more difficult and time-consuming than batch
programming for basic programs.
The program's flow is typically less logical and obvious.
Errors can be more difficult to spot than with simpler, procedural programs.
Complex graphical user interfaces may take longer to load and operate than simpler
programs, especially if RAM is insufficient.
Too many forms in a program might be confusing and frustrating for the user.

6|Page
PAN THU (LEVEL – 3 BATCH – 11)

TASK - 2
The following is the programming language we use in our company and
what tasks they are used for and why.

No. Programming language Task Reason


1. Java For making simple and • Java allows you to
intuitive user use existing designs
interfaces for components like
3D graphics,
deployment models,
tabbed panels, trees,
lists, and scroll panes
• Java allows you to
design and create
your own GUIs in no
time at all and easy
for everyone
2. Python For software testing • Python can aid in
and prototyping tasks like build
control, bug tracking,
and testing
• Python allows you to
automate testing for
new products or
features
3. C# For developing • C# is used to develop
professional, dynamic websites that are
websites on the . NET incredibly efficient
platform since it is object-
oriented
• C# is easily scalable
and a breeze to
maintain

7|Page
PAN THU (LEVEL – 3 BATCH – 11)

Factors influencing the choice of programming languages


There are many factors that affect the choice of programming languages,
the key factors are cost, organization policy, availability, reliability, suitability,
time constraints, expandability and sustainability. When selecting a programming
language, all of these variables should be taken into account.

Cost
Cost is one of the most important aspects because it might affect the
creation and upkeep of that software. The scale of the project must be considered
when creating a software project. The number of programmers you hire may differ
based on the project's size. For instance, a large project will require a large
number of programmers and hiring them can be highly expensive. Keeping the
programmers on staff to maintain the project and keep it current and error-free
will cost money over time. Some languages, however, may allow for more cost-
effective development since they are simpler, quicker to build, and easier to
maintain.

Organization Policy
Policies in large organizations outline the computer hardware and software
that should be used. The policies of the company might be influenced by even
large insurance companies. Organizations create environmental systems and
company standards. Standards assist businesses in ensuring that competitors are
similar in some respects and different in others. Constant system environment
maintenance makes it simpler to plan for any upcoming maintenance so that new
updates can be installed.

Availability
The right tools and features must be available for the programming
language to be widely used. The right features and tools can accelerate and
streamline manufacturing. In addition, it can make code more sustainable. The
features should fill the client requirements because not all programming languages
have multi platforming, meaning it will have poor availability. There should be a
good integrated development environment for the programming language (IDE).
The use of an IDE will speed up the creation of interactive applications and simplify

8|Page
PAN THU (LEVEL – 3 BATCH – 11)

maintenance in the future. It should be also thinking about whether the chosen
programming language in a project is popular because if it’s not it can increase
the payroll costs.

Reliability
Some programming languages already include mechanisms to keep them
from crashing. Before selecting a programming language, the organization must
consider how simple it will be to repair a crash. Additionally, does the business
spend more money on a programming language that is more dependable, but is
it worthwhile? These are important things to consider before deciding on a
programming language so that the business may avoid any future issues.

Suitability
To be sure the programming language is suitable, it must first be able to
run on all platforms that will be utilized. Next, it must be able to support several
people at a time. Some programming languages are only compatible with specific
hardware or software. They only support particular tools and functionalities on
particular applications, which is the cause of this. Before beginning a project, it's
critical to determine whether the programming language is appropriate; doing so
can help you save time and money.

Time Constraints
The consideration of time is also crucial while selecting a programming
language. This is owing to the fact that it relies on the project's due date. For
instance, choose the right language is essential if you have a limited amount of
time and a deadline, as certain programming languages require more time to use
than others.

Expandability
Some programming languages are better at handling large number of users
without crashing than others. The reason for this is that some languages are better
at scaling or expanding as they have features that support large number of users.
For instance, a good programming language with expandability features is
required for an interactive website in order to handle a big number of users.

9|Page
PAN THU (LEVEL – 3 BATCH – 11)

TASK - 3
Programming Structures
Behind every software program we use on a daily basis is a code that uses
a variety of terms and symbols. Surprisingly, it can often be broken down into
three simple programming structures called sequences, selections, and loops. The
most basic instructions and algorithms for all sorts of software are made up of
these elements.

Sequence Structure
A sequence is a list of elements that are
created in a fixed order. Different programming
languages create sequences in different ways.
There can be any number of activities in the
sequence, but none of them can be skipped. An
action, or event, in a sequence structure leads to
the next ordered action in a specified order. For
instance, action 1 is carried out first, followed by
action 2, then action 3, and so on, until all of the
actions in the sequence have been completed. When
the program is run, it must carry out each action in
the order specified, with no chance of skipping or branching to another action.

Selection Structure
The Selection Structure is used to make a decision or a comparison, and
then choose one of two paths based on the outcome of that decision or
comparison. The condition must return a true (yes) or false (no) response. The
program does one set of tasks if the condition is true. When you go to clean your
teeth, for example, you realize you're out of toothpaste. "Do I have any more
toothpaste?" you'd then ask. If the answer is no, you'll want to include it on your
shopping list. If the answer is yes, however, you would simply use the toothpaste.
A selection's primary purpose is to answer a question based on what it discovers.
The selection structure is differentiated into three parts: single selection, double
selection and multiple selection.

10 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Single Selection
Single-Selection or Single-Answer Questions are those in which the user is
asked to choose only one response from a pre-determined set of two or more
options. They're one of the most prevalent survey question types, and they're
good for figuring out a user's top pick from a list of options. Single selection can
be written with if command in Java. Consider the case when an exam's passing
grade is 60. The program determines whether or not the statement "student's
grade is more than or equal to 60" is true. "Passed" is printed if the condition is
true, and the following pseudocode phrase in the order is executed. The Print
statement is ignored if the condition is false, and the next pseudocode statement
in the order is executed.

Double Selection
If the condition is true, the if single-selection statement performs the given
action; otherwise, the action is skipped. But int the if...else double-selection
statement, when the condition is true, it allows the programmer to specify one
action to take and another action to take when the condition is false. If the
student's grade is more than or equal to 60, the pseudocode statement prints

11 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

"Passed," but if the student's mark is less than 60, it prints "Failed." In either case,
the following pseudocode statement in the sequence is executed after printing.

Multiple Selection
Occasionally, an algorithm will contain a series of decisions in which a
variable or expression is tested separately for each of the constant integral values
it may assume, and different actions are taken. This is called multiple selection.
Unlike Double selection, you can choose more than two options in Multiple
selection. For example, if the student gets lesser than 40 marks, “Failed” is
printed. If he gets lesser than 60, “Passed” is printed. “Merit” for lesser than 80
and “Distinction” for 80 marks and above. The statement can be written in else if
command in Java.

Looping Structure
Loops are one of the
most fundamental
and useful programming concepts. In a computer program, a loop is an instruction
that is repeated until a certain condition is met. The loop in a loop structure asks
a question. If the response requires action, it is carried out. The same question is
asked over and over until there is no more action required. An iteration occurs
each time the question is asked. A loop can save time for a computer programmer
who needs to use the same lines of code
multiple times in a program. A loop is a
concept that is included in almost every
programming language. Various types of
loops can be handled by high-level
programs. There are three main types of
loops used in these high-level programs:
for loop, while loop and do while loop.

12 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

For Loop
The for loop is a conditional iterative statement in programming that is used
to check for certain conditions and then execute a block of code continuously as
long as those conditions are met. The for loop differs from other looping
statements in that it has an explicit loop number or loop variable that allows the
loop's body to know the exact sequence of each iteration.

While Loop
One of the most prevalent loop types is
the while loop. A while loop's fundamental
feature is that it will repeat a series of
instructions based on a condition. The code
inside the loop will keep repeating as long as the
loop returns a TRUE Boolean value. When we
don't know how many times a code needs to be executed, we use this type of
loop. Keep in mind that you'll need a way to set the condition to false in order to
stop the 'while' loop from running indefinitely.

Do-While Loop
If you recall how the for and while loops work,
you'll know that at the start of the loop, these loop
types check for the loop condition. The loop will not
be run unless the condition is satisfied. The do while
loop checks the condition at the end of the loop. This
means that even if the condition is never true, the
statements inside the loop body are executed at
least once.
If the condition is true, the control returns to the loop's beginning. The
control leaves the loop if the condition is false. This means that before the
condition is tested, the statements inside the loop are executed. In all cases where
the loop body must be executed at least once, the do while loop should be used.
When actions are to be repeated based on user input in a menu-driven software,
we often require a do while loop to figure out which action the user wants to do.

13 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

When the user input is comparable to an exit command, the control breaks out of
the loop.

14 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

TASK - 4
Why having different Data types is beneficial
A data type is an attribute that instructs a computer system how to
interpret its value. Knowing the different types of data helps to ensure that each
property's value is as expected, and that data is collected in the correct format.
To define event properties and entity properties appropriately, one must have a
solid understanding of data types. The data type for each property must be
included in a well-defined tracking plan in order to guarantee data correctness
and avoid data loss.

The data type will also determine what logical, mathematical, or relational
operations and actions can be performed on it. In the majority of computer
languages, if not all, data types are fundamental. Values are given data types to
ensure the correct, error-free operation of that data.

Data types are used in many purposes depending on the value, which are:

1. Determining how much space is required for a value.


2. Determining which operations are acceptable on a value.
3. Determining which implementation of a specific operation is appropriate for a
specific value.
4. Describing the kind of data that the program is supposed to handle and its
intended use.
5. Demonstrating that a particular behavior of the program is correct.

Because of these points, programming has become easier and error-free.

Different Data Types

Data type Where to use Space occupied


names
byte – Used to store small number of 8 bits (-128 to 127)
whole integers
number (E.g., byte number;
number=10;)

15 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

short – Used to store a little more 16 bits (-32,768 to 32,767)


whole number of integers than byte
number (E.g., short number;
number=1000;)
int – whole Used to store large number of 32 bits (-2,147,483,648 to
number integers 2,147,483,647)
(E.g., int number;
number=100,000;)
long – Used to store very large 64 bits (-
whole number of integers 9,223,372,036,854,775,808
number (E.g., long number; to
number=100,000,000,000;) 9,223,372,036,854,775,807)
float - Used to store decimal 32 bits (up to 7 decimal
decimal numbers digits)
(E.g., float decimal;
decimal=0.001;)
double - Used to store larger decimal 64 bits (up to 16 decimal
decimal numbers than float digits)
(E.g., double decimal;
decimal=0.000001;)
char - Used to store single One character at a time
character characters
(E.g., char letter;
letter=a;)
String - Used to store multiple Multiple characters at a time
character characters
(E.g., String word;
word=computer;)
boolean – Used to store true or false true or false
true or false statements
(E.g., boolean result;
result=true;)

16 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

TASK - 5
Software Development Life Cycle
When developing software, hardware, or any other type of product, you will
go through various stages; we call these stages the System Development Life
Cycle. Any System Development Life Cycle (SDLC) should normally result in a
high-quality system that meets or exceeds customer requirements, is completed
on time and within budget, performs effectively and efficiently, and is economical
to maintain and enhance. The steps followed in many life cycles are essentially
the same; however, some life cycles are more dynamic or iterative than others,
which can influence how, for example, software is designed, tested, and
implemented in a specific context.
Generally, Software Development Life Cycle divides into 7 important parts.
There are different steps in different life cycles, but they share the same idea.
These steps are:
1. Planning
2. Define Requirements
3. Design and Prototyping
4. Software Development
5. Testing
6. Deployment
7. Operations and Maintenance

Planning
The planning stage (also called the feasibility
stage) is exactly what it sounds like: the phase in
which developers will plan for the upcoming
project. It aids in the identification of the problem
and scope of any existing systems, as well as the
determination of the new systems' objectives.
They'll theoretically discover problems before they affect development by
creating an effective outline for the upcoming development cycle. And assist them
in securing the funding and resources they require to carry out their plan.
Feedback from the stakeholder can also be included into the planning process.
Anyone who stands to benefit from the application is referred to as a stakeholder.

17 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Obtain feedback from prospective customers, developers, subject matter experts,


and sales representatives. Perhaps most crucially, the planning stage establishes
the project schedule, which is essential if the product is being developed for a
commercial product that must be released by a specific date.

Define Requirements
Gathering all the specific details required for a new system, as well as
defining the first prototype concepts, is part of the define requirement step.
Developers may: Define any prototype system requirements that they want;
Evaluate alternatives to existing prototypes; Conduct research and analysis to
discover end-user requirements.
Furthermore, developers will often create a software requirement
specification or SRS document. This document contains all the software, hardware,
and network specifications for the system they intend to create. When working in
the same place as other development teams, this will prevent them from
overdrawing funding or resources.

Design and Prototyping


The design stage is required before
moving on to the primary developer stage. Developers
will start by outlining the overall application's details,
including user interfaces, system interfaces, network
and network requirements, and databases.
They'll usually convert the SRS document into a
more logical structure that can be implemented in a
computer language later. Operation, training, and
maintenance plans will all be drawn up so that developers know what they need
to do throughout every stage of the cycle moving forward. When the project is
finished, development managers will create a design document that will be used
throughout the SDLC.
Prototyping is a step in the design process. In the Iterative software
development approach, a prototype is similar to one of the early versions of
software. It gives developers a general concept of how the app appears and
functions. Stakeholders will be able to see this "hands-on" design. With their

18 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

feedback, developers can improve the project. It is less expensive to make


changes in the Prototype phase than it is to rewrite code in the Development
phase.

Software Development
The development stage is when programmers write code and build the
application based on the design documents and specifications that were previously
created. The product program code is written in accordance with the design
document's specifications. All of the prior planning and outlining should, in theory,
make the actual development phase relatively simple. Developers will follow the
organization's coding rules and use various tools such as compilers, debuggers,
and interpreters. C++, PHP, and other programming languages are examples of
common programming languages. Based on the project specs and requirements,
developers will select the appropriate programming code.
Many other tasks are included in the coding process. Many developers need
to brush up on their abilities or collaborate with others. It's vital to find and resolve
errors and flaws. Tasks often hold up the development process, such as waiting
for test results or compiling code so an application can run. SDLC can anticipate
these delays so that developers can be tasked with other duties.

Testing
Building software isn't the end of the process. It
must now be thoroughly tested to ensure that there are
no issues, and that the end-user experience is not
harmed in any way. Developers will go over their
software with a fine-tooth comb during the testing
stage, identifying any flaws or defects that need to be
recorded, corrected, and retested.
It's critical that the software meets the quality
requirements set forth in the SRS document. Testing can take an incredibly short
time or a very long period, depending on the developers' skill, the complexity of
the product, and the end-user needs.

19 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Deployment
The general design for the software will come together after testing.
Developer efforts will integrate different modules or designs into the core source
code, frequently by employing training environments to find additional faults or
defects. The information system will finally be built and incorporated into its
environment. After clearing this stage, the program is considered market-ready
and may be distributed to any end-user.
Many businesses prefer to have the deployment phase automated. This
might be as straightforward as a payment portal and download link on the
company's website. It could also be the installation of an app on a smartphone.

Operations and Maintenances


The SDLC does not end when
the software is released to the public.
Developers must now enter maintenance
mode and begin practicing any procedures
necessary to address issues identified by
end users.
Developers are also in charge of
implementing any updates that the software
may require after it has been deployed. This can include resolving new issues that
arise as a result of user reports or dealing with leftover bugs that were not able
to be corrected before launch. In comparison to smaller systems, larger systems
may require more maintenance phases.

20 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

TASK - 6
Designing a solution to a defined requirement using appropriate tools

Data Saving Form

Data Search Form

21 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Data Display Form

Main Menu

22 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

MERIT - 1
The importance of the quality of code
It is crucial to have high-quality code since it makes the programmer's
application more streamlined and usable. By writing high-quality code, a
programmer can decrease the amount of memory required for the application,
lower the frequency of logical and run-time mistakes, and increase the simplicity
of maintaining the application. Efficiency, reliability, robustness, usability,
portability, sustainable, and maintainability are only a few factors that might affect
the overall quality of the code.

Efficiency
If the code is written without any errors, then the quality of the code will
be highly efficient. This means that the program can perform instructions,
operations and calculations as quick as possible. Code efficiency also helps with
the speed and performance of a computer. This is important because having an
efficient programming code will make sure that the program will be very
productive. Another reason why it is important is that it can reduce the risk of the
program being slow. You can make sure that the code is efficient by removing any
unnecessary or unwanted code. This will reduce the amount of code that is being
used and improves the speed of the program or computer.

Reliability
High quality code has to be reliable. This is because the code has to be fully
functional, not break down and not contain errors every time the code is executed.
The results of the code has to produce the same results every time the data is
executed. If it does not produce the same results than it means that there is an
error in the code. Sometimes the program will not crash, it will usually show an
error message, or the program will still run but it might produce the different
results. It is important for the programming code to be reliable because if it is not,
then the program will be producing many errors or will keep crashing. You can
make sure that the code is reliable by taking time to thoroughly testing the
program as it will reduce the risk of its crashing in the future.

23 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Robustness
Robustness is the ability of a computer program to run with errors during
execution. The code should be executed and fully functional without any errors
being identified. For the program to be as robust as possible, it has to be tested
thoroughly to ensure that it works properly and can cope with different data being
entered. It is important for the program to be robust because you will need it to
run without crashing or displaying any error messages. You can make sure that
the code is robust by thoroughly testing the program. You need to do this so that
in the future, you will know how to solve the problem if one was to appear.

Usability
Usability means how easy it is for the user to use and understand the
program. Good quality code should be easy to follow and easy to edit. It is
important for good quality code to be provided usability because this makes it
easier for the user to use and understand the program. In addition, this should
not give any errors or produce the incorrect results because it will make it harder
for the user to understand how to user the program. This is essential because it
needs to be user friendly.

Portability
A programmer must think about how to make an application portable when
writing the code for it (compatible with a range of different hardware and
platforms). Depending on the needs of the client, having well-written code can be
crucial to making the program more portable. For instance, if a programmer was
tasked with creating a game application that could be used across various
platforms. This may or may not be achievable then, depending on the quality of
the code. Therefore, a suitable programming paradigm and language should be
adopted to aid in enhancing the quality of the code.

Sustainable
When software can survive throughout time with few changes, it is said to
be sustainable. An average software life is accounted to be around six years, but
poor software quality does not last even half of this time duration. It's because
software change increases along with the evolution of operating systems and

24 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

hardware. The low quality of the code makes transformations difficult and
occasionally impossible.

Maintainability
It's important to think about future maintenance when creating code. For
instance, addressing problems, enhancing present functionality, or introducing a
new application extension. Therefore, it's essential for a programmer to provide
high-quality, maintainable code. This can be accomplished by adding comments
to the code and utilizing proper, acceptable naming standards for variables. By
making the application easier to maintain after it is released, simple techniques
like these can raise the overall quality of the code. Additionally, the readability of
the code is enhanced by using these techniques to produce high-quality and
maintainable code. When fixing bugs, this can assist programmers in debugging
and locating mistakes.

25 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

MERIT - 2

Justifying the choice of data types and software structures used in a design
solution
In the following, I will go over and explain the application pre-design I
created for the SMART PRIVATE SCHOOL. I created four forms as I was told in the
senecio which are data saving form, data search form, data display form and main
menu form.
First of all, I started by data saving form. Data saving form is where user
inputs data to save to the databases of the school. These data include student id,
student name, batch name, father name, academic year, date of birth, address,
and phone number. As you can see in the screenshot, I put these labels and text
fields next to these labels. For student id, student name, batch name, father name,
address and phone number, you can just type in the data since they are text field.
But for academic year and date of birth, I used combo box. So, you have to select
the data form the given option. That’s because the data for these labels are limited
and I don’t want user to
be misunderstood. It is
also good for the
database since it has to
accept fewer invalid
data. After you have
typed in and selected
your data, you can
press “SAVE” button to
save your data to
database. Press
“Cancel” button when
you made a mistake
and want to restart the
data inputs and don’t
want to delete manually. It will remove all the data you have typed in in the text
fields. “Main Menu” button will lead you to main menu form where all the forms
are linked together. And “EXIT” button will shut down the application entirely.

26 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Next, I created data search form. Data search form is where you can search
data form the database. But to search data, you need to choose which data type
you want to search with. There is three data type you can choose as in the screen
shots: student id, student name, and academic year. I put them in radio pattern
so that you can choose only one of them. After you choose, you can type in the
data you want to search in the text field down below. Then, if you press “SEARCH”
button, the data display form will appear with the data you searched for. And if
you press “CANCEL” the data in the text field will be removed. As usual, press
“Main Menu” button to open main menu form and “EXIT” button to quit the
application.

The next form I created was data display form. This form is where you can
see the saved data from database. So, I put a table at the center of the form. That
table is where you can see the saved data as in the screen shots. Every time you

27 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

input another data in data saving form, another row will be added there with the
data you input. The “SEARCH” button below the table is where you can go to the
data search form to search the data from the table or database. And as usual for
the “Main Menu” button and “EXIT” button.
The last form I created was main menu form. This form is where all the
forms I created earlier are linked together. As you can see in the screen shot,
there is three button: Saving Form, Search Form and Display Form, in the center
of the form. If you press them, they will lead you to their respective forms. For
example, if you press “Data Saving” button, data saving form will appear.
Similarly, data search form for “Data Search” button and data display form for
“Data Display” button. And there is the “EXIT” button at the right-bottom corner,
where you can close the application.

These are all the forms I created for the SMART PRIVATE SCHOOL.

28 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

DESTINCTION – 1
What is readability of a code?
Simply, readable code is just code that makes its intent perfectly clear to
the reader. Most likely, other developers will read the code we produce and wish
to either understand or change how it functions. The code may need to be tested,
a bug fixed, or a new feature added. These other developers might be our
coworkers, a consultant, a new junior developer, or even developers from a
different company who are creating code for a particular portion of the application.
In doing so, whether they can understand the code that you wrote clearly of not
is the readability of that code.

Why is readability of a code important?


Since our software code might have to be shared with other developers, we
need to make it easier for them to be able to use the code with no difficulites. To
do this, we must ensure that everyone, including ourselves, can swiftly and readily
understand what is being said. Code that one person can read might not be
readable by another. We can waste a lot of time on what ought to be a simple
activity by struggling to understand unreadable code. The worst-case possibility
is that some issues can even require multiple iterations to be fixed. Sometimes
we may spend so much time trying to comprehend code that we may feel the need
to entirely rewrite it.
On the other side, readable and well-tested code is what makes it easier to
refactor, extend and modify sections of the system because it is easier and less
time-consuming to comprehend. The foundation of a strong base, where
developers feel assured and prompt to make modifications, is readable and
thoroughly tested code. Naturally, producing well-readable code requires more
work than writing it fast and carelessly. At Direct Impact, we think that readable
code has advantages over poorly created code that could have more problems.
We must follow to basic coding practices in order to develop decent,
readable code.

29 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Factors influencing the readability of a code


Code can be made more readable in a number of ways. To make the code
more readable the programmer can add color coding, camel casing, comments,
indentation, collapsible boxes and white spaces.

Color coding
The use of color coding is important while creating programs. Many IDEs
(Integrated Development Environments) automatically color-code programs while
they are being developed, which makes the code easier to read. It is up to the
software that is used to modify and develop the code to color code because code
cannot be directly colored and saved in those colors. Green, which is used for
comments, blue, which is used for phrases like if else, loops, and functions, and
red, which is used for user input/output, are the most often used colors. There are
many IDEs that color-code things like Visual Studio.
By doing so, the readers will understand the uses of the code and which
part of the code performs what function with just a glance. If there is no color
coding the readers have to read the code themselves and analysis the code
themselves which is very time consuming.

Camel casing
Since most programmers use camel casing because it makes the program
simpler to understand, camel casing is essential while creating programs. When a
word is concatenated, the initial letter of each concatenated word is capitalized
and the first letter of the identifier is lowercase (camel casing). It is up to the
programmer to use camel casing because the majority of IDEs do not impose it.
The program will run just fine even if we didn’t use camel casing. But the
problem is when the other programmer try to use the code. If camel casing is
used initially, he will have no problems comprehending the name the of the class
and what they represent. If not there might leads to a serious misunderstanding.

Comments
Since they make it simpler for programmers who weren't the program's
original creators to understand it, comments can make code more understandable.
Programmers can also benefit from using comments because they make it simple

30 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

to understand code and determine what each line of code performs. Additionally,
comments assist programmers in finding flaws and in improving the code so that
errors are easier to find and solve. Depending on the programming language being
used (such as C#, C++, etc.), comments vary.
Comments can help developers divide the portions of the code. Not only
that it can be used to make the code a lot easier to reused. For example, a part
of the code was written in a certain way and you want other programmers who
will be using the code to know, then you can use comments to tell them. If you
didn’t leave any comments, they will be confused and possibly make mistakes.

Indentation
Indentation is important when developing a program as IDEs will
automatically indent the code for the user, which helps make it easier to read the
code. When the code is indented, it is performed thus in accordance with the
structure of the code. This is organized according to the sections of the code that
are included within a function, class, or square brackets ().
Indentation is a tool used by programmers to help human users understand
the structure of their programs. The relationship between control flow elements
like selection statements or loops and the code inside and outside of them is best
represented by indentation.

White Spaces
White space is crucial because it is used to divide a program into lines,
which are forced sections of code that output over multiple lines. One of the most
popular ways to use white spaces in programming languages is to use the identifier
n, which instructs the programs to force the space onto a new line. Overall, this
makes things a lot easier because you can input everything on a single line and
use the output on a different line rather than having to repeat the same line of
code.
Whitespace may set things up and ease the reader's eyes from strain. You
can format it whatever you want and place stuff wherever you want because the
compiler ignores whitespace.

31 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Collapsible Boxes
Code or text folding, or less commonly holophrasting, is a feature of some
graphical user interfaces that allows the user to selectively hide or display parts
of a document. With only the subsections that are now of interest visible, the user
is able to manage large amounts of text. Most IDEs, including Visual Studio, offer
collapsible boxes.
Use collapsible boxes to hide sections of code that you might not need to
update or modify. It’s important to use them if you are running out of space of to
develop the program on your screen because it will hide that area of code but it
won’t delete it.

DESTINCTION – 2
Developing algorithms to represent a design solution

Data Saving Form

32 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Data Search Form

Data Display Form

33 | P a g e
PAN THU (LEVEL – 3 BATCH – 11)

Main Menu

References websites
https://hackr.io/blog/procedural-programming
https://www.educative.io/blog/object-oriented-programming
https://www.uniassignment.com/essay-samples/information-technology/the-factors-
influencing-choice-of-programming-language-information-technology-essay.php
https://divisionartistcom.wordpress.com/factors-influencing-the-choice-of-programming-
languages/#:~:text=There%20are%20many%20factors%20that,when%20choosing%20a%20prog
ramming%20language.
https://edu.gcfglobal.org/en/computer-science/sequences-selections-and-loops/1/
https://flylib.com/books/en/2.254.1/if_single_selection_statement.html
https://flylib.com/books/en/2.253.1/ifelse_double_selection_statement.html
https://www.techyv.com/article/what-are-datatypes-and-variables-java/
https://prezi.com/dnphscb-0_xq/p5-explain-the-role-of-software-design-principles-and-softw/
https://studylib.net/doc/5397661/software-development-lifecycle-p5---let-s-e
https://www.codegrip.tech/productivity/what-is-code-quality-why-is-it-
important/#:~:text=Good%20quality%20of%20code%20makes,to%20read%20and%20implemen
t%20changes
https://app.works/the-importance-of-code-readability/
https://dzone.com/articles/10-tips-how-to-improve-the-readability-of-your-sof

34 | P a g e

You might also like