Software Development Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Describe what is meant by the term IDE (Integrated Development Environment)

A
  • An Integrated Development Environment is a tool that makes it easier for programmers to write, debug and develop their code
  • It includes a text editor for writing code, a translator for compiling or interpreting code, a debugger for testing code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe the features of an IDE (Integrated Development Environment)

A
  • Stepping - this allows you to monitor the effect of each individual line of code by executing a single line at a time
  • Breakpoint - allow users to set a point in the program at which the program will stop this helps to pinpoint where an error is occurring
  • Syntax Highlighting – by highlighting different data types in different colours it makes it easier for programmers to identify certain point of code
  • Autocomplete – in some modern versions of IDE have a feature that suggest code for you which can speed up the process of writing code as you don’t have to remember all the code
  • Auto tabbing –makes code easier to read by forcing code to be uniformly neat
  • Debugging tools - some IDEs provide run-time detection of errors with a guide as to where in the code they are likely to have occurred through line numbers and highlighting
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the stages of Software Development

A
  • Analysis - Business Case, Requirements gathering and documentation
  • Design - Specifications of products made
  • Development - Development of code, prototypes and working solutions
  • Testing - Testing build versions. Until issues and bugs are addressed
  • Deployment - Deploy new systems live, settling in time.
  • Maintenance - Hand over to the support and maintenance team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe the Waterfall Development Methodology Description and Diagram

A
  • Each step is completed one at a time from beginning to end
  • Each step has a specific output that leads to the next step
  • The developers can go back to previous stages if necessary but they then have to work back down through the following stages
  • To make changes later would result in high cost implications to the work that has already been completed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe the RAD (Rapid application) Methodology Description

A
  • Creates an initial ‘incomplete’, partially functioning prototypes which is continually built-upon
  • User feedback is then used to generate requirements for the next iteration
  • This makes use of parallel development of tasks to speed up development
  • This is produced with a strict time limit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the Agile Method Description and Diagram

A
  • Uses Iternations and each version builds on the prior with increased functionality
  • This method is useful for projects with unclear initial requirements because if a user spot a missing requirement or new feature, they may add it into a future iteration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe the Spiral Development Methodology Description and Diagram

A
  • This method focuses on four key stages repeatedly -
  • Analyses/ Determining Objectives
  • Identifying risks
  • Development and Testing
  • Evaluating the next iteration
  • If the project is found to be too risky at any point, the project is terminated
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the Two Variants of Agile Development Method

A
  • Extreme Programming (XP)
  • Scrum method
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Extreme Programming

A
  • Extreme Programming uses pair programmers meaning that the programmer works with the user to develop the product together
  • At the start of each planning phase they determine that will be developed and at the end they feedback to each other
  • This produces high quality code but there is a high cost of two people working on one project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Scrum method

A
  • The Scrum method has three different roles -
  • Product Owner – responsible for the business aspect
  • Scrum Master – looks after the team’s performance and the quality of the product
  • The Team - addresses any issues or problems together
  • The projects are run as a series of goals called Sprints, each one taking about a month. At the end of each Sprint there is a Sprint review which allows the team to get feedback from the user before moving onto the next Sprint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the Advantages, Disadvantages and Uses of each of the Programming Methodologies

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the different types of Testing Strategies

A
  • White box testing
  • Black box testing
  • Alpha testing
  • Beta testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe White Box Testing (Structural Testing)

A
  • Tests the structure of the code for correct values so that the unit of code operate as they should
  • All of the possible routes through the program are tested
  • Testing is carried out by the software development teams who coded the unit of code
  • Weakness - will not detect missing functions – you cannot test what isn’t there! The test is accurate only if the tester knows what the program is supposed to do
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe Black Box Testing (Functional Testing)

A
  • Involves looking at the program specification and creating a test plan that traces through inputs and outputs within the software
  • The software is tested without the testers being aware of the internal structure of the software (can be carried out by the company and by end-users)
  • Weakness - Test cases are challenging to design without having clear functional specifications and there is a high probability of repeating tests already performed by the programmer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Describe Alpha Testing

A
  • Users are used to discover if the system does not have the correct functionality so that bugs can be pinpointed and fixed (User Acceptance Testing)
  • Carried out by the software developers in-house testing team
  • Weaknesses - Only business requirements are covered in Alpha testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Describe Beta Testing

A
  • Involves giving a new software package (or just a new part of an existing software package) to a number of potential user who agree to use the system and report any problems to the developers
  • Feedback from users is used to inform the next stage of development
  • Weaknesses – beta testing should not be done too early in development as there is a chance of ‘bad mouthing’ about the product