Software Engineering: Question Set – 05
What do you mean by Software Re-engineering?
Software reengineering is the process of bringing an outdated piece of software up to date. The goal of this process is to enhance the quality and performance of the programme by adding new features and functions to it.
What is Concurrency?
The term “concurrency” comes from the field of software engineering and refers to a collection of methods and procedures that enable a piece of software to do multiple tasks at the same time. Because they support the idea of thread, languages such as C++ and Java make it possible to accomplish concurrency by using these languages. In order to achieve concurrency, you will need to implement new hardware and software features.
What is Software Configuration Management?
There is never a point in time when a piece of software is completely finished; there is always space for development. It may be necessary to make adjustments in order to either alter or improve an existing solution, or to create an entirely new solution for a problem. Changes to the existing system should be evaluated before to being put into effect, recorded prior to having an effect, documented with information of the system’s state both before and after the change was made and controlled in a manner that raises quality and lowers error rates. System Configuration Management is essential in this stage of the process.
During the Software Development Life Cycle, Software Configuration Management (SCM) is a method that can be utilised for the purpose of methodically managing, organising, and regulating changes made to documents, codes, and other entities. The primary objective is to increase production while committing as few errors as is humanly possible.
Describe the Software Development Process in Brief.
The Software Development Life Cycle (SDLC) is a series of fundamental phases that teams are required to follow in order to build and deploy high-quality software. These phases are listed in the following sequence: The following stages are often involved in the development of software:
- Requirements During this stage of the project, the team is responsible for gathering information, which includes determining, collecting, and defining the primary challenges, needs, requests, and customer expectations that are relevant to the software application or service. During this phase, some of the tasks that are completed include the generation of software specifications, the creation of a comprehensive strategy, the documentation of the strategy, the tracking of issues, and the planning of the project or product, which includes the allocation of resources.
- Software Design: During the design phase of development, the team is responsible for making decisions regarding the architecture and construction of the software solution as it relates to software design.
- Software Development: During this stage of the project, teams will develop software solutions based on the design decisions that were made earlier in the process.
- Testing and Integration: In this step, the software is packaged and put through various kinds of tests to confirm its quality. The process of ensuring that the solutions being deployed meet the required quality and performance criteria is known as quality assurance, which is also sometimes referred to as testing.
- Deployment refers to the process of installing the programme in a production environment. The consumers and users of the software service are given access to the work that has been gathered, created, constructed, and tested.
- Operation and Maintenance: The programme has been installed in a setting that is used for production. The task is distributed among the various customers and users of the software service.
What is the Software scope?
The actions that go into creating and delivering a software product are included in the software project’s scope, which is a clearly defined boundary that encompasses all of those operations. The scope specifies the functions that will and will not be performed by the product, as well as the components that the finished product will and will not include. The software scope contains an exhaustive list of all of the capabilities and objects that are going to be given as a part of the software.
What are CASE tools?
CASE tools are a group of application software products that can be used to automate SDLC procedures. CASE tools are available to simplify many stages of the software development life cycle. Some examples of CASE tools include analysis tools, design tools, project management tools, database management tools, and documentation tools.
What is a framework?
A well-known approach to the process of designing and delivering software is called a framework. It is a collection of tools that makes it possible to develop software by supplying knowledge on how to create it on an abstract level rather than offering specific specifics about how to do it. The entire software development process is predicated on the Software Process Framework as its central organising principle. The software process structure also incorporates umbrella operations as part of its workflow.
What are the positive aspects of using an incremental approach?
- It is able to deliver the iteration more quickly, even in the very first iteration.
- The processes of development occur simultaneously with one another.
- By utilising this strategy, we will be able to cut down on the cost of the initial delivery.
- The user or the customer can submit input at each stage, which allows for the elimination of unforeseen shifts in demand.
- Risks can be analysed and addressed on a module-by-module basis whenever possible.