Thursday, 25 February 2016

KARNAUGH MAP

They are used to simplify a Boolean expression. They work in a similar way to a truth table with patterns within the table in order to simplify it. They illustrate a table of possible inputs mapped against the required output

RULES
- no zeros are allowed
- no diagonal joining of blocks
- groups should be large as possible
- everyone one must be within a block - no loners
- groups must be formed in powers of 2 (1,2,4,8,etc.)
- overlapping is allowed
- wrap around are allowed

(A^B) v (A^¬B) split into 2 parts and deal separately in the map


            A                       
B
 0
 1
 
 
 
 0
 
 
 
 
 1
 
1  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

            A                       
B
A /B
0 0
A/B
01
A/B
11
A/B
10
 
 
C   0
 
 
1
 
 
 
C   1
 
 
1
1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

A and B and C and A and not B and C and A and B and not C

A and B or C an A











Boolean algebra Questions:

1. M = K ^ B

2. P = S ^ ¬ A

3. S = M ^ O ^ V

4. O = S U T

5. B = A ^ (D W)

6. C = P G H

7. D = ¬ (C S)

8. H = ¬ T

t = (g) ^ (s c) ^ (f)
(ii)  t = false
if G and (s or c) and F then
   t = true
end if




Tuesday, 23 February 2016

Algorithms

Designing an Algorithm:

-specify what you must accomplish
-Design the algorithm
-Check the correctness(dry run / trace table)
-Analysis of the algorithm
-implement the algorithm
-Test the resulting program

All possible inputs of an algorithm are known as the domain
All possible outcomes of an algorithm are known as the codomain

A Basic Algorithm:
Input x --> algorithm f --> output y

Tuesday, 9 February 2016

recursion
  • recursion is a method or function that calls itself .
  • it is a type of iteration
  • it must have a stopping condition to prevent endless loops
  • there are two types
    • tail when the last thing that happens Is the recursive call
    • head , when it happens first


Post Mock revision comp 1
  • scheduling
  • types of scheduling
  • purpose of an OS

Post Mock revision comp 2
  • algorithm
  • select case statements

Tuesday, 2 February 2016

Software cycles

Software cycles
waterfall model

feasibility study
Technical - does technology exist to solve the problem ?
Economic - Is it within the budget of the firm?
Legal - needs to comply with laws
Operational - can the system be run?
Time frame schedule - can it be done on time? (within time frame)

Analysis
The results of fact finding ,
a requirement specification or a user requirement document

Design

Implementation
a solution is created

Testing
an outline of the test strategy
results of all testing that has been carried out
an actions required after testing

Installation
This involves installing the new system or instructions how to do it

Evaluation
A time to reflect on the project

Maintenance
Could include releasing updates or fixing broken hardware
can continue for years
could be the most expensive phase of a project.
 
 

Advantages of the waterfall model
  • This model is used only when the requirements are very well known, clear and fixed.
  • Product definition is stable.
  • Technology is understood.
  • There are no ambiguous requirements
  • Ample resources with required expertise are available freely
  • The project is short.

Drawbacks of the waterfall model

  • in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing.
  • you can only do one section at once for example you have to build the whole program before you can test(cant test little parts)
 the waterfall models are likely to be used in defence projects for example air craft carries use them because
 
Spiral model
 
Is a model where each phase is done more than once.it spirals round repeats, there is feedback between each stage - a good example of where the spiral model can be used is when there are many customizations that are needed and will need to be altered many times before commercial release.

Sprial system model



Rapid application development (RAD)

They use Prototypes in order to test it to make sure it is feasible in realistic circumstances and see how it is accepted with the clients , it also enables feedback and improvements as they can keep making new small prototypes until the finals product is created.
Clients get to see something very quickly instead of waiting  5 years to find out its not how they wanted it

Image result for RAD computing

Extreme programing (XP)

Pair programming is when people work in a team of two and question each other and test each other in order to improve the productivity and output
Test driven development - tests that are made before the development thinking about tests before starting coding and planning ahead
continuous





Agile methodologies
A sprint is a task that takes no more than two weeks and is broken down into smaller tasks
Scrum is a small team of no more than seven people each people has a different task. At the start of the day they have a meeting of what they are planning
this means problems issues and risks are solved each day being in a constant  cycle of building and testing so if the environment changes its fine because they can adapt