300 likes | 308 Views
This lecture provides an in-depth overview of System Development Life Cycle (SDLC) principles, phases, and best practices. Topics include the system development process, major steps in SDLC, project planning, system analysis, and design. It covers the importance of involving system users, problem-solving approaches, and managing the development process effectively. The lecture also discusses system maintenance, implementation, project phases, and decision analysis techniques. It aims to enhance understanding of SDLC fundamentals for successful system development.
E N D
Lecture 3:System Development Life Cycle Telematics systems and their design Doc.Ing. Ondřej Přibyl, Ph.D. Department of applied mathematics Faculty of Transportation sciences, CTU
Quick review from Lecture 2 • What does it actually mean „System analysis and design“? • What is a difference between Analysis and Design? • Major system development life stages • Who is System analyst? How a job description for a system analyst looks like? • What are the reason for IT(S) project failures? • What does it mean Cost of change? • What is a Capability Maturity Model? • Who is a stakeholder?
Lecture 2 – Overview Topics from Lecture 1 will be discussed in more details • Part I: Introduction • Part II: System Development Life Cycle (SDLC) and its phases
Process of System Development • System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders use to develop and continuously improve information systems and software • Many variations • Using a consistent process for system development: • Create efficiencies that allow management to shift resources between projects • Produces consistent documentation that reduces lifetime costs to maintain the systems • Promotes quality
Principles of System Development • Get the system users involved. • Use a problem-solving approach. • Establish phases, activities and deliverables. • Document through development. • Manage the process and projects. • Justify systems as capital investments. • Don’t be afraid to cancel or revise scope. • Divide and conquer. • Design systems for growth and change.
Use a Problem-Solving Approach • Classical Problem-solving approach • Study and understand the problem, its context, and its impact. • Define the requirements that must be meet by any solution. • Identify candidate solutions that fulfill the requirements, and select the “best” solution. • Design and/or implement the chosen solution. • Observe and evaluate the solution’s impact, and refine the solution accordingly. Case study: Your car stopped and is not starting any more.Diagnose its problem using a problem solving approach
Major steps in system development life cycle Project Planning Request for a new system Feasible solutions and system requirements System Analysis Request for modification System Maintenance Post implementation review System Design System Implementation Prototype / Working version Design specification
This phase is the fundamental process of understanding why an information system should be built. The Planning phase will also determine how the project team will go about building the information system. This phase provides decision support materials Project planning
Two Planning Steps • During project initiation, the system’s business value to the organization is identified • How will it lower costs or increase revenues? • Is it really cost effective? • During project management, the project manager • creates a work plan, • staffs the project, and • puts techniques in place to help the project team control and direct the project through the entire SDLC.
Decision Analysis • Candidate solutions evaluated in terms of: • Technical feasibility – Is the solution technically practical? Does our staff have the technical expertise to design and build this solution? • Operational feasibility – Will the solution fulfill the users’ requirements? To what degree? How will the solution change the users’ work environment? How do users feel about such a solution? • Economic feasibility – Is the solution cost-effective? • Schedule feasibility – Can the solution be designed and implemented within an acceptable time? • Risk feasibility – What is the probability of a successful implementation using the technology and approach?
Analysis specifies what the system should do The analysis phase answers the questions of who will use the system, what the system will do, and where and when it will be used. During this phase the project team investigates any current system(s), identifies improvement opportunities, and develops a concept for the new system. System analysis
Three Analysis Steps • Analysis strategy: This is developed to guide the projects team’s efforts. This includes an analysis of the current system. • Requirements gathering: The analysis of this information leads to the development of a concept for a new system. This concept is used to build a set of analysis models. • System proposal: The proposal is presented to the project sponsor and other key individuals who decide whether the project should continue to move forward. • The system proposal is the initial deliverable that describes what business requirements the new system should meet.
Design states how to accomplish the objective • In this phases it is decided • how the system will operate, in terms of the hardware, software, and network infrastructure; • the user interface, forms, and reports that will be used; and • specific programs, databases, and files that will be needed.
Four Design Steps • Design Strategy: This clarifies whether the system will be developed by the company or outside the company (outsourcing strategy) Discussion: Advantages and disadvantages of outsourcing? • Architecture Design: This describes the hardware, software, and network infrastructure that will be used. • Database and File Specifications: These documents define what and where the data will be stored. • Program Design: Defines what programs need to be written and what they will do (use cases, functions, modules)
During this phase, the system is either developed or purchased (in the case of packaged software). This phase is usually the longest and most expensive part of the process. System Implementation
Three Implementation Steps • System development/construction: The system is built and tested to make sure it performs as designed. Discussion: How much testing would you expect for a one month of SW development? • Installation: Prepare to support the installed system. • Support Plan: Includes a post-implementation review. • Are there different tests done? • Unit tests • Software factory test (SFAT) • System integration tests (SIT) • Proof of Performance (POP) • Stress test, load test, … • User Acceptance Test (UAT) • …
System Operation & Maintenance System support – the ongoing technical support for users of a system, as well as the maintenance required to deal with any errors, omissions, or new requirements that may arise.
Cross Life-Cycle Activities Cross life-cycle activity – any activity that overlaps many or all phases of the systems development process. • Fact-finding • Fact-finding - the formal process of using research, interviews, meetings, questionnaires, sampling, and other techniques to collect information about system problems, requirements,and preferences. • Documentation and presentation • Documentation – the ongoing activity of recording facts and specifications for a systems for current and future reference. • Presentation – the ongoing activity of communicating findings, recommendations, and documentation for review by interested users and mangers. • Repository – a database and/or file directory where system developers store all documentation, knowledge, and artifacts for one or more information systems or projects. • Feasibility analysis • Process and project management
System Development Documentation, Repository, and Presentations