1 / 28

Systems Development Process

Software development - The Process. Systems Development Process set of activities, methods, best practices and deliverables that are used to develop and maintain information systems. Process maturity

misae
Download Presentation

Systems Development Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software development - The Process Systems Development Process set of activities, methods, best practices and deliverables that are used to develop and maintain information systems. Process maturity as the development process matures, project costs decrease, timelines improve, productivity and quality increase.

  2. Guiding principles • Get the Owners and Users Involved • Establish Phases and Activities • Establish Standards for Development and Documentation • Justify systems as Capital Investments • Don’t be afraid to Cancel or Revise Scope • Divide and Conquer • Design for Growth and Change

  3. Software development - The Process 3 Generic Phases • Definition (What) • Customer contact • role of system, scope • Project Planning • risk analysis, resources, cost estimation, schedules • Requirement Analysis • Development (How) • Design • Coding • Testing • Maintenance • Correction of errors • Adaptation • Enhancements

  4. Alternatively… • Preliminary Investigation Phase • establishes the project context, scope, budget, staffing, and schedule. • Problem Analysis Phase • identifies and analyzes both the business and technical problem domains for specific problems, causes, and effects • Requirements Analysis Phase • identifies and analyzes business requirements that should apply to any possible technical solution to the problems. • Decision Analysis Phase • identifies and analyzes candidate technical solutions that might solve the problem and fulfill the business requirements. The result is a feasible, target solution.

  5. Alternatively (2)… • Purchasing Phase (optional) • identifies and analyzes hardware and software products that will be purchased as part of the target solution. • Design Phase • specifies the technical requirements for the target solution. Today, the design phase typically has significant overlap with the construction phase. • Construction Phase • builds and tests the actual solution (or interim prototypes of the solution). • Implementation Phase • puts the solution into daily production. • Operation and Support Phase • continues until the system is obsolete.

  6. Preliminary Investigation • “Is this project worth looking at?” • Define the scope of the project, the perceived problems, opportunities, and directives that triggered the project. • Establish the project team and participants, the project budget, and the project schedule. • Problem Analysis • Gain an appropriate understanding of the business problem domain • Determine if the system is worth developing • Learning the system terminology, history, culture, and nuances of the organization (or department). • Address the causes and effects of the problems, opportunities, and directives.

  7. Requirements Analysis • Identify the data, process, interface, and geographic requirements for the users of a new system. • Specify these requirements without expressing computer alternatives and technology details; at this point, keep analysis at the business level. • Prioritize - requirements can be classified as ‘mandatory’, ‘desirable’, or ‘optional’. • Decision Analysis • Define the candidate solutions • Evaluate each candidate for feasibility (next slide). • Recommend a feasible candidate as the target system. • Feasibility analysis

  8. Purchasing • research the technology and marketplace • organize the business, technology, and relationship requirements, and establishes the mechanisms that will be used to evaluate the technical alternatives. • write the RFP. • receive proposals from vendors. • evaluate proposals. • make a recommendation to the system owners (and usually the information system managers as well). • execute the final orders, contracts, licenses, and service agreements.

  9. Design • transform the business requirements from the definition phase into a set of technical design blueprints for construction. • addresses how specific technologies will be used in the new system. • design specs can include written documentation or prototypes • existing systems must be integrated in the design. • Construction • build and test a functional system that fulfills business and design requirements • implement the interfaces between the new system and existing systems • system testing – unit and system testing

  10. Implementation • Install, deploy, and place the new system into operation or production. • User training, manuals, loading files and databases • Operations and System Support • ongoing maintenance of a system after it has been placed into operation. This includes program maintenance and system improvements.

  11. Systems Analysis System Environment • Organizational context and requirements (Enterprise Modeling) • Functional area context and requirements (Workflow diagrams) • Analyze existing System • Physical analysis • Logical analysis • New System requirement • Logical model of new system (Requirement specification) ( Functional requirements - DFDs) • Documentation • Requirement specification Document

  12. System design • General design • Logical design of alternatives (broad sketches) • Evaluate and choose a solution approach • Detailed design (Physical design) • Process design - program specification (Program structure charts) • Data design - logical structure of data and files (E/R Models) • User interface design - Dialog and document flows • Design Document

  13. System Implementation • Coding • Testing • Installation • Manuals, User training

  14. Cross Life Cycle Activities • Project Management • Schedules and cost, milestones • Software Quality Assurance • creation of Standards • ensure conformation to those standards • formal technical views • documentation of errors • testing strategy

  15. Cross Life Cycle Activities • Measurement • Time, Effort, Costs, Productivity, Quality (Software Metrics) • enhanced estimates of new projects • baseline for process improvement • test effectiveness of new methods

  16. Cross Life Cycle Activities • Software Configuration Management • Controlled change • customers change requirements • developers change technical approach • management modifies project approach • Software configuration • Programs • Documents • Data structures • Documentation • Fact Finding

  17. Effort Distribution Development : Maintenance 40:60, 30:70 • Development Costs (Typical) Requirement : 10% Design : 20% Coding : 20% Testing : 50% (often under-estimated. Can be reduced through better design and coding) [Note: easy to test easy to maintain]

  18. Software Engg. Paradigms ( Process models) • Waterfall model (Classical life Cycle) Planning Reqt.Analysis Design Code Test Install Maintenance Feasibility Report Requirements Specification Report Design Document Programs Test Report Installation Report

  19. Waterfall Model • old way of doing things • All projects go through these phases But… • Sequential progress unrealistic, iterations expensive • Frozen requirements • difficult to state all requirements at the beginning • requirements drift • gap between users and designers, little communication with users • working system unavailable till late in the project • also disastrous for errors at this stage

  20. Software Engineering paradigms • Prototyping - a modeling paradigm • Discard prototype • Engineer prototype to production system Reqt.Generation and refinement Quick Design Build Prototype Customer Evaluation of prototype Refine Prototype Engineer Product

  21. Prototyping: Problems • Customer impatient when prototype is rebuilt to production system • Inefficient system often becomes the production system system • (NOTE: Ideally prototyping is the mechanism for identifying requirements) • high risk innovation applications • promote send user participation • good candidates for prototyping: • user unable to specify requirements. • Do not know what they want/what they want is not what they need • “I do not know what I want , but I will when I see it”

  22. Software Engineering paradigms • The RAD model (Rapid Application Development) • linear sequential development,emphasizes very short development cycle • component based construction • well-understood requirement, constrained scope • use of fourth generation techniques (4GLs)

  23. Team 1 Team 2 Team 3 Business Modeling Data Modeling Process Modeling Application Generation Testing and Turnover 60 -100 days Rapid Application Development

  24. RAD • 4GLs : • Enable developers to specify s/w characteristics at higher level of abstraction. Tool automatically generates source code. • Tools: • non-procedural languages for DB query,report generation,data manipulation ,screen interaction, graphics,etc • reduces development time for smaller applications • user and developer commitment to rapid-fire activities • inefficient code? Use where high performance is required? • Use of reusable program components

  25. Component Library Software Engineering paradigms • O-O Systems Development:reuse paradigm Browse library of reusable components OOD OOA Design/Implementation Customer Evaluation Component Design Testing Customer prototype Coding Component Specification Library entry

  26. O-O development • Focus on reuse • Object Class library • Focus on interoperability • Faster development,easier maintenance,platform independence

  27. Risk analysis based on initial requirements Planning Risk analysis Initial requirements gathering and project planning Risk analysis based on customer reaction Planning based on customer comments Go, no-go decision Toward a completed system Customer evaluation Initial software prototype Customer evaluation Engineering Next prototype level Engineered system Spiral Model

  28. Type of Failure Reason for Failure Comment System conflicts with business strategy Wrong problem addressed Organisational culture may be ignored Quality Problems Wider influences are neglected Team poorly skilled or inadequately resourced Analysis carried out incorrectly Project undertaken for wrong reason Technology pull or political push Requirements drift Users change their mind Productivity Problems External events change the environment New legislation May not be known until project has started Implementation is not feasible Inexperienced project manager Poor project control System development problems • Schedule and cost estimates often grossly inaccurate • Productivity has not kept pace with demand • Frequently poor quality systems are delivered • Existing systems are difficult to maintain

More Related