Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Software Design and Development, A1, T1

No description
by

Jack Baker

on 7 August 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Software Design and Development, A1, T1

Software Design and Development
Programming Paradigms
A programming paradigm is "a fundamental style of computer programming", according to Wikipedia.
Types of Programming Languages
Programming Languages
In this presentation, I will cover a series of different things all linking to programming and various programming languages.

First will be different programming paradigms, followed by CASE tools and IDE. (Slides 3 - 8).
Second I will cover the main types of languages and the factors which influence the choice of language. (Slides 9 - 19).
Third I will discuss the importance of sequence, selection and iterations. (Slides 20 - 24).
Finally I will talk about data types. (Slides 25 - 26 )
There are three which will be covered here; Procedural, Object-Orientated and Event Driven.
For each one of these I will briefly discuss the advantages of them and the limitations.

I will then discuss CASE tools and IDE.
Procedural
Procedural programming uses a series of steps to reach its goal. This means it uses procedures; sections of the code which perform a function and then gets converted into an executable file.
Advantages
Limitations
Ability to re-use code.
Modular Programming.
Easy to read.
Must be done one step at a time.
Changing one piece of code will have a knock-on effect.
Difficult to modify.
Object-Orientated (OOP)
Created in the 1980's, this type of programming breaks tasks into modules, or 'classes'. This means that the entire program is broken down into smaller objects. This makes data hidden, therefore more secure.
Advantages
Limitations
Hidden data is secure.
Classes make it easy to add functions.
Classes make it easier to modify.
Similar to database work - easy to add new instances.
A lot of planning needed - a Bottom-Up Approach.
Often needs external software - although it's often free.
Program size is often large.
Doesn't suit all programs
Event-Driven
A programming paradigm in which the flow of the program is determined by events, such as sensor outputs, user inputs or messages from other programs.
Advantages
Limitations
Such a simple application leads to common mistakes in the program. This causes a lot of bugs.
Can be written in any language.
Often used in GUI (Graphical User Interface).
CASE Tools
Also known as Automated Design Tools,
CASE (Computer Aided Software Engineering) Tools provide some automation and assistance in program design, coding and testing.
These are tools which evaluate software systems according to the requirements given by the programs designer.
Examples are shown below:
CASE Tools and IDE
Checklist
- Provides a list of questions about key issues
System Flowchart
- Shows movement of input data, processing, and output or distribution of information.
Data Flow Diagram
- Shows data flow within an application.
CASE Tools and IDE
IDE
Integrated Development Environments (IDE) are programs which provide a source code editor, compiler and often a debugger.
The IDE keeps track of all files relating to a project and provides a central interface for writing source code, linking files together and debugging the software.*
Simply, IDEs help make programming easier and allow programmers to maximise their outputs.
*Information from:
http://pc.net/glossary/definition/ide
Visited 14th July 2013
Types of Languages and
Choice of Language

A programming language is a collection of symbols, words and phrases that instruct a computer to perform specific operations.
There are three main types of programming language:
Visual, Markup and Script.


Over the next few slides I will discuss each of these three languages in more detail, as well as discuss the factors influencing the choice of language.
Paradigms
Paradigms
Paradigms
Type of Language
Visual
Script
Markup
Type of Language
Type of Language
Programs which use this language are usually simple, designed to be used in Windows. They help you to create and design your own applications, as well as add a code to work or run the application. The software for this is usually free.
As the name suggests, it is a language which uses a visual representation, such as graphics or animations, rather than specifying program elements textually.
Examples of visual languages include Game Maker, Scratch and Kodu.
Not classed as a true language as it doesn't contain any loops. Instead, it gives instructions to control the format and layout of a program.
The most recognised of this type of language is HTML (Hyper Text Markup Language), the language of documents on the World Wide Web.
Within markup there are different types again - Presentational markup, procedural markup and descriptive markup.
Other examples of markup include XML, XHTML and SVG.
This type of language doesn't get compiled. Instead, it is interpreted by another program when it's run. Often this is used to add functionality to a web page, such as different menu styles or graphic displays.
Script can be split into client side and server side languages:
Client
- The data which the end users sees in the browser window.
Server
- Manipulates the data on the server, usually in a database.

Examples of script languages include JavaScript, PHP
and ASP.
It is worth noting that Visual Basic and the Microsoft Visual programs aren't actually Visual programming languages, despite the suggestive name.
An example of Scripting Language - JavaScript
Example of Markup Language - HTML
Example of a Visual Language - Scratch
Factors Influencing Language Choice
Choosing which language you want to use to develop a piece of software can be absolutely vital to its success. There are a number of factors to consider when choosing the language.
These factors are:
Organisational Policy
Suitability of Features and Tools
Staff Training
Reliability
Development and Maintenance Costs
Expandability
Organisational Policy
This is a policy put in place by an organisation to decide on the correct software to use. For example, Microsoft may be chosen due to the support which it provides, whereas Linux may be chosen as it's free. The policy also includes a default programming language, of which Java is the most popular.
Suitability
The first thing to consider when choosing is where the program is compatible with all platforms. For example, Visual Basic only works on PCs running Microsoft, whereas Java is much more widely compatible.
The second thing to consider is that some programs are specifically designed for a particular type of application. For example, Game Maker is specifically designed for
making games, not mathematical software.
Staff Training
A more popular language will mean that there are more
people available for the job. Choosing a language such as C++ would mean that the workers would know other key languages, at least to a basic knowledge, and would therefore be available for other jobs.
Reliability
Some programs will have built in features which help prevent them from crashing. For example, ADA can be strongly written and with powerful compilers to make it a reliable choice in a number of situations.
Development and Maintenance Costs
Factors Influencing Choice of Language
Even the most well written programs will need future
development and maintenance, therefore factoring in these costs
is very important. A team of programmers for a large project can cost a lot of money, especially if the chosen language is rare. A more common language such as Java provides more options of people to hire. Choosing a program which has built in debuggers will help decrease the amount of maintenance in the future by solving issues before the program is released.
Expandability
It is key to consider the number of computer systems which will be accessing a system at one time. Some languages would crack under this pressure and not be able to keep up to date with the data
flow. PHP has the ability to deal with computer clusters,
ensuring that a high number of users can
be supported at any one time.
Factors Influencing Choice of Language
Factors Influencing Choice of Language
Sequence, Selection and
Iteration

It has become increasingly clear to us that new programmers are unaware of the importance and value of sequences, selections and iterations.
Over the next three slides I will discuss each of these, one at a time, explaining what they are, how they work, why they're useful and the main types of each with examples.
Sequence, Selection and Iteration
Sequence
Sequence, Selection and Iteration
Sequence, Selection and Iteration
Selection
Iteration
This is the order in which the program is executed. The normal way in which this works is one line at a time, from the top down. It will follow the order set down by the program. No actions can be skipped in the sequence.
Naturally these are helpful in debugging a code. If an error comes up, the location can be more easily found.
An example of a sequence is an Array, used to stack items of the same size and value.
These three things are the basic logic structures in programming. They can be combined to solve any number of issues using predetermined algorithms. To create more complex codes, the structures must be used more competently.
Also known as an Action or Event.
Also known as a Decision.
In this case, the program is asked a question and will alter its path depending on the answer.
This will often use
If
,
Then
and
Else
functions in programming: If X is true Then perform Y Else perform Z.
This means that selections are helpful in programs where detected input is particularly important when considering the outcome.

An iteration is where a certain question within the code is asked and repeated until a desired outcome is reached. So if the program was designed to heat a room to 30°, the system would ask if the temperature had reached 30°. If it hadn't, it would continue and repeat the question again later on (depending on where it was determined to repeat itself). This would then put it into a loop. Each pass through the loop is an iteration.
This is useful for when user input is less important and the system needs to run at its own accord to reach the correct goal. Examples of it include the If, For, When and Do functions again.
This image simply shows flowcharts of selection, iteration and sequence functions.
Data Types
A Data Type is a classification of a particular type of information.
Most programming languages require the user to declare the data type of every data object. There are a few of these, all of which will be discussed on the next table.
Data Type
Example
Space Occupied
Comment
Byte
Boolean
Character
Date
Integer
Long Int
Short Int
10000000
Large whole
numbers
46, 0, 200
Double
Decimal places,
high precision
True or False
January 1 2002
A to Z, $, £, [
521458751256
Hello, !"^*&{{}}
1, 1000, -20
0.6528741559
String
Alphabetic,
numeric, symbols
Small positive
number
True or False
Single
characters
Date values
Very large
whole numbers
Whole
numbers
0 to 2,147,483,
642 characters
4-byte integer
1-byte binary
data
2 bytes
2 bytes
8-byte date/
time value
8-byte integer
2-byte integer
8-byte floating-
point number
Thank you for watching, I hope the presentation cleared up any issues or doubts you had.
By Jack Baker
Software Design and Development
Assignment 1
Data Types
Benefits of Having a Variety of Data Types
As shown in the previous table, there are a large number of variety types. There are a few benefits of having a range of them.
As shown in the previous table, there are a large number of variety types. There are a few benefits of having a range of them.

Firstly, knowing the different data types can help reduce the size taken up by a file. If the number 40 had to be used, it could be saved as either a Double (8-bytes) or an Integer (4-bytes). However, an Integer is half the size.

Secondly, knowing the data types will help with validation. If a name is put in - therefore a String - you can compare it to another String during testing and validating. If there was no prior knowledge of data types, it would be much harder to know if it was correct or not.
Full transcript