RSS

Category Archives: software development process

The Last Three Stages of the Software Development Process!

The final three stages of the software development process are documentation, evaluation and maintenance.

Documentation

Documentation is created to help the user understand how to use a software program. There are a few documents created at this stage but the two most common are:

User Guide

Technical Guide

User Guide

The user guide explains to the user how to work the software program. It can be produced in paper format but now it is more likely to be produced as an online PDF downloadable file or as online help.

                                                          Technical Guide 

This piece of documentation explains to the user how to install the software, the version number of the software, the minimum amount of memory and processor speed need to run the program and any other programs or files that may be needed to run the program.

There are other types of documentation that are created at this stage. These are:

  • Quick Start Guide
  • FAQ’s
  • Shortcut Guide
  • Tutorials

Evaluation

At this stage in the process, the client and developer review the software program to check if it meets the software specification and also if it is fit for purpose.

The software program is evaluated by the following criteria:

  1. Robustness
  2. Reliability
  3. Portability
  4. Efficiency
  5. Maintainability

Maintenance 

The maintenance stage happens after the software has been handed over to the client and it is put into use. There are three different types of maintenance

  • Corrective
  • Perfective
  • Adaptive

Corrective Maintenance.

This type of maintenance is specifically to remove any coding errors and fix any bugs that are found within the program.

Perfective Maintenance. 

If the client asks for specific changes within the software program or for additional features.

Adaptive Maintenance. 

If the environment in which the software is used changes, (i.e. moves to a different company) then it may be necessary to alter the code so it fits with the new environment. Other ways include operating system change/upgrade or new hardware.

The most time consuming type of maintenance is perfective as this keeps the client and developer in touch, and the programming company making money because the client keeps asking for changes.

Factors which affect the Maintenance stage

New Applications: As the users of the software begin to gain experience with it. They will start to see ways it could be improved or features that could be beneficial.

Staff Mobility: Its a lot more simple to keep the same team of programmers on one specific program which they created. That rarely happens. So other programmers come and take over and unless the software is well documented, then maintenance becomes exceedingly difficult.

Too many Versions: As the software is updated or changed, the programming company may release a newer version. the problems which can occur are that the software might stop supporting certain operating systems and it can be difficult to track down code changes.

Insufficient Documentation: If there is not enough documentation (internal commentary, design documentation) to support the software. Then maintaining it becomes a difficult job.

Hardware/Software changes: If the external hardware, internal software which is needed to run the program or the operating system platform is upgraded. The maintenance requirements become affected.

The maintenance stage is seen to be the most costly stage of the software development process as there is so much to be considered at this stage. It is estimated that 40% and 70% of the overall costs throughout the development process are down to maintenance.

Advertisements
 
 

Software Development process: Testing.

In computing this week we learnt about the testing stage of the software development process.  The testing stage is generally the most expensive or the equivalent to the analysis and design stage. If problems aren’t fixed earlier on it becomes a lot more costly to fix the bugs at the testing stage.

Testing does not begin after the implementation stage, it actually begins at the analysis and design stage, as this is where a prototype is usually created. A prototype is a rough model of the program which shows the basic outline of the programs functions. This is more cost effective to the project.

There are many testing errors but a few of the most common are :

-Incomplete Logic.

-Incorrect Interpretation of specification.

-Poor Error Handling.

-Bad Time Planning.

To test a program there needs to be characters the tester can test it with and he/she will know the specific outcome (to see if it works correctly). They usually use three types of test data sets. these are:

-Normal

-Extreme (Boundary Data)

-Exceptional (Out of Range Data)

Normal Data

This type of data shows that the program should work as expected.

Extreme Data

This type of data is also known as Boundary Data. This data tests the program to its limit. To show that it has boundaries.

Exceptional Data

Also know as out of range data. this set show that the program should be able to handle unexpected inputs.

There are five main stages to the testing phase these are

  1. Procedure/Module testing
  2. Integration testing
  3. System testing
  4. Acceptance testing
  5. Alpha and Beta testing

1. This is when Individual modules and code is tested.

2. At this stage the tester checks that all the modules work together.

3. This is when the overall system is tested.

4. The client tests the program against the specification at this point.

5. This is when the program is released to users for it to be tested by possible consumers. 

 
1 Comment

Posted by on September 12, 2011 in Computing, software development process

 

Debugging in REALbasic.

As a program has to be tested for bugs, debugging is a useful tool. In REALbasic. This tool is simple. As you run a program, you can create a breakpoint. This tells the program to ‘break’ and then in REALbasic it lets you view the code where its taken the break (the specific line of code is highlighted).

 

                                                

After the breakpoint is created, there is a function which allows the tester to step through each line of code whilst monitoring the variables. This is so the tester can see if the program is doing exactly what has been asked of it.

 
 

Software Development, three of the seven stages!

In computing this week, we’ve been learning about the software development process. The three stages that we’ve covered are Analysis, Design and the biggest of the seven, implementation.

The Analysis stage:

In this stage the client explains the problem to the systems analyst and then he/she must be able to understand the problem at hand. To understand the problem futhermore, the analyst will most likelly interview the client and ask questions which consist of

  •  What type features would be suitable within the client’s program? e.g. drop down menus, autopredict etc.
  • How do they wish their program to work? As in do they want to to be fairly simple or complex.

After the analyst has discussed with the client what exactly the problem is and how they will go about creating the solution a document called a “Software Specification” is created. this includes a crisp clear statement of the problem at hand, which is in depth. it also includes the basis of a legal agreement, which is formed between the client and analyst. A legal agreement is the document joining the two companies togtether and it is a clear statement of the solution which is agreed between the two companies.

The Design Stage:

The design stage is where the program is broken down into smaller blocks so that it is easier to implement. 

In the design stage, the aim is to develop an algorithm. This is a -in depth- set of instructions to completing the task at hand. The task should be modular. So if it is a large scale program. different programmers can program different parts. The most common way of designing a program is by using “Top-Down” design. This is taking the large scale program and breaking it into modules.  

An Example of Top-Down Desgin: 

 

 There are different types of Design notations that can be used. Two of the most common are structure diagrams and flow charts.

Structure Diagram:                                                                                          Flow Chart:

            

 The Implementation Stage:

The Implementation stage is the largest of the seven stages. As this is where the design is put into action – the program is written.

In the Implementation stage the three types of programming control structures are thought about.

Sequence:

This control structure lets the program excute each and every line of code one after the other, from the Beginning to the end.

Selection:

A program will only execute certain lines of code dependant on a decision which is made in this type of control structure. For example an “IF, THEN, ELSE” statement.

Iteration:

 This is where a program will repeatly execute certain lines of code. For example, a repeat loop for a counter.

we also learnt what different terms meant within the first three satges. These terms are

  • Correct
  • Maintainable
  • Reliable
  • Readable
  • Portable
  • Effiecient
  • Robust
Word Meaning
Correct The program meets the software specification.
Maintainable Changes can be made quickly and easily to the program.
Reliable It’s free of bugs and is correct for all specified outputs. It should work correctly every time it is run.
Readable It has design and code that can be read and understood by different programmers, i.e. internal commentary.
Portable It can easily be adapted to run on computers other than the one it was designed on.
Efficient Should not require storage and processor space which is disproportional to the scale of the program.
Robust The program should not fail whatever the input is from the user.
 
1 Comment

Posted by on August 26, 2011 in Computing, software development process

 

What i learnt in higher computing this week…

This week in computing we mainly focused on programming. In programming there are global and local variables. A global variable is a variable which is recognised throughout all pieces of program code (i.e. if there’s more than one push button in the program). where as a local variable is only recognised within one part of a program code. there are different types of variables in programming but the two main ones used are string and integer. A string variable is a way to store letters in a program (i.e. entering your name would require the specific field to be declared as a string variable). An integer variable is a way to store whole numbers (1,2,3,4 etc) into a program. we also learnt about variable scope. Variable scope is the range that a specific variable is known throughout a program. The final thing we learnt about was something called random number generation. This is a pre-defined function that allows the programmer to request the computer to generate a random number from a specific range of numbers. For example maybe the programmer only wants the computer to pick a number within the range of 1 to 5.

 
 

Hello world!

Welcome to WordPress.com. After you read this, you should delete and write your own post, with a new title above. Or hit Add New on the left (of the admin dashboard) to start a fresh post.

Here are some suggestions for your first post.

  1. You can find new ideas for what to blog about by reading the Daily Post.
  2. Add PressThis to your browser. It creates a new blog post for you about any interesting  page you read on the web.
  3. Make some changes to this page, and then hit preview on the right. You can alway preview any post or edit you before you share it to the world.