System Development Life Cycle (SDLC). Activities Common to Software Projects... 1- Planning : Principles Principle #1. Understand the scope of the project.

Slides:



Advertisements
Similar presentations
Project management.
Advertisements

Chapter 2 – Software Processes
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Project management.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 COMP201 Project Management.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Notion of a Project Notes from OOSE Slides - modified.
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
Introduction to Computer Technology
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
贾银山 Software Engineering, Chapter 5 Slide 1 Project management.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 5 Slide 1 Chapter 5 Project Management Modified by Randy K. Smith.
Chapter 4 Requirements Engineering
S/W Project Management
Project management DeSiaMore 1.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Concerned with activities involved in ensuring that software is delivered: on.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 4 – Requirements Engineering
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Chapter 14 Information System Development
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Risk management.
Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Lecture 7: Requirements Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
Systems Analysis and Design in a Changing World, Fourth Edition
Software Engineering, 8th edition. Chapter 5 1 Courtesy: ©Ian Sommerville 2006 Oct 13 th, 2008 Lecture # 6 Project management.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
1 Project management. 2 Topics covered Management activities Project planning Project scheduling Risk management.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Dr Izzat M Alsmadi Edited from ©Ian Sommerville & others Software Engineering, Chapter 3 Slide 1 Project management (Chapter 5 from the textbook)
CSE 303 – Software Design and Architecture
Chap 4. Project Management - Organising, planning and scheduling
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Software Development Life Cycle (SDLC)
Smart Home Technologies
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects.
Software Requirements Specification Document (SRS)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management 1/30/2016ICS 413 – Software Engineering1.
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Project management (2) By: Zhou Chunlin School of Tourism, Conference and Exhibitions Henan University of Economics and Law.
Project management. Software project management ■It is the discipline of planning, organizing and managing resources to bring about the successful completion.
 System Requirement Specification and System Planning.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Software Engineering Principles I (Spring 2017)
Methodologies and Algorithms
Project management.
Baisc Of Software Testing
Chapter 1: Software and Software Engineering
Presentation transcript:

System Development Life Cycle (SDLC)

Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project. It’s impossible to use a roadmap if you don’t know where you’re going. Scope provides the software team with a destination. Principle #2. Involve the customer in the planning activity. The customer defines priorities and establishes project constraints (timelines). Principle #3. Recognize that planning is iterative. A project plan is never engraved in stone. As work begins, it very likely that things will change. Principle #4. Estimate based on what you know. The intent of estimation is to provide an indication of effort, cost, and task duration, based on the team’s current understanding of the work to be done. If the information is vague or unreliable, estimates will be equally unreliable. 2

Planning Principles Principle #5. Consider risk as you define the plan. If you have identified risks that have high impact and high probability, contingency planning is necessary. Principle #6. Be realistic. People don’t work 100 percent of every day. Everyone makes mistakes. Principle #7. Define how you intend to ensure quality. The plan should identify how the software team intends to ensure quality. Principle #8. Describe how you intend to accommodate change. Even the best planning can be prevented by uncontrolled change. Principle #9. Track the plan frequently and make adjustments as required. Software projects fall behind schedule one day at a time. 3

© Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering4 Activities Common to Software Projects Analyze Requirements and specification Includes —Domain analysis —Defining the problem —Requirements gathering -Obtaining input from as many sources as possible —Requirements analysis -Organizing the information —Requirements specification -Writing detailed instructions about how the software should behave

Requirements Background - A requirement is a statement of a behavior or attribute that a system must possess for the system to be acceptable to a stakeholder. - System requirements make explicit the characteristics of the system- to-be. Requirements are usually divided into functional and non- functional. © Lethbridge/Laganière

Types of requirements 1- Functional requirements determine the system’s expected behavior and the effects it should produce in the problem domain. These requirements generally represent the main product features. 2- Non-functional requirements describe some quality characteristic that the system-to-be shall exhibit. They are also known as “quality” or “emergent” requirements, or the “-ilities” of the system-to-be. An example non- functional requirement is: Maintain a persistent data backup, for the cases of power outages. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering6

Requirements Engineering Process Requirements engineering process consists of four phases: Requirements elicitation: getting the customers to state exactly what the requirements are. Requirements analysis: making qualitative judgments and checking for consistency and feasibility of requirements. Requirements validation: demonstrating that the requirements define the system that the customer really wants. Requirements management: the process of managing changing requirements during the requirements engineering process and system development, and identifying missing and extra requirements. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering7

Writing Requirements Requirements always need to be: -Correct -Unambiguous - complete -Consistent -testable. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering8

Recommendations When Writing Requirements Never assume: others do now know what you have in mind. Use meaningful words; avoid words like: process, manage, perform, handle, and support. State requirements not features: - Feature: general, tested only for existence. - Requirement: specific, testable, measurable. Avoid: - Conjunctions: ask yourself whether the requirement should it be split into two requirements. - Conditionals: if, else, but, except, although. - Possibilities: may, might, probably, usually. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering9

© Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering10 Activities Common to Software Projects Design Deciding how the requirements should be implemented, using the available technology Includes: —Systems engineering: Deciding what should be in hardware and what in software —Software architecture: Dividing the system into subsystems and deciding how the subsystems will interact —Detailed design of the internals of a subsystem —User interface design —Design of databases

© Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering11 Activities Common to Software Projects 3- Modeling Creating representations of the domain or the software —Use case modeling —Structural modeling —Dynamic and behavioural modeling 4- Programming or implementation 5- test, maintenance, support

Activities Common to Software Projects Other Activities : - Quality assurance Reviews and inspections Testing Deployment Managing the process © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering12

© Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering Difficulties and Risks in Software Engineering Complexity and large numbers of details Uncertainty about technology Uncertainty about requirements Uncertainty about software engineering skills Constant change Deterioration of software design Political risks

Risk management Background Project management is the process of planning and controlling the development of a system within a specified timeframe at a minimum cost with the right functionality. Risk Management - Risk management is concerned with identifying risks and drawing up plans to minimize their effect on a project. - A risk is a probability that some adverse circumstance will occur. - Project risks which affect schedule or resources. - Product risks which affect the quality or performance of the software being developed. - Business risks which affect the organization developing the software. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering14

Risk management Risk Management Process - Risk identification: identify project, product and business risks. - Risk analysis: assess the likelihood and consequences of these risks. - Risk planning: draw up plans to avoid or minimize the effects of the risk. - Risk monitoring: monitor the risks throughout the project. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering15

Deliverables of the SDLC Begin building new system System converted Users trained Coded and Tested System Design Specifications Preliminary Investigation System Analysis System Design System Implementation System Development System Maintenance Approved Feasibility Study Operational System Documentation completed Abort Project Goto next phase Goto Previous phase Problem Specifications

Home work Consider the following problem You are hired to develop an automatic patient monitoring system for a home-bound patient. The system is required to read out the patient’s heart rate and blood pressure and compare them against specified safe ranges. The system also has activity sensors to detect when the patient is exercising and adjust the safe ranges. In case an abnormality is detected, the system must alert a remote hospital. (Note that the measurements cannot be taken continuously, since heart rate is measured over a period of time, say 1 minute, and it takes time to inflate the blood-pressure cuff.) The system must also (i) check that the analog devices for measuring the patient’s vital signs are working correctly and report failures to the hospital; and, (ii) alert the owner when the battery power is running low. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering17

Tasks 1- Write the requirements for this system and prioritize them. 2- Identify the possible risks and manage them. © Lethbridge/Laganière 2005 Chapter 1: Software and Software Engineering18