Software Engineering Paradigms Software Development Life Cycle (SDLC)
Software Engineering Paradigms Software Development Life Cycle (SDLC)
- A framework that describes the activities performed at each stage of a software development
program.
- A life style of a typical software development must have.
Waterfall Model
- Allow users of the software to evaluate developer’s proposal for the design.
- Me personally I should say in this modeling customer is always right.
Benefits
1. Misunderstandings between software developers and users may be identified as the system
functions are demonstrated.
2. Missing user services may be detected.
3. Difficult-to-use or confusing user services may be identified and refined.
4. Software development staff may find incomplete and/or inconsistent requirements as the
prototype is developed.
5. System is available quickly to demonstrate the feasibility and usefulness of the application to
management.
Iterative Model
1. Business Modeling – A complete business analysis is performed to find the vital information for
business, how and when is the information processed and what are the factors driving
successful flow of information.
2. Data Modeling – The information gathered in the Business Modeling phase is reviewed and
analyzed to form sets of data objects vital for the business. The attributes of all data sets is
identified and defined. The relation between these data objects are established and defined in
detail in relevance to the business model.
3. Process Modeling – The data object sets defined in the Data Modeling phase are converted to
establish the business information flow needed to achieve specific business objectives as per the
business model . The process model for any changes or enhancements to the data object sets is
defined in this phase. Process descriptions for adding, deleting, retrieving or modifying a data
object are given.
4. Application Generation – The actual system is built and coding is done by using automation
tools to convert process and data models into actual prototypes.
5. Testing and Turnover – Because prototypes are independently tested during every iteration. In
result it reduces the risk of any major issues.
Some Comparisons
- In traditional emphasis on requirement analysis and gathering before the coding starts.
- Puts a pressure on the customer that may cause major revision.
- In RAD focuses on iterative and rapid incremental delivery results in non-conformance with the
actual