Software Engineering: Question Set – 06
Where do computer programmes and software differ primarily?
The primary distinction between software and a programme is that software refers to a collection of many programmes that are used to carry out activities, while a programme refers to a set of instructions that are represented in a programming language. A programme can be considered software, but software cannot be considered a programme, and vice versa.
What are some of the problems associated with using the spiral model?
The iterative development process and the waterfall model have been combined to create a new methodology known as the spiral model, which places an emphasis on risk assessment. The software development life cycle (SDLC) spiral model organises the software development process so that it starts with a constrained list of requirements and then moves through each development phase. While waiting for the application to be ready for production, the software engineering team will continue to add functionality in ever-increasing spirals to accommodate the growing number of requirements.
The spiral model has a number of flaws, including the following:
- It is noticeably more sophisticated than other SDLC models. The process is somewhat complicated.
- Due to the substantial amount of money required, we do not advocate using it for less significant undertakings.
- Estimating time is difficult; risk assessment requires a high level of expertise and is unduly dependent on the results of previous work.
- There is potential for the spiral to go on forever.
How do you define software metrics?
Software metrics assess programme properties quantitatively. Software metrics can be used to analyse performance, plan, estimate productivity, etc. Software metrics include load testing, stress testing, failure rate, code complexity, and lines of code. Software metrics’ benefits include:
- It reduces cost.
- It increases ROI (return on investment).
- Reduces workload.
- Highlights areas for improvement.
Differentiate: Cohesion and Coupling
|Cohesion refers to the relationship within modules.||Coupling refers to the relationship between modules.|
|Increasing cohesion is good for the software.||Coupling should be avoided.|
|Modules focus on a particular thing in cohesion.||Modules are coupled to one another through coupling.|
|Example: A function that checks file permission and then opens it, or a function to decrypt messages.||Example: Two models sharing data with each other.|
What are different SDLC models available?
Following are some of the popular SDLC models:
- Waterfall model
- Spiral model
- Incremental model
- Agile Model
- Big bang model
- Iterative model
What is the waterfall method and what are its use cases?
When it comes to software development life cycle (SDLC) methods, the waterfall is by far the simplest and most easy option. The development process is linear and each step is completed one by one. The name comes from the way that development occurs, which is a descending cascade. The software must support the following waterfall model stages:
- Testing and integration
- When the criteria have been thoroughly outlined and cannot be altered.
- There are no confusing requirements or circumstances.
- When a thorough understanding of the technology has been achieved
- Both the duration of the project and the number of actors involved are limited.
- There is hardly any danger involved.
Can you explain the difference between verifying and validating?
- Verification is the process of ensuring that a piece of software meets its goals in an error-free manner and is referred to as the verification process. It’s the process of figuring out whether or not the thing that’s being produced is going in the right direction. The answer to this question will indicate whether or not the final product satisfies our requirements. The functionality is the primary focal point of it.
- Validation is the process of determining whether or not a software product satisfies the necessary standards, or, to put it another way, whether or not it meets the quality criteria for the product. It is the procedure of checking the validity of the product, also known as making certain that the thing that we are constructing is accurate. The quality of the software is the primary emphasis of the validation process.
How can we define a feasibility study?
As its name suggests, a feasibility study is a measurement of a software product in terms of how valuable product development will be for the company from the standpoint of a more practical perspective. Studies of feasibility are carried out for a variety of purposes, one of which is to ascertain whether or not a software product is suitable in terms of its development, implementation, and the overall value that the project provides to the company. The following topics receive the most attention in the feasibility study:
- Economic feasibility
- Technical feasibility
- Operational feasibility
- Legal feasibility
- Schedule feasibility