Software Engineering: Question Set – 07
What is the difference between Quality Assurance and Quality control?
Quality Assurance | Quality Control |
Quality Assurance focuses on assuring that the end product (software) will be of the requested quality. | Quality control focuses on controlling the processes, methods, or techniques used in the development of software so that the quality requested is fulfilled. |
It is a preventive measure. | It is a corrective measure. |
It applies to the full software development life cycle. | It is applied in the testing phase. |
Define black box testing and white box testing.
- Black Box Testing: Black box testing is a form of high-level testing in which the primary objective is to analyse functions from the perspective of their behaviours. In black-box testing, the tester does not examine the program’s source code; rather, they operate the software to determine whether or not it performs as anticipated.
- White Box Testing: You are able to undertake white box testing, which is sometimes referred to as clear box testing when you have either specific knowledge of the software’s code or general knowledge about the architecture of the product in issue. This type of testing is considered to be low-level because its primary focus is on integration and unit testing. White box testing necessitates either in-depth knowledge of programming or, at the very least, an in-depth understanding of the code that implements a specific functionality.
What is Data Flow Diagram?
The movement of data and information through a system can be visualised using a Data Flow Diagram (DFD). It displays the data inputs, outputs, storage locations, and paths between each destination using symbols such as rectangles, circles, and arrows, in addition to providing brief text labels. Simple data flowcharts can be as complex as data flow diagrams (DFDs), which go more deeply into the details of how data is processed. Either to analyse an existing system or to design a brand new one, you may put them to work for you. It is possible for a DFD to effortlessly represent topics that are difficult to describe in words, and both technical and non-technical audiences are able to use it.
Describe the idea of modularization in further detail.
The functionality of a programme can be modularized by breaking it down into many, independent modules. Each of these modules contains only the information that is necessary to carry out a certain portion of the program’s intended capabilities. In layman’s words, it refers to the process of partitioning the software into a number of smaller modules for the purpose of handling each one independently. By utilising modularization, we are able to easily add new modules to a programme that are more autonomous and of a smaller size, all without being hindered by the intricacy of the program’s other features. The concept of modularization revolves around the idea of developing programmes using self-contained modules that are less difficult to create and keep up to date. On the other hand, when using a monolithic architecture, there is always the possibility that even a minor adjustment could bring the whole application to a halt. The very last thing that has to be done is to merge all of these separate components.
What are functional and non-functional requirements?
Functional Requirements | Non-functional Requirements |
These are the needs that the end-user specifies as essential features that the system should provide. | These are the quality requirements that the system must meet in order to fulfil the project contract. |
The user specifies the functional requirements. | Technical individuals, such as architects, technical leaders, and software engineers, specify non-functional requirements. |
Functional Requirements are mandatory. For example, the client might want certain mandatory changes in UI, like dark mode. | Non-functional requirements are not Mandatory. For example, the requirement to enhance readability is non-functional. |
What are the important categories of software?
- System software
- Application software
- Embedded software
- Web Applications
- Artificial Intelligence software
- Scientific software.
What distinguishes a computer programme from computer software in particular?
A piece of programming code that can be executed on a computer is called a programme. It is responsible for carrying out a duty that has been thoroughly outlined. On the other hand, the software comes with a manual and user guide in addition to the computer code.
What are software requirements?
The functional description of a proposed software system is what is known as the software requirements. It is presumed that this is the description of the target system, including its characteristics and functionalities.