Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Development: Systems Analysis Methods (Software Development …
Software Development: Systems Analysis Methods
Types of software
Software refers to all programs that run on a computer.
It falls into one of two categories:
Software Development
Software development, from the initial idea to the final product, follows distinct stages:
Analysis
Design
Implementation (programming, testing and installation)
Evaluation
Maintenance
Analysis
In this stage, a
system analyst
gathers information about
What the current system does, if there is one
What the new system needs to do
To do this, the systems analyst may:
Interview
people who will use the software
Use
questionnaires
to get information from large groups of people
Observe
how the current system works
Look at existing
documentation
Output form Analysis
The systems analyst will produce a document called something like
"System Specification" or "User Requirements"
This defines what the system will do, but not how it will do it.
The specification is a vital document.
It is used to create the design, and to evaluate the finished product.
Design
The software design will include:
A description of the data: data type, format and validations
Database design if appropriate
Input screens
Output screens and reports
How the data will be processed
How the software will be tested
Implementation
This stage includes:
Coding and testing the software
Writing user and technical documentation
Installing the software for the user
Testing strategies - black box
Black box testing
us carried out independently of the code used in the program.
It looks at the program specification and creates a set of test data that covers all the inputs, outputs and program functions.
Testing strategies - white box
White box testing
depends on the code logic.
Tests are devised which test each path through the code at least once.
Alpha testing
This is carried out by the software developer's in-house team and by the user.
It can reveal errors or omissions in the definition of the system requirements.
The user may discover that the system does not do exactly what they wanted.
Beta testing
This is used when commercial is being developed (e.g. MS Windows, MS Word, Sage Accounts, etc.)
The software is given to a number of potential users, who agree to use the software and report any faults.
Real users may try and do things the developer didn't anticipate.
Evaluation
Does it all work?
The user now needs to test every aspect of the software to make sure it does what it is supposed to do.
It will be evaluated against the original specification document.
This stage is also called
Acceptance testing
.
Maintenance
Three types of maintenance:
Corrective maintenance:
Bugs will usually be found when the software is put into action, no matter how thoroughly it was tested.
Adaptive maintenance:
Over time,user requirements will change and the software will have to be adapted to meet new needs.
Perfective maintenance:
Even if the software works well, there may be ways of making it even better - faster, easier to use,more functionality.
And now the cycle begins all over again.
The waterfall model
As in the lifecycle model, each stage is completed and documented before the next is begun.
The customer does not see the end product until it is completed.
Any change to be made often means the project has to be started again.
Advantages of this model
The model is simple to understand and use.
Each stage is separate and self-contained with well defined outcomes and written documentation.
This makes the project relatively straightforward to manage.
The model works well for small/large projects where requirements are very well understood.
Disadvantages of this model
There is not much user involvement after the Analysis stage, when the Specification document is agreed.
No working software is produced until late in the cycle.
The user is presented with the finished product and if it is not quite what was required, it is generally too late to make changes.
When to use the waterfall model
Suitable when:
The requirements are evry clear and fixed
There are no ambiguous requirements
The technology is well understood
The project is short
Spiral Model
The four basic steps of
analysis, design, implementation (i.e. programming and testing) and evaluation
are followed.
The software project passes through these phases repeatedly.
Each successive loop round the spiral generates a new,more refined
prototype
until the software meets all the requirements.
Advantages of the spiral model
The well-defined steps make the project easy to manage.
Software is produced at an early stage so problems and issues can be identified early.
The user gives feedback on each prototype and any required changes can be made early in the process.
Added functionality can be added during the process.
The end result is more likely to be what the user wants.
Disadvantages of the spiral model
The process of developing prototypes, getting feedback and refining the prototypes is time-consuming so the finished product takes longer to develop.
A system is more costly to develop because of the time involved.
Not suitable for smaller projects.
When to use the spiral model
The Agile Model
Software is developed in rapid incremental cycles.
Each version builds on previous functionality.
Each version is thoroughly tested before release.
Good for small.time-critical projects.
Limited planning is needed to get started.
Advantages
Rapid, continuous delivery of useful software leads to customer satisfaction.
Customers, developers and testers constantly interact with one another.
Working software is delivered frequently, within weeks rather than months.
Software is easily adapted to changing circumstances.
Even late changes in requirements can be implemented.
Disadvantages
There is a lack of emphasis on necessary design and documentation.