Requirements Engineering

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Advertisements

Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
Adaptive Processes Software Processes Adaptive Processes.
Software Engineering Course Instructor: Aisha Azeem.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Unit 191 Introduction to Software Engineering The objective of this section is to introduce the subject of software engineering. When you have read this.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
The Design Process. Analysis Think – what should the final design do? List customer requirements Consider constraints – balance tradeoffs Define specifications.
Ch7: Software Production Process. 1 Questions  What is the life cycle of a software product?  Why do we need software process models?  What are the.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Software Lifecycle Software Lifecycle Basics Lifecycle Models Methods and Tools.
Maintenance = Software Evolution Any changes after the client has accepted the product is considered maintenance. n Any Changes? n What might these be?
Developed by Reneta Barneva, SUNY Fredonia The Process.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Types and Techniques of Software Testing
Software Life Cycle Model
Data Structures and Programming.  John Edgar2.
S/W Project Management
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Profile and a quick introduction Software Engineering: ) هندسة البرمجيات (in Arabic: is the branch of computer science Designed to develop a set rules.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CPIS 357 Software Quality & Testing
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering Management Lecture 1 The Software Process.
Advanced Higher Computing SOFTWARE DEVELOPMENT PROCESS.
1 Introduction to Software Engineering Lecture 1.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
What is Testing? Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies.
Topics Covered: Software testing Software testing Levels of testing Levels of testing  Unit testing Unit testing Unit testing  Integration testing Integration.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Software Engineering Lecture # 1.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
 System Requirement Specification and System Planning.
CSE784 – Software Studio Jim Fawcett Fall 2002.
Essential Needs of Software Test Automation
Chapter3:Software Processes
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering Management
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
System.
Software Engineering (CSI 321)
Fundamentals of Information Systems, Sixth Edition
SOFTWARE TESTING OVERVIEW
Software Engineering (CSI 321)
Principles of Programming and Software Engineering
Iterative Waterfall Model
CSE784 – Software Studio Jim Fawcett Fall 2006.
Classical Waterfall Model
Life Cycle Models PPT By :Dr. R. Mall.
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Engineering Lecture #2
Software Development Life cycle
Software Engineering (CSI 321)
The Design Process.
Software Engineering Lecture #8.
Software life cycle models
Baisc Of Software Testing
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
What is Software Engineering?
Presentation transcript:

Requirements Engineering Software Engineering Requirements Engineering

Phases in Software Development Software Engineering Phases in Software Development When ever we develop a program or build something, there are some activates we perform. Example: Requirement Analysis Design Coding Testing Same activates are performed in software development

For large where the problem solving activates may last for many years and where many people are involved in development, performing theses activates without proper documentation will not work. In most commercial software developments there are some activates performed before the analysis requirement takes place called feasibility analysis phase in order to calculate cost and profit.

Software Engineering Requirement Analysis Requirement analysis is done in order to understand the problem which the software system is to solve. The problem could be automating an existing manual system or developing a new system For large system where there are a lot of features, understanding the requirement is a major problem.

Software Engineering Two parties are involved in this process In this phase the emphasis is given on identifying what is needed from the system and not how the system will achieve the goals Two parties are involved in this process A client ………… A developer

Software Engineering There are two major activities in this phase Problem understanding or analysis and requirement specification (software Requirement specification This phase ends with the validation of the requirements specified in the document.

Software Engineering Software Design The purpose of the design phase is to plan a solution of the problem specified by the requirement document. Design stage takes us towards how to satisfy the needs. Most important part of the software Blue print of the software

Software Engineering The design activity is often divided into two parts System design Detailed design This phase produces a design document Partitioning and Abstraction Validation

Software Engineering Coding The goal of this phase is to translate the design into a code in a given Language The coding phase affects both the testing and maintenance phase. Single entry------Single exit construct

Software Engineering Testing Testing is the major control measure employed during software development Its basic purpose is to detect errors in the software. Unit testing Integration testing Acceptance Testing Regression testing

Software Engineering For testing to be successful, proper selection of test cases are essential. Black box testing Structural Testing Test Plan It identifies all the testing activates that must be performed and specifies the schedule, cost, resources, different units to be tested and the manner in which all the modules will be integrated, different test cases etc.

Software Engineering Maintenance It is not a part of software development but extremely important activity in software product. It always start after the software is delivered to the customer Two major forms of maintenance are

Software Engineering Adaptive maintenance Corrective maintenance