What are the characteristics of Software?
- There are many different aspects to software, including the following:
- Software is not manufactured in the traditional sense; rather, it is either developed or engineered.
- Although there are some parallels between developing software and producing hardware, there are not many tasks that are fundamentally different from one another.
- A high level of quality is accomplished through strong design in both activities; however, the manufacturing phase for hardware is more likely to cause quality issues than the software development phase.
- The software does not experience “wear and tear.”
- Hardware components are increasingly susceptible to the negative impacts of a wide variety of other environmental conditions. To put it another way, the hardware eventually becomes worn out.
- Environmental ailments that lead to hardware deterioration are not capable of affecting software in any way.
- A hardware component that has reached the end of its useful life is swapped out for a spare part.
- There are no spare parts for the software.
- A software failure always points to a mistake in the design of the programme or in the method by which the design was converted into code that a machine can actually execute. As a result, the complexity involved in the software maintenance procedures required to accept modification requests is far higher than that required for hardware maintenance. On the other hand, the meaning is quite clear: the software does not degrade over time. But it does worsen.
- The software is still being developed on an individual basis:
- The planning and implementation of a software component ought to be done with the intention that it will be reused in a number of other projects.
- The currently available reusable segments enclose both the information and the preparation that is applied to the information. This gives the programmer the ability to create new applications based on reusable portions.
- In the world of hardware, the process of reusing components is an inherent aspect of engineering design.
What is SRS?
The Software Requirement Specification (SRS) Format is an exhaustive specification and description of the requirements of the software that must be met for the successful development of the software system. These requirements must be met in order for the software system to be considered complete. Depending on the kind of demand, these criteria could either be functional or non-functional requirements. Because it is essential to have a complete comprehension of the requirements set forth by consumers, the interaction between various customers and contractors is carried out.
Which model can be selected if the user is involved in all the phases of SDLC?
RAD model can be selected if the user is involved in all the phases of SDLC.
How to find the size of a software product?
A key component of managing software projects is developing an accurate estimate of the size of the product. It is helpful for the project manager to make a more accurate prediction of the amount of time and effort that will be required to build the project. The size of a project can be estimated using a variety of different metrics. Among them are the following:
- Lines of Code
- Number of entities in ER diagram
- Total number of processes in detailed data flow diagram
- Function points
Which model is used to check software reliability?
The Rayleigh model is utilised in order to test the dependability of software. In the sense that it is predicated on a particular statistical distribution, the Rayleigh model can be understood to be a parametric model. When the parameters of the statistical distribution are estimated using the data from a software project, one may use the model to make estimates about the defect rate of the software project.
What are the elements to be considered in the System Model Construction?
It is important to keep in mind the type and size of the software, the experience of using the software for reference to predecessors, the level of difficulty to obtain the needs of the users, the development techniques and tools, the situation of the development team, the development risks, and the software development methods. To construct a software development plan that is reasonable and appropriate is a necessary step in the process to assure the success of software development, which is an important prerequisite.
Define adaptive maintenance?
When clients require the product to run on new platforms, on new operating systems, or when they require the product to interface with new hardware and software, this is an example of adaptive maintenance. Adaptive maintenance may also be defined as the process of making modifications and updates.
What is reverse engineering?
Software The process of determining a product’s design, requirement specifications, and functionality through an examination of the product’s source code is referred to as “reverse engineering.” It begins by constructing a database for the software and then proceeds to generate information based on this. Reverse engineering is performed with the intention of making maintenance work easier to perform by increasing a system’s level of understandability and creating all of the necessary documentation for an older system.
Reverse Engineering Goals:
- Cope with Complexity.
- Recover lost information.
- Detect side effects.
- Synthesize higher abstraction.
- Facilitate Reuse.
What is the Difference Between Quality Assurance and Quality Control?
|Quality Assurance (QA)||Quality Control (QC)|
|It focuses on providing assurance that the quality requested will be achieved.||It focuses on fulfilling the quality requested.|
|It is the technique of managing quality.||It is the technique to verify quality.|
|It does not include the execution of the program.||It always includes the execution of the program.|
|It is a managerial tool.||It is a corrective tool.|
|It is process-oriented.||It is product-oriented.|
|The aim of quality assurance is to prevent defects.||The aim of quality control is to identify and improve the defects.|
|It is a preventive technique.||It is a corrective technique.|
|It is a proactive measure.||It is a reactive measure.|
|It is responsible for the full software development life cycle.||It is responsible for the software testing life cycle.|
|Example: Verification||Example: Validation|