3. The following project describes the internal processes that are common across all stages of the SDLC, and the third chapter describes the inputs, outputs, and processes of each stage. SYIT 191-200 2
4. Cont: There are six stages in SDLC: Analysis Planning Design Coding Testing Implementation & maintenance SDLC uses four main approaches viz. SYIT 191-200 3
7. Contemplative Questions What are the various approaches to developing Information Systems? Is there one best way? What is the difference between techniques, methodologies and tools? What does the popular term “SDLC” actually mean? SYIT 191-200 6
8. SDLC SDLC stands for Systems Development Life Cycle What does it mean? Why do we need it? SYIT 191-200 7
9. What is SDLC? SDLC stands for Systems Development Life Cycle First, SDLC is a Life Cycle. All systems have a life cycle or a series of stages they naturally undergo. The number and name of the stages varies, but the primary stages are conception, development, maturity and decline. The systems development life cycle (SDLC) therefore, refers to the development stage of the system’s life cycle SYIT 191-200 8
10. Approaches to Systems Development Process-Oriented Approach Focus is on flow, use and transformation of data in an information system Involves creating graphical representations such as data flow diagrams and charts Data are tracked from sources, through intermediate steps and to final destinations Natural structure of data is not specified Disadvantage: data files are tied to specific applications SYIT 191-200 9
13. Milestones Following are the milestones in SDLC – Requirement Gathering In this, customer needs are analysed in order to get a clear picture of the user requirements. If it is an existing system, requirements include improvement on the backlogs of the existing system. This is done by interviewing users and consultants of the the company (client). SYIT 191-200 12
14. Cont: Functional Specification It mentions, what functions is the product supposed to have i.e how the interface should be, what should the product do, how will the user use the product. SYIT 191-200 13
15. High Level Design (HLD) In this stage, logical view of the solution to customer requirements is arrived at. It helps in deciding operating systems, hardware, database design, architecture, security issues etc. SYIT 191-200 14
16. Low Level Design (LLD) In this phase, HLD is broken down into smaller modules/programs. LLD is used by developers. SYIT 191-200 15
20. 3.Rapid Application Development (RAD) Approach: Iterative Framework Type 4.Spiral Approach : combination of linear and iterative framework type
21. Waterfall Approach The Waterfall model is a sequential development approach, in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. Basic principles of the waterfall approach are: Project is divided into sequential phases, with some overlap and splashback acceptable between phases. Emphasis is on planning, time schedules, target dates, budgets and implementation of an entire system
22. Prototyping Approach Software prototyping, is the development approach of activities during software development the creation of prototypes, i.e., incomplete versions of the software program being developed. Basic principles of the Prototyping Approach are: Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. A basic understanding of the fundamental business problem is necessary to avoid solving the wrong problem.
24. Spiral Approach The spiral model. The spiral model approach is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down aweigh consideration of project continuation throughout the life cycle. Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments and providing more ease-of-change during the development process, as well as providing the opportunity to evaluate risks
25. Rapid Application Development (RAD) Approach Rapid Application Development(RAD) is a software development methodology approach, which involves iterative development and the construction of prototypes. Rapid application development is a term originally used to describe a software development process introduced by James Martin in 1991. Standard systems analysis and design techniques can be fitted into this framework. Basic principles: Key objective is for fast development and delivery of a high quality system at a relatively low investment cost. Standard systems analysis and design techniques can be fitted into this framework.
27. Analysis Analysis is first phase in SDLC wherein the possible outcome of the software are discussed in detail. Analysis is similar to a patient visiting a doctor.Doctors always analyse their patient:observing,testing,questioning. SYIT 191-200 24
28. Analysis Phase Identify problem Feasibility study for new system Investigate current system Organisational & system goals Problems / limitations identified Possible solutions Evaluate all data collected Decision to continue
29.
30. Design Phase Hardware / Software to be used Suppliers selection Program specifications Screen design User interface Inputs Outputs Setting up Tests to be performed General Specifications for user documentation
32. Development Stages of the PDLC: Analyse Design Code Debug Test Document Implement Evaluate
33. Development Within he development phase there are various program development methodologies: RAD: Rapid Application Development Prototyping Waterfall model (traditional staged development) Agile model (Short bursts developing functional units of the project)
39. Question that need to be asked? Is there really a problem? If there is a problem, is it worth fixing? Like: Technical feasibility Economic feasibility Legal feasibility Operational feasibility Schedule feasibility SYIT 191-200 36
40. Analysis does not try to describe HOW the solution will work. A problem analysis will describe: required input (what data has to be acquired to produce the output?) required output (i.e. what information is the system supposed to produce?) Data and information should be described in detail. SYIT 191-200 37
71. Purpose of designing To transform the data model (developed in the analysis phase) into logical and physical information structure SYIT 191-200 46
72. Design user interface standards and guidelines The GUI standards and guidelines are based on the requirements for the user interface identified in the analysis phase. Standards are needed to ensure: consistency of the GUI of different parts of the application or system usability of the application (e.g. reducing error in using the application) maintainability SYIT 191-200 47
73. Design system architecture The technical architecture used by the application is described by presenting the various hardware, software and networking components, and their interfaces. SYIT 191-200 48
74. Design software components The design of functionality in Web applications include e.g. navigation (functionality of control buttons) control of windows (moving between frames, opening and closing of pop-up windows) data input (HTML forms, cgi data transfers) data processing output (dynamically created HTML pages) SYIT 191-200 49
75. Conclusion The structure imposed by this SDLC is specifically designed to maximize the probability of a successful software development effort. SYIT 191-200 50