Print Options

Card layout: ?

← Back to notecard set|Easy Notecards home page

Instructions for Side by Side Printing
  1. Print the notecards
  2. Fold each page in half along the solid vertical line
  3. Cut out the notecards by cutting along each horizontal dotted line
  4. Optional: Glue, tape or staple the ends of each notecard together
  1. Verify Front of pages is selected for Viewing and print the front of the notecards
  2. Select Back of pages for Viewing and print the back of the notecards
    NOTE: Since the back of the pages are printed in reverse order (last page is printed first), keep the pages in the same order as they were after Step 1. Also, be sure to feed the pages in the same direction as you did in Step 1.
  3. Cut out the notecards by cutting along each horizontal and vertical dotted line
To print: Ctrl+PPrint as a list

15 notecards = 4 pages (4 cards per page)

Viewing:

02 Software Development - methodologies

front 1

Formal methods of working on a programming project

back 1

-Creation of a specification

-breaking down the work (decomposition)

-allocating tasks

-clear timescales

-milestones

-agreed deliverables

front 2

What is a feasibility study?

What are 3 types of feasibility the study includes?

back 2

-Feasibility studies are used if the project is likely to be successful. Reasons it could fail include:

-Economic feasibility - budget isn't large enough, or the cost of the project outweighs the benefits

-Legal feasibility - project would break laws about data protection or privacy

-Technical feasibility - the project is overly ambitious and goes beyond what current hardware and/or algorithms can achieve

-The methodology used by a development team will likely depend on this feasibilities

front 3

What are the 5 different methodologies?

back 3

1. Waterfall method

2. Spiral method

3. Agile methodologies

4. Extreme programming

5. Rapid application development (RAD)

front 4

Methodology philosophies

back 4

front 5

Describe the waterfall method

back 5

-the development team work through each section in turn until the product/system is developed

-rigid, structured

-extremely document focused & relies on accurate and meticulous planning

-once a section is complete, the next is started - little chance of going back if there are errors

-great for keeping control of a project and meeting deadlines

-difficult to ensure that end-user requirements are met as there is no product to show until the end

front 6

Stages of waterfall method

back 6

front 7

Describe the spiral method

back 7

-more iterative than waterfall

-continually working through stages of system development life cycle to ensure 'risk of not meeting end user's needs' is kept to a minimum

-initial risks or analysed & user requirements checked before the system is designed and developed

-then, the product is evaluated and end user gets to check that their needs are being [starting to be] met

-then after the evaluation, designs are refined and development is continued until the product satisfies the client

-also document focused & relies on accurate & meticulous planning and evaluation

-ensures risk is kept to a minimum and product is high quality

-but can be long-winded and projects can go overtime and over budget, esp if risk analysis and evaluations are not thorough enough

front 8

Describe agile development

back 8

-describes a group of methodologies, including 'extreme programming'

-focus on developing versions of the product which can be evaluated by the end user - specifically useful if clients often change their mind on requirements

-As each version is developed, more of the client's requirements are added until the solution is developed

-allows flexibility of development when some requirements aren't known until mid-way through the project

front 9

Describe extreme programming

back 9

-an example of an agile methodology

-focuses heavily on producing 'versions' of coded software

-speed is important - versions developed quickly and given to client to be evaluated

-clients will discuss version and if improvements are required, the programmer will develop the software accordingly in order to produce a newer and better version

-important to recognise that each version uses code which is good enough to be in the final version - they are actual programs which are created, NOT prototypes

front 10

Describe rapid application design (RAD)

back 10

-production of prototypes (a form of the system w/out full functionality) are the focus

-the development team work through each section of the system development life cycle rapidly to produce a prototype to get client feedback on

-it can then be rapidly developed again and so forth until the product is complete

-still a rigid focus on documentation due to in depth nature of planning and prototyping

-> tldr; several increasingly refined prototypes produced until the final working solution is achieved

front 11

Pros and Cons of waterfall methodology

back 11

Pros:

-simple, clear 7 structured

-easy to manage and ensure deadlines are met

-workers have clear roles

Cons:

-Risk - due to rigidness, its not known until the end whether the product fully meets client requirements

front 12

Pros and Cons of spiral methodology

back 12

Pros:

-focuses on risk, so reduced risk by ensuring client is happy with the development at all stages

Cons:

-If risk analysis is inaccurate, issues can still arise

-Can be lengthy process due to evaluative nature

front 13

Pros and Cons of RAD (Rapid Application Development)

back 13

Pros:

-if a client is uncertain of project outcome at the onset, this method (due to focus on prototyping) can help ensure the client is getting the software they require

-> usability focus

Cons:

-Demand for continued feedback/communication with client

-Unsuitable for large projects - more end users so harder to communicate effectively

front 14

Pros and Cons of Agile methods

back 14

Pros:

-Focuses on product and gets versions of software to clients to ensure requirements are met

-If requirements change, easily flexible (code focus rather than documentation)

Cons:

-Can be hard to control agile projects which go on for longer than originally planned for

-this can lead to budgeting issues

front 15

Pros and Cons of extreme programming

back 15

Pros:

-Same as agile methods (focus on product to ensure client req are met, flexible due to being code based) but with rapid development of versions

Cons:

-Can be difficulty with communication as these projects are often carried out by teams of programmers who have to integrate their code with the others or develop another piece of code - issues can arise if they dont all follow the same standards or programming standards