Vous êtes sur la page 1sur 10

Software Development and Design

In this report I will be describing the application and limits of procedural, object
oriented and event driven programming paradigms, I will also be describing the
factors influencing the choice of programming language, explaining the sequence,
selection and iteration as used in computer programming, outlining the benefits of
having a variety of data types available to the programmer, explaining the role of
software design principles and software in the IT systems development lifecycle,
and finally use appropriate tools to design a solution to a defined requirement.

Programming Paradigms
Procedural Programming Paradigms
Procedural programming is the programming which is similar to an instruction
manual or a step by step guide, to enable the programming to work, you must
create a few steps in order, and then allow the computer to make the program
work. The programming will do the first step, then the second step, then the third,
and so on. Some examples of procedural programming languages are C++, C,
Fortran, Pascal & Basic.
The application of procedural programming paradigms can help users solve
scientific and engineering calculations.
The limitations of procedural programming languages include: the modifications are
extremely difficult to change due to the layout, and thus you have to go through the
entire program to find the error.

Object Oriented
Object Oriented Programming Paradigms
Object Oriented Programming or OOP is a programming language which is
organised around logic and objects rather than actions and data. Object Oriented
Programming also describes databases of data structures; it is a programming
concept which uses object to develop systems, examples of Object Oriented
Programming languages include C++, and Java.
The Application of OOP is that it is easier to modify the code and change them
around, as the language allows the user to place code in classes, the data is
accessed by special rules which are called methods to change code.
The limitations of object oriented programs are that they have a bigger file size as
they have many lines of code for standard applications and due to this they are
more likely to run slower as they require a larger amount of storage to run.

Event-Driven
Event-Driven Programming Paradigms
Event-driven programming is a programming in which the flow of the program is
established by clicking of the mouse, pressing of keys, and messages from
programs, etc. An example of event-driven programming is when the user hovers
over an object with the cursor, the computer waits for user input or displays what
you want to see before clicking such as the full name of the file or program.
The application of event-driven programming is that it can be modified easily if the
user/programmer wants to change something in the code, another advantage is
programs which use event-driven programming can be made as easily due to the
lack of difficulty of learning and understanding the language.
The limitations of event-driven programming are that the programs which are
created through event-driven programming have huge file sizes and thus are

memory intensive. Event-driven programs are commonly known to slow down the
computer as the computer uses a lot of processing power to carry out calculations
which make the programs run

Factors which influence the choice of programming languages.


The factors which influence the choice of procedural programming are to
organisational policy, trained staff and availabilities, reliability, expandability,
development and maintenance costs, and finally suitability in terms of features
tools.

Organisational Policy
An organisational policy is the rules and regulations which the company uses, A
company for example, Apple has a organisational policy which only allows the Apple
industry programmers to use Apple software to code, whereas Microsofts
programmers will only use Microsofts softwares. Other smaller companies may
have different organisational policies where they are only allowed to use one
operating system, or software from one company, the policy is used to choose the
correct software, operating system, etc in the organisation.

Trained staff and availabilities


The programmers who work on designing product they must be skilled in using a
particular language, so he/she can work on any language easily while creating a
new software. This skill will help them to complete the project faster. The
programmers must be well qualified to do the programming job, if not then there
can be some risks while designing the code.
The company could have different staff for different things, such as some staff could
be quite skilled in a specific language and due to this they can work with that
chosen language to create a new software, to complete the project quicker.
Reliability

The program which is made should be reliable, and easy to use, with a strong
network system, different programming languages have different features built-in.
Some softwares have no network systems and thus are likelier not to work.

Expandability
Many softwares support the usage of hundreds of thousands of people at the same
time, many softwares which do support these large numbers are more than likely to
crash. Some softwares have better features which support larger systems.
Development and maintenance costs
Maintenance costs and development costs are extremely high, if large companies
such as Apple or Microsoft make any errors, the profit will decrease. Large
companies will hire programmers that have a lot of knowledge as theyre more
reliable.
Suitability in terms of features and tools
Many programming languages are used for specific applications and softwares, and
thus have unique features and tools which support these applications.

Sequence
In terms of procedural programming, sequence is a group of statements which is
each executed in the orderly fashion they are written in. The sequence can contain
any number of actions, but actions cannot be skipped in the sequence. A simplistic
algorithm, for brushing teeth may be:
1. Put toothpaste on toothbrush
2. Use toothbrush to clean teeth
3. Rinse toothbrush
A toothbrush will still be used to clean the teeth, toothpaste will still be put on the
brush, but as step 1 and 2 are in the incorrect sequence, the teeth won't be cleaned
and the toothpaste will be wasted.

Selection

Selection is represented in programming through "if" statements. It is a decision or


a question. At one point in a algorithm there might be a question as the algorithm
has reached a step where single or multiple options are available. Depending on
which answer is given, the algorithm will follow specific step whilst skip others.

Iteration
Iteration is a process which is repeatedly executed. An example of iteration is a
loop, Iteration uses the "while" and "do while" variables. A "while" loop is
programmed to repeat itself, and will continuously repeat itself until the function is
true.

Benefits of having a variety of data types


There are many different data types that are used in programming, and all of them
have their own unique function. Some of the data types that I will be explaining are:
string, integer, char, float, and boolean. As previously mentioned there are many
more data types.
Firstly int or an integer is a whole number, as it is in mathematics. An integer is very
useful in creating a program as there will be numbers used in the program. This is
also used in handling numbers in different representations.
Secondly float, this is also used for numerical figures in a programming, however
unlike integer this data type doesnt only deal with whole number but it also
functions decimal numbers. This function doesnt have fixed numbers before the
decimal point or after.
The third data type I will be explaining is string; the string allows the user to hold
multiple characters or a block of text.
Another one is char this is a data type that holds only a single character, unlike
string which hold multiple, char is within the int data type, it also has a storage size
of 1 byte, it has a positive or signed range of -128 to 127, and a negative range of
0-255.

Finally boolean, it expresses a series of data with true or false statement, it can be
written in coding or algorithm. Boolean is a series of statements which can be true
or false. If statements consist of a Boolean expression followed by one or more
statements.

Software design principles


When designing a program, the creator should abide by the four software design
principles, which will allow him to design a more intelligent program, the four
principles are explained below.
Reliable and robust
Whilst making a program, the creator should be able to deal with errors by showing
an error message, and not the program crashing or stopping, as some users may
use it in the way the creator expects them to use it but some may not, and due to
this a different type of result will take place, yet this result should be tested and
upgraded so any wrong moves which are made by the user, result in a message
rather than a crash. The reason the error message shows up is so the user knows
they are not using the program properly, or doing something wrong
Usability
Usability is very important in a program as it makes it easier to use, an example of
usability is clear labeled controls, buttons, text boxes, etc. A program should be
designed to be used easily, if it is in a default language the user doesn't
understand, he should be able to navigate and change the language, this can only
be done if the usability of the program is good.
Portability
The program which is made should be upgraded to work on the latest hardware or
software platforms, if a new program only works on very old software platforms,
there is no use of it, as the best programs should be on the latest software
platforms as well as the earliest.
Maintainability
The program should be maintained with updates, issues fixing and new features, an
example of a game which follows these rules is GTA V from Rockstar Industries, the
reason why this game is extremely popular is as it has new updates every month or
so, in which new features are available such as Christmas update with Santa
clothing, elf clothing, Christmassy vehicles, etc. If a bug is found it is quickly fixed
before it affects many people playing the game, causing the rating of the game to
decrease.

Software development lifecycle


The software development lifecycle consists of steps that are taken in order to
create a well laid out and organised application. There are particular steps that are
taken in order for the program to be up to the right standard, with the ability to
change and update the program.
The software development life cycle is made up of 6 steps; which are:
Gathering user requirements.
This will include what the clients wants from the program and how they would want
the layout and how the program should work.
Create specification
This is the client's specific aim and purpose of the website, in which the
programmer makes it as specific as they can. The client is then shown the program
and then the changes are amended.
Create design
In this part of the process the user's requirements are met and the program is
made. The design is made to work the way the client imagined it and described it to
be.
Write the program
This is the bit where the programmer starts the writing and the coding of the
program. There is a team of programmers that come together to code a program,
depending on how big the project is and how important it is.
Test the program
When the program is made it is then tested, to see that it works properly so that the
user has no problems with it. Each programmer tests their own model before it is
put together as one big program and tested as one whole program.
Maintain the system
The programmer then checks through the whole program and makes sure that there
are no problems with any of the program. If found, the programmer updates and
fixes any errors detected. Readability is important, as complicated software have
many programmers working on one project and it is important that they follow each
of the coding in the program. Comments are used to make it easier for the
programmer to understand what the program is doing in certain bits of coding. It is
also ignored by the computer, and makes code easier to read.
The steps go round in again.

Importance of the quality of code


Programmers tend to have a lot of experience in coding, and produce reliable and
robust systems. They have overcome problems that come with producing a software
overall. To be able to make the program durable and easy to use, programmers
create codes of high standards. This means that it is coded is made according to the
clients requirements and the functions are designed in a way that the user doesn't
have to sort the problems on their own, instead the program will respond
appropriately.
The readability of the code is easily maintained, in that it has many uses; such as
making use of the variety of code structures and good variable names, and correct
formatting. However, after the code is produced but individual programmers, it is
then tested singularly and as a whole many times.
There are many attributes of quality code, that are important when creating
programs as it improve the quality of the program. These attributes will be
explained below.
Not all programs are used in the correct way. As such the user may enter the wrong
data values into a variable, which can cause the program to crash or freeze. This is
where reliability and robust comes in. Programmers need to make a program that
has both these qualities because the program will need to be coded right in order to
find a suitable response to the user incorrect data.
Programs that a have reliability and robustness can deal with sort of errors
appropriately. The programmer can code the program in a way that if any errors
occur a message comes up asking to rectify the problem. Reliability and robustness
can be improved in many ways; such as checking user's input and output message,
carry out a validation routine, or test errors that users make before distribution. This
helps the program keep to high standards and ensures the system is used properly.
Programmers believe that high quality programs should be easy to use. They make
it simpler by creating a virtual interface; which allows users to interact with the
program. If, by client request, the program has characters and numbers the
programmer can code it so that it accepts them. However, if there are buttons, text
boxes, etc, on the program they can be put in order of function and groups, to make
it easier for users to understand and work the program.
Programs should be portable, so that it can be used on any device on different
software platforms. Portability is important if the program is made for different

users, so the program need to be suitable for any hardware and any language used
on the hardware.
Maintainability is much easier if the software is of high standards. With any program
once its run it is likely that it will have an error or a bug that was overlooked whilst
testing - they then fix it. Functionality will also be maintained by keeping the
software updated. Maintenance is easier with high standards because the
programmers have included comments, software structures and good variable
names. This doesn't just keep the maintainability but also the readability, so its
easier to detect errors. Other then that there are other methods of maintenance like
documenting the technical details of the location of the error.

References.
Marvel Adesile. (2014). Describing Applications and Limits. Available:
https://prezi.com/cv64ffdbghcx/p1-describe-the-application-and-limits-of-procedural-objec/.
Last accessed 13th June 2016.
Helal Baksh. (2014). Software Design and Development. Available:
https://prezi.com/scp4pz0dyd1s/unit-6-p1-and-p2-software-design-and-development/. Last
accessed 13th June 2016.
Unknown. (2014). Applications and Limits. Available:
https://prezi.com/mu0t3rasowoz/describe-the-application-and-limits-of-procedural-object-or/.
Last accessed 13th June 2016.
Unknown. (Unknown). Sequencing in algorithms. Available:
http://www.bbc.co.uk/education/guides/zsf8d2p/revision. Last accessed 14th June 2016.

Vangie Beale. (Unknown). What is sequence?. Available:


http://www.webopedia.com/TERM/S/sequence.html. Last accessed 15th June 2016.
Unknown. (Unknown). Procedural programmming structures. Available:
https://jfkcomputingrevision.wikispaces.com/procedural+programming+structures. Last
accessed 16th June 2016.
Sarah Wong. (2015). Sequence, selection and iteration. Available: https://prezi.com/tvoflvm1xf_/p3-explain-sequence-selection-and-iteration-as-used-in-computing/. Last accessed 21st
June 2016.

Vous aimerez peut-être aussi