Showing posts with label Ch12. Show all posts
Showing posts with label Ch12. Show all posts

Saturday, January 12, 2013

Features Of System Development

The process should

- respond to agreed business requirements/criteria
- be practical and efficient
- take into account user and staff considerations
- incorporate service management and performance capabilities
- consider security from the very beginning (noting that the development of security is an iterative process)

It should be well documented and progress through the phases should be authorised

Types Of System Development

There are four types of system development which are as follows;

- Applications developed internally to be marketed commercially to third parties
- Applications developed internally to deploy internally*
- Development by a third party of bespoke software for you.*
- Development by a third party of software sold to your company and others.*

*There is more flexibility internally as support is on hand immediately and the application can be temporary withdrawn without wider ramifications.

Time, cost and quality considerations need to be taken into account and balanced.


System Development Life Cycle

The basic elements of the system development life cycle are as follows;
  • Plan
Those developing the new system will go out to the end user environment to discover what key functions the new system is expected to have. Constraints such as space, cost and legislate will supplement user needs at this stage. The initial analysis is validated with managers and users to check that the problem and context are fully understood.
  • Design and build
A variety of designs or solutions may be produced and evaluated. Trade-offs may be made between short-term and long-term considerations.
  • Implement
Occurs once the best design is chosen and agreed, the software construction begins. The newly developed system now needs to be tested to ensure that the system supports the desired functions and provides an acceptable performance.
  • Monitor
Monitoring means keeping a watching brief and dealing with maintenance and other issues as they arise such as errors not discovered during the testing phase to improve the systems services.

It is good practice to have development lifecycle documents - these should include security.

Life cycle models include the following

- waterfall, rapid prototyping, incremental and spiral.


System Development Testing Phases

Testing during the implementation phase of the system development life cycle should subject the system to conditions as similar as possible to real life. For example

- real information
- operating a capacity similar to expected high capacity workloads

In-house developed software has the following phases

- program testing
- system testing (simulates live running)
- operations acceptance testing to test the system to ensure compatability and that critical instructions (e.g. restart, back up, recovery) can be performed
- user acceptance testing

Separate domains should be maintained for development, testing and production.

For commercially produced software, the stages would include

- pre-alpha (e.g QA)
- alpha
- beta (testing ability to deliver and support the software)
- golden master
- first customer ship

Go-live options are as follows

Big bang
Pilots
Phased implementation
Parallel systems

Monday, January 7, 2013

System Development

The introduction of new software can be done via system development or through projects. System development is usually performed by teams with system analysis and/or specific programming skills who are responsible for

- Designing,
- Building and
- Developing

applications. We consider the following in further detail.

- Types of system development
- Features of system development
- System development life cycle
- Testing phase (including implementation approaches)