The document discusses software maintenance and related concepts. It covers:
1. The different types of software maintenance including corrective, adaptive, preventive, and perfective maintenance.
2. Factors that influence the cost of software maintenance, including technical factors like programming style and documentation as well as non-technical factors like staff stability and dependence on external environments.
3. Software re-engineering which aims to improve maintainability through processes like reverse engineering, restructuring code and data, and forward engineering. Reverse engineering recovers specifications from existing code while forward engineering develops new systems.
4. Other maintenance concepts covered include reusability of software components, requirement specification, and incorporating existing components into new systems.
I am Mrinal Dev here to present you my topic in types of Maintenance with some other topics like Maintenance and Importance of Maintenance in Software Engineering.
I am Mrinal Dev here to present you my topic in types of Maintenance with some other topics like Maintenance and Importance of Maintenance in Software Engineering.
Renewable energy is energy that is collected from renewable resources that are naturally replenished on a human timescale. It includes sources such as sunlight, wind, the movement of water, and geothermal heat.[2] Although most renewable energy sources are sustainable, some are not. For example, some biomass sources are considered unsustainable at current rates of exploitation.[3][4] Renewable energy often provides energy for electricity generation to a grid, air and water heating/cooling, and stand-alone power systems.
Since 2011, the amount of renewable Energies within global production grew from 20 to 28%. Thereby fossil and nuclear production shrunk from 68 to 60% and 12 to 10%. The share of hydrogenpower decreased from 16 to 15% while power from sun and wind increased from 2 up to 10% while bio- and biothermal energies grew from 2 on 3%. There are 3.146 Gigawatt installed in 135 countries, while 156 countries have laws ruling renewable energie sector.Renewable energy technology projects are typically large-scale, but they are also suited to rural and remote areas and developing countries, where energy is often crucial in human development.[22][23] As most of the renewable energy technologies provide electricity, renewable energy is often deployed together with further electrification, which has several benefits: electricity can move heat or objects efficiently, and is clean at the point of consumption.[24][25] In addition, electrification with renewable energy is more efficient and therefore leads to significant reductions in primary energy requirements.[26] In 2021, China accounted for almost half of the global increase in renewable electricity.Renewable energy stands in contrast to fossil fuels, which are being used far more quickly than they are being replenished. Renewable energy resources and significant opportunities for energy efficiency exist over wide geographical areas, in contrast to other energy sources, which are concentrated in a limited number of countries. Rapid deployment of renewable energy and energy efficiency, and technological diversification of energy sources, would result in significant energy security and economic benefits.[17] Solar and wind power have got much cheaper.[30] In some cases it will be cheaper to transition to these sources as opposed to continuing to use the current, inefficient, fossil fuels. It would also reduce environmental pollution such as air pollution caused by the burning of fossil fuels, and improve public health, reduce premature mortalities due to pollution and save associated health costs that could amount to trillions of dollars annually.[31][32] Multiple analyses of decarbonization strategies have found that quantified health benefits can significantly offset the costs of implementing these strategies.[33][34]
Climate change concerns, coupled with the continuing fall in the costs of some renewable energy equipment, such as wind turbines and solar panels, are driving increased use.
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
Learn about software maintenance in detail and why it is so important to your business. Check the different types, primary reasons, strategies, and processes of software maintenance.
For More Information: https://www.albiorixtech.com/blog/software-maintenance-essential-for-your-business/
#SoftwareMaintenance #WebAppDevelopment #MobileAppDevelopment #SoftwareDevelopment
These slides, covering the topics of Software Maintenance and Evolution, are introductory slides to the course LINGI2252 “Software Maintenance and Evolution”, given by Prof. Kim Mens at UCL, Belgium
Following presentation answers:
- Why do we need evolution?
- What happens if we do not evolve the software?
- What are the types of software evolution?
- What are Lehman's laws
- What are the strategies for evolution?
Renewable energy is energy that is collected from renewable resources that are naturally replenished on a human timescale. It includes sources such as sunlight, wind, the movement of water, and geothermal heat.[2] Although most renewable energy sources are sustainable, some are not. For example, some biomass sources are considered unsustainable at current rates of exploitation.[3][4] Renewable energy often provides energy for electricity generation to a grid, air and water heating/cooling, and stand-alone power systems.
Since 2011, the amount of renewable Energies within global production grew from 20 to 28%. Thereby fossil and nuclear production shrunk from 68 to 60% and 12 to 10%. The share of hydrogenpower decreased from 16 to 15% while power from sun and wind increased from 2 up to 10% while bio- and biothermal energies grew from 2 on 3%. There are 3.146 Gigawatt installed in 135 countries, while 156 countries have laws ruling renewable energie sector.Renewable energy technology projects are typically large-scale, but they are also suited to rural and remote areas and developing countries, where energy is often crucial in human development.[22][23] As most of the renewable energy technologies provide electricity, renewable energy is often deployed together with further electrification, which has several benefits: electricity can move heat or objects efficiently, and is clean at the point of consumption.[24][25] In addition, electrification with renewable energy is more efficient and therefore leads to significant reductions in primary energy requirements.[26] In 2021, China accounted for almost half of the global increase in renewable electricity.Renewable energy stands in contrast to fossil fuels, which are being used far more quickly than they are being replenished. Renewable energy resources and significant opportunities for energy efficiency exist over wide geographical areas, in contrast to other energy sources, which are concentrated in a limited number of countries. Rapid deployment of renewable energy and energy efficiency, and technological diversification of energy sources, would result in significant energy security and economic benefits.[17] Solar and wind power have got much cheaper.[30] In some cases it will be cheaper to transition to these sources as opposed to continuing to use the current, inefficient, fossil fuels. It would also reduce environmental pollution such as air pollution caused by the burning of fossil fuels, and improve public health, reduce premature mortalities due to pollution and save associated health costs that could amount to trillions of dollars annually.[31][32] Multiple analyses of decarbonization strategies have found that quantified health benefits can significantly offset the costs of implementing these strategies.[33][34]
Climate change concerns, coupled with the continuing fall in the costs of some renewable energy equipment, such as wind turbines and solar panels, are driving increased use.
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
Learn about software maintenance in detail and why it is so important to your business. Check the different types, primary reasons, strategies, and processes of software maintenance.
For More Information: https://www.albiorixtech.com/blog/software-maintenance-essential-for-your-business/
#SoftwareMaintenance #WebAppDevelopment #MobileAppDevelopment #SoftwareDevelopment
These slides, covering the topics of Software Maintenance and Evolution, are introductory slides to the course LINGI2252 “Software Maintenance and Evolution”, given by Prof. Kim Mens at UCL, Belgium
Following presentation answers:
- Why do we need evolution?
- What happens if we do not evolve the software?
- What are the types of software evolution?
- What are Lehman's laws
- What are the strategies for evolution?
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
2. SOFTWARE MAINTENANCE
Software maintenance is a part of the Software
Development Life Cycle.
Its primary goal is to modify and update software
application after delivery to correct errors and to improve
performance.
Software is a model of the real world. When the real world
changes, the software require alteration wherever
possible.
Software Maintenance is an inclusive activity that includes
error corrections, enhancement of capabilities, deletion of
obsolete capabilities, and optimization.
3. NEED FOR MAINTENANCE
Software Maintenance is needed for:-
Correct errors
Change in user requirement with time
Changing hardware/software requirements
To improve system efficiency
To optimize the code to run faster
To modify the components
To reduce any unwanted side effects.
Thus the maintenance is required to ensure that the
system continues to satisfy user requirements.
4. TYPES OF SOFTWARE MAINTENANCE
1. Corrective Maintenance
Corrective maintenance aims to correct any remaining errors
regardless of where they may cause specifications, design,
coding, testing, and documentation, etc.
2. Adaptive Maintenance
It contains modifying the software to match changes in the ever-
changing environment.
3. Preventive Maintenance
It is the process by which we prevent our system from being
obsolete. It involves the concept of reengineering & reverse
engineering in which an old system with old technology is re-
engineered using new technology. This maintenance prevents
the system from dying out.
4. Perfective Maintenance
It defines improving processing efficiency or performance or
restricting the software to enhance changeability. This may
contain enhancement of existing system functionality,
improvement in computational efficiency, etc.
5. SOFTWARE MAINTENANCE COST FACTORS
There are two types of cost factors involved in software
maintenance.
These are
Non-Technical Factors
Technical Factors
Non-Technical Factors
1. Application Domain
If the application of the program is defined and well
understood, the system requirements may be definitive
and maintenance due to changing needs minimized.
If the form is entirely new, it is likely that the initial
conditions will be modified frequently, as user gain
experience with the system.
6. 2. Staff Stability
It is simple for the original writer of a program to
understand and change an application rather than some
other person who must understand the program by the
study of the reports and code listing.
If the implementation of a system also maintains that
systems, maintenance costs will reduce.
In practice, the feature of the programming profession is
such that persons change jobs regularly. It is unusual for
one user to develop and maintain an application
throughout its useful life.
3. Program Lifetime
Programs become obsolete when the program becomes
obsolete, or their original hardware is replaced, and
conversion costs exceed rewriting costs.
7. 4. Dependence on External Environment
If an application is dependent on its external environment, it must be
modified as the climate changes.
For example:
Changes in a taxation system might need payroll, accounting, and stock
control programs to be modified.
Taxation changes are nearly frequent, and maintenance costs for these
programs are associated with the frequency of these changes.
A program used in mathematical applications does not typically depend
on humans changing the assumptions on which the program is based.
5. Hardware Stability
If an application is designed to operate on a specific hardware
configuration and that configuration does not changes during the
program's lifetime, no maintenance costs due to hardware changes will
be incurred.
Hardware developments are so increased that this situation is rare.
The application must be changed to use new hardware that replaces
obsolete equipment.
9. Module Independence
It should be possible to change one program unit of
a system without affecting any other unit.
Programming Language
Programs written in a high-level programming
language are generally easier to understand than
programs written in a low-level language.
Programming Style
The method in which a program is written
contributes to its understandability and hence, the
ease with which it can be modified.
10. Program Validation and Testing
Generally, more the time and effort are spent on design validation and
program testing, the fewer bugs in the program and, consequently,
maintenance costs resulting from bugs correction are lower.
Maintenance costs due to bug's correction are governed by the type of
fault to be repaired.
Coding errors are generally relatively cheap to correct, design errors are
more expensive as they may include the rewriting of one or more
program units.
Bugs in the software requirements are usually the most expensive to
correct because of the drastic design which is generally involved.
Documentation
If a program is supported by clear, complete yet concise documentation,
the functions of understanding the application can be associatively
straight-forward.
Program maintenance costs tends to be less for well-reported systems
than for the system supplied with inadequate or incomplete
documentation.
Configuration Management Techniques
One of the essential costs of maintenance is keeping track of all system
documents and ensuring that these are kept consistent.
Effective configuration management can help control these costs.
11. MAINTENANCE ACTIVITIES
IEEE provides a framework for sequential
maintenance process activities. It can be used in
iterative manner and can be extended so that
customized items and processes can be included.
12. These activities go hand-in-hand with each of the following phase:
Identification & Tracing - It involves activities pertaining to identification
of requirement of modification or maintenance. It is generated by user or
system may itself report via logs or error messages. Here, the
maintenance type is classified also.
Analysis - The modification is analyzed for its impact on the system
including safety and security implications. If probable impact is severe,
alternative solution is looked for. A set of required modifications is then
materialized into requirement specifications. The cost of
modification/maintenance is analyzed and estimation is concluded.
Design - New modules, which need to be replaced or modified, are
designed against requirement specifications set in the previous stage.
Test cases are created for validation and verification.
Implementation - The new modules are coded with the help of
structured design created in the design step.Every programmer is
expected to do unit testing in parallel.
13. System Testing - Integration testing is done among newly
created modules. Integration testing is also carried out between
new modules and the system. Finally the system is tested as a
whole, following regressive testing procedures.
Acceptance Testing - After testing the system internally, it is
tested for acceptance with the help of users. If at this state, user
complaints some issues they are addressed or noted to address
in next iteration.
Delivery - After acceptance test, the system is deployed all over
the organization either by small update package or fresh
installation of the system. The final testing takes place at client
end after the software is delivered.
Training facility is provided if required, in addition to the hard
copy of user manual.
Maintenance management - Configuration management is an
essential part of system maintenance. It is aided with version
control tools to control versions, semi-version or patch
management.
14. SOFTWARE RE-ENGINEERING
Software Re-engineering is a process of software
development which is done to improve the maintainability of a
software system. Re-engineering is the examination and
alteration of a system to reconstitute it in a new form. This
process encompasses a combination of sub-processes like
reverse engineering, forward engineering, reconstructing etc.
Re-engineering is the reorganizing and modifying existing
software systems to make them more maintainable.
Objectives of Re-engineering:
To describe a cost-effective option for system evolution.
To describe the activities involved in the software
maintenance process.
To distinguish between software and data re-engineering and
to explain the problems of data re-engineering.
15. ACTIVITIES OF REENGINEERING
1.Decide what to re-engineer.is it whole software or
a part of it?
2. perform reverse engineering in order to obtain
specification of existing software .
3.Re-structure program if required. For example
,changing function oriented programs into object-
oriented programs.
4.Re-structuring data is required.
5.Apply forward engineering concepts in order to
get re-engineered software.
16. Advantages of Re-engineering:
Reduced Risk: As the software is already existing, the
risk is less as compared to new software development.
Development problems, staffing problems and
specification problems are the lots of problems which
may arise in new software development.
Reduced Cost: The cost of re-engineering is less than
the costs of developing new software.
Revelation of Business Rules: As a system is re-
engineered , business rules that are embedded in the
system are rediscovered.
Better use of Existing Staff: Existing staff expertise
can be maintained and extended accommodate new
skills during re-engineering.
17. REVERSE ENGINEERING
Software Reverse Engineering is a process of
recovering the design, requirement specifications and
functions of a product from an analysis of its code. It
builds a program database and generates information
from this.
The purpose of reverse engineering is to facilitate the
maintenance work by improving the understandability of
a system and to produce the necessary documents for a
legacy system.
Reverse Engineering Goals:
Cope with Complexity.
Recover lost information.
Detect side effects.
Synthesise higher abstraction.
Facilitate Reuse.
18.
19. STEPS OF SOFTWARE REVERSE ENGINEERING
Collection Information:
This step focuses on collecting all possible information
(i.e., source design documents etc.) about the
software.
Examining the information:
The information collected in step-1 as studied so as to
get familiar with the system.
Extracting the structure:
This step concerns with identification of program
structure in the form of structure chart where each node
corresponds to some routine.
Recording the functionality:
During this step processing details of each module of
the structure, charts are recorded using structured
language like decision table, etc.
20. Recording data flow:
From the information exA tracted in step-3 and step-4,
set of data flow diagrams are derived to show the flow of
data among the processes.
Recording control flow:
High level control structure of the software is recorded.
Review extracted design:
Design document extracted is reviewed several times to
ensure consistency and correctness. It also ensures that
the design represents the program.
Generate documentation:
Finally, in this step, the complete documentation
including SRS, design document, history, overview, etc.
are recorded for future use.
21. ADVANTAGE OF REVERSE ENGINEERING
Reverse engineering provides the abstract
information from the detailed source code
implementation.
Reverse engineering improves system
documentation that is either incomplete or out of
date.
It manages the complexity that is present in
software programs
Reverse engineering focuses on recovering the lost
information from the programs.
22. SOFTWARE RESTRUCTURING
Software restructuring modifies source code and/or data
in an effort to make it amenable to future changes. In
general, restructuring does not modify the overall
program architecture. It tends to focus on the design
details of individual modules and on local data
structures defined within modules. If the restructuring
effort extends beyond module boundaries and
encompasses the software architecture, restructuring
becomes forward engineering .
Its goal is increased maintainability to better facilitate
other maintenance activities, such as adding new
functionality to, or correcting previously undetected
errors within a software system.
23. Changes to the structure are introduced through the
application of transformations.
Manually transforming the source code may introduce
undesirable as well as undetectable changes in the
system's behaviour. It is very difficult to ensure that
manual restructuring preserves functionality and
guaranteeing it is almost impossible.
Code Restructuring:-
Code restructuring is performed to yield a design that
produces the same function but with higher quality than
the original program. In general, code restructuring
techniques model program logic using Boolean algebra
and then apply a series of transformation rules that yield
restructured logic.
24. Data Restructuring:-
Before data restructuring can begin, a reverse
engineering activity called analysis of source code
must be conducted. All programming language
statements that contain data definitions, file
descriptions, I/O, and interface descriptions are
evaluated.
Data restructuring begins with a reverse
engineering activity.
Current data architecture is dissected, and the
necessary data models are defined.
Data objects and attributes are identified, and
existing data structure are reviewed for quality.
25. The intent is to extract data items and objects, to
get information on data flow, and to understand the
existing data structures that have been
implemented. This activity is sometimes called data
analysis .
Process of restructuring:
Step 1: static analysis is performed ,which provides
information that is used to represent code as a
directed graph or associative(semantic)
network. The representation may or may not be in
a human readable form ; thus an automated tool is
used.
26. Step 2: transformational techniques are used to refine the
representation.
Step 3: refined representation is interpreted and used to
generate the structured code.
Forward Engineering:-Forward Engineering is a method of
creating or making an application with the help of the given
requirements. Forward engineering is also known as
Renovation and Reclamation. Forward engineering is required
high proficiency skills. It takes more time to construct or
develop an application. Forward engineering is a
technique of creating high-level models or designs to make in
complexities and low-level information. Therefore this kind of
engineering has completely different principles in numerous
package and information processes. Forward Engineering
applies of all the software engineering process which contains
SDLC to recreate associate existing application. It is near to
full fill new needs of the users into re-engineering.
27. CHARACTERISTICS OF FORWARD ENGINEERING:
Forward engineering is a variety of engineering that has different
principles in numerous package and information processes.
Forward engineering is vital in IT as a result of it represents the
‘normal’ development process.
Forward engineering deals with the conversion of business
processes, services, and functions into applications.
In this method business model is developed first. Then, a top-to-
down approach is followed to urge the package from the model
developed.
Forward engineering tools are accustomed move from
implementation styles and logic to the event of supply code.
It essentially permits the user to develop a business model which
may then be translated into data system components.
These tools basically follow the top-to down approach. System
creator and visual Analyst is a forward engineering CASE tool.
28.
29. Component reusability
A component is a part of software program code, which executes an
independent task in the system. It can be a small module or sub-system
itself.
Example
The login procedures used on the web can be considered as
components, printing system in software can be seen as a component of
the software.
Components have high cohesion of functionality and lower rate of
coupling, i.e. they work independently and can perform tasks without
depending on other modules.
In OOP, the objects are designed are very specific to their concern and
have fewer chances to be used in some other software.
In modular programming, the modules are coded to perform specific
tasks which can be used across number of other software programs.
There is a whole new vertical, which is based on re-use of software
component, and is known as Component Based Software Engineering
(CBSE).
30. Re-use can be done at various levels
Application level - Where an entire application is used
as sub-system of new software.
Component level - Where sub-system of an application
is used.
Modules level - Where functional modules are re-used.
Software components provide interfaces, which can be
used to establish communication among different
components.
Reuse Process
Two kinds of method can be adopted: either by keeping
requirements same and adjusting components or by
keeping components same and modifying requirements.
31.
32. Requirement Specification - The functional and non-functional
requirements are specified, which a software product must
comply to, with the help of existing system, user input or both.
Design - This is also a standard SDLC process step, where
requirements are defined in terms of software parlance. Basic
architecture of system as a whole and its sub-systems are
created.
Specify Components - By studying the software design, the
designers segregate the entire system into smaller components
or sub-systems. One complete software design turns into a
collection of a huge set of components working together.
Search Suitable Components - The software component
repository is referred by designers to search for the matching
component, on the basis of functionality and intended software
requirements..
Incorporate Components - All matched components are packed
together to shape them as complete software.