Explain the Software process activities or, Explain the Software specification, software validation, and software evolution.

 Software Process Activities 

- The structured set of activities required to develop a software system like: specification, design, validation, and evolution are called software process activities.

- The process activities are organized differently in different development models. How these activities are carried out depends on the type of software, people, and, organizational structure involved.

- Following are the major software process activities:

° Software specification

° Software design and implementation

° Software validation

° Software evolution


1) Software specification

- Software specification or requirement engineering is the process of understanding and defining what services are required from the system and identifying the constraints on the systems and operation and development.

- Software specification leads to the production of a requirement document that specifies a software satisfying stakeholder's requirement.


                                                   Figure: Software Specification

- It involves activities like Feasibility study, Requirement specification( User Requirement, System Requirements), Requirements elicitation, Requirement validation, etc...

a) Feasibility study:- An estimate is made of whether the identified user needs may be satisfied using current software and hardware technology. The study considers whether the proposed system will be cost-effective from a business point of view and whether it can be developed within existing budgetary constraints. A feasibility study should be relatively cheap and quick.

b) Requirement specification:- The activity of translating the information gathered during the analysis activity into a document that defines a set of requirements. Two types of requirements may be included in this document:

           ° User Requirement:- User Requirements are an abstract statement of the system requirements for the customer and user of the system

             ° System Requirements:- System Requirements are a more detailed description of the functionality to be proved.

c) Requirement Elicitation and Analysis :- This is the process of deriving the system requirements through the observation of the existing system, discussion with potential users and procurers, task analysis, and so on. This may involve the development of one or more system models and prototypes.

d) Requirement validation :- This activity checks the requirements for realism, consistency, and completeness. during this process, errors in the requirements documents are discovered. It must then be modified to correct these problems.


2) Software design and implementation 

- It is a process of converting a system specification into an executable system. It always involves software design and implementation.

- It is also called invariably inter-leaved :- ° Software design is a creative activity in which you identify software components and their relationships, based on customer's requirements. ° Implementation is the process of realizing the design as the program

 ° Software design :- Design of a software structure (logical diagram such as DFD, E-R diagram, VSE Case)that realizes the specification is called software design.

° Implementation :- Translate this structure into an executable program is called Implementation.

The specific design process activities: 


a) Architectural design:- The subsystem, making up the system and their relationship are identified and documented.

b) Abstract Specification:- For each subsystem, an abstract specification of its services and the constraints under which it must operate is produced

c) Interface design:- For each system, its interface with other subsystems is designed and documented . This interface specification must be unambiguous as it allows the subsystem to be used without knowledge of the subsystem operation.

d) Component design:- Services are allocated to components and the interfaces of these components are designed.

e) Data structure design:- The data structure used in the system implementation and designed in detail and specified.

f) Algorithm and Design:- The algorithm used to prove services are designed in detail and specified.


3) Software Validation

- It is a process of evaluating software products, so as to ensure that the software meets the predefined and specified business requirements as well as end-user/customer's demands and expectations.

- Generally,  Software Validation means Verification and validation (V and V) is intended to show that a system conforms to its specification and meets the requirements of the system customer. 

- It is intended to show that the software does what the customer wants. i.e. Are we building the right product? It involves checking processes such as inspection and reviews, at each stage of the software process from user requirement to software development. 

- It involves checking and review processes and system testing. 

- System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.


All testing process is described below:-

a) Component testing

- Individual components are tested independently to ensure that they operate correctly. 

- Components may be functions or objects or coherent groupings of these entities


b) System testing

- The components are integrated to make up the system.

- Testing of the system as a whole. Testing of emergent properties is particularly important.

- It also concerned with validating that the system meets its functional and non-functional requirements and testing the emergent system properties.


c) Acceptance testing

- Acceptance testing revel error in the system requirement definition because the real data exercise the system in different ways from the test data.

- Testing with customer data to check that the system meets the customer's needs.


5) Software Evolution

- User requirements and business organization requirements are changing continuously. A good quality software may adapt their changing requirements în Software evolution ability. These changing requirements of customers and organizations are identified and analyzed. After that, the analysis should perform to identify that which component may change & how to adapt to these changing requirements without affecting other components of the software.

 - In Software Engineering, Software evolution is referred to as the process of developing, maintaining, and updating software for various reasons.

- The software evolution process includes: -Requirement changes, Environment changes, Errors or security breaches, New equipment added or removed, and improvement to the system

 



                                           

Comments

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Describe how cloud computing technology can be applied to support remote ECG monitoring.

Explain market-Oriented Cloud computing architecture.