What 7 stages should be completed when developing a new application?
Explain the first stage that should be taken when developing a new application
Feasibility study = determines whether the project is likely to be possible, worthwhile, cost-effective and legal. If any of these outcomes are missing the project should be avoided
Explain the second stage that should be taken when developing a new application
Requirements Analysis = The users requirements for the project most be ascertained to ensure the developers understand exactly what the user wants from the software. A checklist of requirements is created which forms the basis of the design, development and testing of the software
Explain the third stage that should be taken when developing a new application
Design = Project must be planned before coding. Modules, functions and procedures are planned in advance. UI designs are created, algorithms are developed and tested and database and file structures are decided
Explain the fourth stage that should be taken when developing a new application
Development = Once design has been finalised, development can begin. Team of programmers working on Separate modules which are then combined to create the finished program
Explain the fifth stage that should be taken when developing a new application
Testing = software is tested throughout development to ensure it does what it’s supposed to. Entire system will be tested as a whole once all modules are put together. Any bugs are passed back to developers to fix
Explain the sixth stage that should be taken when developing a new application
Documentation = detailed user guide and instructions may be required to installation, usage and trouble-shooting of finished software. Code should also be fully documented and commented to ensure it can be maintained in the future
Explain the seventh stage that should be taken when developing a new application
-Review/sign off = Once testing is complete the end user will test the software to ensure it works on their hardware. When the user is happy that all requirements have been met the project can be signed off as complete. Maintenance contract may also be in place
What is the waterfall lifecycle?
+/- of waterfall lifecycle
+simple therefore easy to manage
+Everyone knows what they are doing at each stage
+As there is an expected output it is clear to see whether or not a project is running to schedule
+suitable for large scale projects
-High risk as it isn’t until the end stage that the user sees proper software therefore if requirements have not been met it will be hard and expensive to go all the way back and alter it
-Only suitable for straightforward tasks
What are agile methodologies? +/-
-Refers to collection of different software development methods which are designed to cope with evolving project requirements and solutions
-iterative and allows projects to be flexible by adapting to changing requirements.
-Produced in versions each building on the previous and each increasing the requirements it meets. User can see software early on and ask for adaptations to be made
+Shorter development times and end product will meet exact requirements of user
+Good for complex tasks
What is pair programming?
What is extreme programming?
+/- of extreme programming
\+cost effective \+less dependent on individuals \+robust solutions \+Meets exact requirements -requires constant end see involvement -no quality assurance of coding -code-centred means often poorly documented
What is the spiral model?
Explain each phase of the spiral model
+/- of spiral model
+reduced risk due to high amount of risk analysis
+suitable for large and mission-critical projects
+good documentation control
+additional functionality can be added at a later date
+software is produced early in the software life cycle
-can be costly
-risk analysis requires highly specific expertise
-projects success is dependent on the risk analysis
-not suitable for smaller projects
What is Rapid Application Development?
-Method of designing and writing software that includes producing successive prototype versions of the software until the final version is produced
-fits closely with spiral model
-Three steps are repeated with each cycle lasting 1-3 weeks (longer than XP).
The steps are; produce prototype with reduced functionality, reviewed by end user who may suggest changes and improved prototype is created & reviewed
+/- of RAD?
+End user involvement in development process allows for flexibility/changes in user requirements
+prototyping means tangible products can be seen at early stages of the project
+length of dev time is shorter than waterfall model
-not efficient when dealing with very large scale projects
-focuses on end result rather than processing thus producing solution which may be inefficient.
-Client may keep changing their minds on what they want product to do
What is black box testing?
What is white box testing?
What is alpha testing?
What is beta testing?
What is acceptance testing?