Software Development Flashcards
(22 cards)
What is debugging?
The process of identifying the root cause of an error and correcting it.
What is testing?
Process of identifying the error initially.
What are the types of software development testing?
- Verification
- Validation
- Usability testing
- Compatibility/portability testing
- Security testing
- Compliance testing
- Accessibility testing
- Performance and stress testing
What is verification and validation of software?
Verification - Is the product working as planned?
Validation - Is the product working as required?
How would you verify and validate the functions of a piece of software?
Verify - unit testing, integration testing, system testing.
Validate - user acceptance testing, clinical validation testing.
What is pseudocode?
An informal, natural language-like notation for describing how an algorithm or a program will work without getting close to the target programming language.
Why is pseudocode used?
To streamline the creation of code within routines.
Generating code from it becomes nearly automatic if written at the right level.
Once the pseudocode is written, code is built around it such that the pseudocode forms the basis for the programming comments, eliminating commenting effort whilst providing meaningful comments.
How should pseudocode be written?
Using natural language-like statements that precisely describe specific operations.
Avoid syntactic elements from the target programming language which eliminates the benefit of high-level design.
Write at the level of intent by describing the meaning of the approach rather than how it will be implemented in the target language.
What is a bug a symptom of?
The developer doesn’t fully understand what the program does
What is the difference between software coding and software development?
Software coding is writing the code that makes the software as part of the software development, whereas software development encompasses the entire process of creating and maintaining software, includes requirements, design, coding, integration, testing and deploying
What is included in the scope of software development?
- Traditional programs
- “Simple” spreadsheets
- Scripts/macros to enhance applications
Why is software development used?
- To enhance or add functionality
- Research and development
- Automate laborious processes
- Implement control systems
- Manage instruments
When is a QMS required?
If developing a medical device (or good practice)
What are the requirements for software development?
Planning, requirement analysis, design, code, verification, integration and testing, maintenance, risk management, post market surveillance
What is UML?
Unified Modelling Language
- Set of formalised graphical representations for design entities and relationships
Why is UML used?
Supports commons understanding in communicating desing
Accelerated the process of considering design alternatives
What is test driven development?
Start by writing a test which verifies the intended outcome is achievd and do whatever necessary to make the test ass and once it passes, software must be okay - this is thought to be more robust
What are the implications of test driven development?
Increased overhead during development but less overhead during maintenance
What is a unit test?
Verifies components of system
What is a behaviour test?
End user perspective
What documents are required when developing software?
Development policy, trianing records, justification, risk assessments, designs, testing evidence, user manual, clinical saftey report