1.2 - Software and software development Flashcards
What is software?
All programs that run on a computer.
e.g. Applications software = Outlook.
e.g. Systems software = operating systems, windows.
What is software development?
Going from the initial idea to the final product.
What are the 5 stages of software development?
- Analysis.
- Design.
- Implementation.
- Evaluation.
- Maintenence.
What happens in the analysis section?
- System analyst gets info about what current system dows + what new system needs to do.
- Done by intervieweing users, questionaires from large groups of people, observing current system + look at documentation.
- Output = ‘system specification’ or ‘user requiremnts’. Defines what the system will do but not how.
What are the 5 things that happen in the design stage?
- Description of the data: data type, format + validations.
- Database design (If needed).
- Input screens, output screens + reports.
- How the data will be processed.
- How the software will be tested.
Algroithm -> Pseudocode/flowchart.
What 3 things happen in the implementation stage?
- Code + test the software.
- ** Writing user + technical documentation.**
- Installing the software for the user.
What are the 4 testing stratergies?
- Black box.
- White box.
- Alpha.
- Beta.
What is BLACK BOX testing?
INDEPENDENT of the code used in the program.
looks at program specification + creates set of test data that covers all the inputs/outputs/program functions.
What is WHITE BOX testing?
Depends on code logic, tests, test each path through the code at least once.
What is ALPHA testing?
Done by software devel;opers in-house team by the user, reveals errors + ommisons in the definition of the system requiremnets. User may discover that the system does not do exactly what they wanted.
What is BETA testing?
When commercial software is being developed. (Given to potential users, use the software + report any faults. e.g. MS windows, MS word, Sage accounts etc).
What happens in the Evaluation stage?
- Does it all work?
- Test every aspect of the software to make sure it does what it is meant to.
- Evaluated against original specification.
What are the 3 types of Maintenance?
- Corrective.
- Adaptive.
- Perfective.
What happens in CORRECTIVE maintenance?
Bugs usually found when software put into action, no matter how thoroughly it was tested.
What happens in ADAPTIVE maintenance?
Over time user requirements will change +{ software is adapted to meet new requirements.
What happens in PERFECTIVE maintenence?
Even if software works well, it’s improved so its faster, easier to use + has more functionality.
What 3 features define the waterfall model.
- Each stage is completed + documented before moving on.
- End product not seen until completed. - any changes made means project has to be started again.
When is the waterfall model used?
- Requiremnets = clear + fixed.
- No ambiguous requirements.
- Technology is well understood.
- Project = short.
What are the 4 positives of the waterfall model?
- Simple to understand + use.
- Every stage is seperate + self contained with well defined outcomes + written documentation.
- Relatively straightfoward to manage.
- Works well with smaller projects where requiremnets are very well understoord.
What are the negatives of the waterfall model?
- NOT MUCH USER INVOLVEMENT after the analysis stage when specification document is achived.
- No working software is produced until late in the cycle.
- User presented with the FINAL PRODUCT + if not quite what required, TOO LATE to make changes.
Define the spiral model.
- The 1st 4 basic steps (Analysis, design, implementation, evaluation) are followed + software project pases through the phases repeatedly.
- Each succesive loop round the spiral generated a now, more refined prototype until the software meets all the requirements.
When is the spiral model used?
- Medium to high risk projects.
- When users unsure of their needs and what the possibilities are.
- When the requirements are complex.
- Large projects, may take years to develop, so new technologies may develop + significant changes occur.
What are the 5 positives of the spiral model?
- Well defined steps = easy to manage.
- Software produced at early stage so problems + issues are indentified early.
- User gives feedback on each new prototype + any required changes can be made early in the process.
- Added functionality can be added during the process.
- End result is more likely to be what the user wants.
What are the 3 negatives of the spiral model?
- time consuming - longer development time.
- System more costly to develop because of the time involved.
- Not suitable for smaller models.
Define the agile Model.
- Software developed in incremental cycles.
- Each version builds on previous functionality.
- Good for small, time critical projects.
- Limited planning is needed to get started.
When is the agile model used?
When new changes need to be implemented + in an expanding or developing business where users need are continuously changing + developing.
What are the positives of the agile model?
- Rapid, continuous delivery of useful software leads to customer satisfaction.
- Customers, developers + testers constantly interact with one another.
- Working software is delivered frequently, within weeks rather than months.
- Software is easily adapted to changing circumstances.
- Late changes in requirements can be implemented.
What are the negatives of the agile model?
- Lack of emphasis on necassary design + documentation.
- Project can fail if customer isn’t clear about desired final outcome.