Tuesday, 10 December 2013

Unit 6 - P5 Part 1

System Life Cycle



Scope

The scope is the point where a developer gives the idea of what they are planning, detailing estimates on how long it will take for the project to be complete, the expected amount of money that will be required to complete the project, the amount of staff needed, the software that may be needed and perhaps the training that the staff will have to undergo for the new software.

Requirement Analysis

The requirement analysis is where the programmers look at all of the requirements of the program then determine how they are going to complete the project, assigning all of the programmers to their specified areas of the program that they have to complete. 

Specification

The specification details all of the requirements that the program has to do and the amount of time that the programmers will have to complete the program in. This means that the client will have to completely specify every last detail of what they want the program to do.

Design Stage

The design stage is when the programmers prepare a design on how the program will work, all of the programmers will have their own input on where each part of the program should go and how it works, once all of the programmers have reached an agreement on how the program will work they then take on their own individual roles in the creation of the program.

Code Development

The code development phase is when the programmers begin to create the program. Once each programmer has created each of their parts of the program they will be compile their section of the code and continue to modify it until it meets all of the specified criteria set by the client.

Testing

The testing phase is when the programmer test the code, although they will rigorously test the code at the end. They have to constantly test it during the code development phase so that they will not have to go back through each individual line of code at the end to find the flaw and correcting it.

Maintenance

Maintenance is the process in which the programmers constantly check for errors sent in by users and correct and update the software, once the software has been fixed and updated it is sent out into the public where it is downloaded.

Unit 6 - P5 Part 2

Various software structures and how they fit into the into the life cycle


Functions

Function are commands which you give to objects in forms, for example a button can have the function to display a calculation of two integers in a text box. Also a function can be used to define parameters, this means that it can change the format of data that is entered into objects like texts boxes, for example it could change the format of text in a text box from text into a integer value which allows calculations to display actual values.

Procedures

A procedure is section of statements that is within a function.

Classes/Objects

Objects are items that can be placed into a form and coded with functions so that they do certain things, for example a text box is an object, say if this text box were to be coded to display a result from a calculation of two other text boxes this would display the answer to that calculation. Other objects may also be placed into a form such as; labels, scroll bars, buttons and many more.

Data abstractions


Pre-defined code

Pre-defined code is code that can be automatically placed into a object or function via

Readability

Friday, 15 November 2013

Unit 6 P2 – Choosing a language


When a programmer is creating a piece of software they have to decide on what language they want to create it in, they then have to look at many factors to find which language would suit them the best. This report will go into detail on what these factors are and explain why they are needed.

Time constraints


A developer may need to choose a programming language that can be written in a timely fashion as they may have to have the program made within a set amount of time. Dependent on how much time they had they may need a language that can be written fast but may have to sacrifice reliability of the language to do so, an example of a fast to write program would be done in something that has auto-fill built in. This would allow the programmer to not use as much time typing as they could use dropdown boxes and shortcut to write the code for them, this feature can also structure code for the programmer and outline any errors whilst typing.

Organisational policy


A company may have a contract with a programming language company which allows them to obtain any stock for their programming software at a reduced fee. This is a key fact when choosing a language as some programmers may only have a set budget that they can spend on a project and so they will use the easiest to access language in order to complete the project to that budget.

Sustainability


Another aspect that the programmer must take in mind is whether the program can be sustained using the language they have chosen. This means the language must be updatable so that the programmer can fix any bugs that are reported in the program at a later date or just keep their program updated with new features.
Availability of trained staff
Some staff members may be unable to use certain programming languages this means that they would require training in the chosen language which would cost the programmer more money to train the staff or possible redundancy of undertrained staff.  Though staff that do know how to use the program may be able to teach the undertrained the staff it would be easier for the programmer and staff members if they used a programming language that everyone understood how to use.

Reliability


A reliable language will cost more but dependent on what kind of software the programmer is using they may have to use a more reliable language in order to create the software to a suitable standard. This is because some programs are used in possible life threatening circumstances and if the code was read too slow or an error or bug occurred it could cause serious harm to others. For example an auto-pilot system on a plane would not be written in a non-reliable language as it would cause a catastrophic event if the program were to crash mid-flight.

Environment


A programmer would select their language based on two environmental reason these include what hardware the program will be run on and what operating system the program will be run on. This means that if the program has not be built to run to the specification of these two factors then the program will simple not work as it should.

Hardware


If the program does not take into account all of the hardware being used then it will not be able to make that hardware function. So if the program to run power plants didn’t have the right code to be able to move the nuclear fusion rods in and out of the cooling chamber then the rods would remain stationary because the program could not tell the machine to move them.

Operating system


Programs need to be written to a specific operating system as well. This is because if the program is not written to be run in a specific operating system the operating system simply will not be able to read the code or run the program at all. For example a program written to be used on specifically Macs will not be able to run on Windows.

Development maintenance costs


When choosing a language the programmer must also take into account the costs of which to keep the program maintained. This is because if the program needs to be fixed every day then it will cost the programmer to hire someone to maintain it every day that they need to fix it. This could make the program non-profitable if its maintenance costs are too much. A way for the programmers to prevent such a thing happening would be to spend more money on a high reliability program so that they will not have to worry so much about bugs and errors rather than a program that is known for bugs/errors.

Expandability



A programmer will also need to check whether or not the program is easily expandable. This means that the program must be able to be changed and updateable with new features. Though most languages now are all expandable the programmer would be wise to check beforehand.