![]() |
"Paradigm", an old Greek word means "example", it refers to a group of entities which have characteristic in |
| common. |
![]() |
Software engineering paradigms are also known as Software engineering models or Software Development |
| Models. |
![]() |
In order to reduce the potential chaos of developing software applications and systems, we use software |
| process models and paradigms that describe the activities and processes that are required for building | |
| high-quality systems. |
![]() |
The specific process model or paradigms used to develop a given system depends heavily on the nature of |
| the target system. Use of software paradigms in the development of the software processes has many | |
| benefits, including supporting systematic approach and the use of standard approaches and methodologies. |
![]() |
The software engineering paradigm which is also referred to as a software process model or Software |
| Development Life Cycle (SDLC) model is the development strategy that encompasses the process, methods | |
| and tools. SDLC describes the period of time that starts with the software system being conceptualized and | |
| ends with the software system been discarded after usage. |
![]() |
The objectives of the use of software engineering paradigms include: |
![]() |
The software development process becomes a structured process. |
![]() |
Determine the order of states involved in software development and evolution, and to establish the | |
| transitions criteria for the next stage. |
![]() |
The software engineering paradigm provides the guidance to the software engineer. |
![]() |
A paradigm specifies the particular approach or philosophy for designing, building and maintaining software. |
![]() |
Each paradigm has its own advantages and disadvantages which make some paradigm more suitable to be |
| used in developing a given software system in a given situation than another. |
![]() |
The techniques, tools procedures and methods in developing software systems are heavily dependent on the |
| selected paradigm. |
![]() |
There are common software process tasks, phases and activities that are modeled by software models. They |
| are heavily affected by selected software paradigms. |
![]() |
These tasks, phases and activities include: |
![]() |
Requirements engineering: software specification and functional requirements obtained from the user. |
![]() |
Requirements analysis and modeling. |
![]() |
Architectural engineering, implementation and design: production of the software system as a product. |
![]() |
Software testing and validation: activity that assures the system requirements are met. |
![]() |
System delivery. |
![]() |
Software evolution and upgrading: system modification to meet continuing customer needs. |
![]() |
System documenting. |
![]() |
Maintenance. |
![]() |
Since the development of the early projects of large software systems in the 1950's and 1960's computer |
| scientists started to develop Software Development Life Cycle (SDLC) models to govern the whole process of | |
| development. |
![]() |
Many software process models have been developed over the years. |
![]() |
The purpose of these models was to be used as a guide and a conceptual scheme to manage the system |
| software project in a systematic, formal and procedural way. |
![]() |
They also provide a guide for the development of software applications. |
![]() |
Software models are used to guide the various tasks of the software system project through many activities |
| like planning, organizing, coordinating, staffing, budgeting, and managing software development activities. |
![]() |
A variety of different process models have evolved and improved over the years. |
![]() |
Each represents an attempt to bring order to an inherently chaotic activity. |
![]() |
Each of the models is characterized in a way that ideally assists in the control and coordination of a software |
| project. |
![]() |
The difference between various software models include that they emphasize different aspects of the stages |
| of the SDLC. |
![]() |
And each is suitable to be used for projects that require a degree of importance in those aspects. |
![]() |
In the early stages of the evolution of the software models, these models were classic, traditional and |
| immature. |
![]() |
Since the 1950's and 1960's, many descriptions of the classic software life cycle have been developed. The |
| first software model is the "waterfall" model. |
![]() |
The software models are usually describes as flowcharts. |
![]() |
These flowcharts summarize in a single display how developing stages of large software systems are |
| conducted. |
![]() |
These flowcharts are also used to present and describe the corresponding software model to customers, |
| business manager, and development programmers. |