Lecture 8 Systems Analysis: Concept and Principles

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Week 2 The Object-Oriented Approach to Requirements
Software Requirements
System Engineering based on Chapter 6 - Software Engineering: A Practitioner’s Approach, 6/e copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Lecture 6: Software Design (Part I)
Lecture 5: Requirements Engineering
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Prescriptive Process models
Analysis Concepts, Principles, and Modeling
Requirements Elicitation Techniques
7.1 A Bridge to Design & Construction
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Unit-III Requirements Engineering
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
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.
Requirements Analysis Concepts & Principles
Analysis Concepts and Principles
Analysis Concepts and Principle.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
1 Requirements Analysis and Specification Requirements analysis.
1 Requirements Analysis CIS 375 Bruce R. Maxim UM-Dearborn.
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 4 Requirements Engineering
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Chapter 2 The process Process, Methods, and Tools
Requirements Analysis
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
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.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Requirement Engineering Tasks Inception Elicitation Problems of scope Problems of understanding Problems of Volatility Elaboration Scenarios Negotiation.
Software Engineering Lecture No:13. Lecture # 7
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
SOFTWARE DESIGN.
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.
Chapter 11 Analysis Concepts and Principles
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
Lecture-3.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
1 Chapter 11 Analysis Concepts and Principles. 2 Requirements Analysis.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
By Germaine Cheung Hong Kong Computer Institute
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Software Engineering Lecture 11: System Analysis.
Requirement Engineering
28/08/2006SE6161 Prinsip dan Konsep Analisis Analysis Concepts and Principles.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
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.
RAD( Rapid application development ) Model RAD is a linear sequential development process model that emphasis an extremely short development cycle. Rapid.
Chapter: Requirement Engineering. Requirements Engineering  Requirement: A function, constraint or other property that the system must provide to fill.
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.
Requirements Elicitation Techniques
Requirements Elicitation – 1
Software Requirements analysis & specifications
Chapter 9 Requirements Modeling: Scenario-Based Methods
Chapter 7 Requirements Engineering
Chapter 7 Requirements Engineering
Requirements Engineering Tasks
Chapter 5 Understanding Requirements.
Presented by KARRI GOVINDA RAO ,
Presentation transcript:

Lecture 8 Systems Analysis: Concept and Principles Software Engineering Lecture 8 Systems Analysis: Concept and Principles

Introduction Requirement Analysis the process of discovering, refinement, modeling and specification in a software project. Will always involve both the customer and system engineer, allowing the system engineer to achieve a set of objectives: Specify software function and performance. Indicate software interface with other system elements. Establish design constraints that the software must meet.

Requirements Analysis Requirement Analysis is also concerned with the preparation of the Software Requirements Specification: A formal document that specifies in precise terms the functional and performance requirements of the software. Specification document in turn will allow the developer and customer to assess quality once the software itself has been built. The software developer performing Requirement analysis would often be known as the System Analyst.

Requirements Analysis Tasks Problem Recognition Evaluation and synthesis Modeling Specification Review

Problem Recognition Goal of analyst here is recognition of the basic problem elements as perceived by user and customer. Understand software in the system context. Define software scope. Analyst will also need to establish contact with management and technical staff of the customer and software development organization.

Evaluation and Synthesis The analyst must now evaluate the flow and content of information. Define and elaborate all software functions. Understand software behavior in the context of events that affect the system. Establish system interface characteristics and uncover design constraints. Throughout this step, the emphasis is on what must be done, not how it will be done. This step will continue until both the analyst and customer feels confident that software can be adequately specified for subsequent development steps.

Modeling The analyst creates models of the system in an effort to better understand data and control flow, functional processing, operational behaviour, and information content.

Modeling: roles Aids in understanding the information, function and behavior of a system. Makes requirement analysis task easier and more systematic. It serves as a basis for creating specification for the software. Becomes the focal point for review. Becomes the foundation for design.

Specification The specification is a representation of software that can be reviewed and approved by the customer. Usually developed as a joint effort between the developer and the customer.

Specification Principles (Balzer and Goodman, 1986) Separate functionality from implementation A process-oriented systems specification language is required A specification must encompass the system of which the software is component A specification must encompass the environment in which the system operates A specification must be a cognitive model A specification must be operational A specification must be tolerant of incompleteness and augmentable A specification must be localized and loosely coupled

Review Review of analysis documents like specification. Review should first be conducted at a macroscopic level. Conducted by customer and developer. Results in modifications to: Functions. Performance. Information representation. Constraints. Validation criteria.

The System Analyst Responsibility of a system analyst is to analyze and define systems of optimum performance, i.e. an output that fully meets management objectives The analyst must also exhibit the ability to: Grasp abstract concept, partition them and generate solutions based on each division. Understand implicit information, separate them and treat them individually. Absorb pertinent facts from conflicting sources. Understand the customer environment. Apply hardware and/or software system elements to the customer environment. Communicate well in written and verbal form.

Problems in Requirements Analysis Requirement analysis is a communication-intensive activity where communication is concerned. Miscommunication and omission often occur between the system analyst and customer. Successful acquisition of information cannot be guaranteed. Analyst have difficulties: In getting pertinent (appropriate) information Handling large and complex problems, i.e. as complexity increases, effort increases Accommodating changes that occur during and after analysis

Communication Techniques Conduct a preliminary meeting or interview. Facilitated Application Specification Techniques (FAST) encourages the creation of a joint team of customers and developers who work together to identify the problem, propose elements of solution, negotiate different approaches and specify a preliminary set of solution requirements.

FAST guidelines Conduct meeting at a neutral side. Establish rules Prepare an agenda Determine the facilitator who controls the meeting Determine mechanism of the meeting Create a conducive environment in order to meet the goals.

Quality Function Deployment Quality Function Deployment (QFD) is a quality management technique that translates the needs of the customer into technical requirements for software. QFD concentrates on maximizing customer satisfaction from the software engineering process. QFD emphasizes an understanding of what is valuable to the customer and then deploys these values throughout the engineering process.

QFD three types of requirements Normal Requirements Stated objectives/goals during meeting with the customer. E.g. Specific system functions. Expexted Requirements Implicit requirements, customer does not explicitly state them, their absence can cause significant dissatisfaction. E.g. Ease of human/machine interaction. Exciting Requirements Beyond customer’s expectation, very satisfying when present. E.g. Standard word processing software is equipped with page layout capabilities tha are quite pleasing and unexpected.

Use-Cases As requirements are gathered as part of informal meetings, FAST, or QFD, the analyst can create a set of scenarios that identify a thread of usage for the system to be constructed. The scenario is called use-case, which provides a description of how the system will be used.

Actor To create a use-case, the analyst must first identify the different types of people (or devices) that use the system of product. These actors actually represent roles that people (or devices) play as the system operates. An actor is anything that communicates with the system or product and that is external to the system itself. An actor and a user are not the same thing.

Use Case Once actors have been identified, use cases can be developed. The use case describes the manner in which an actor interacts with the system. In general, a use-case is simply a written narrative that describes the role of an actor as interaction with the system occurs.

A set of guidelines for requirements engineering (Davis, 1995) Understand the problem before modeling Develop prototypes Record the origin of and the reason for every requirement Use multiple view of requirements Rank requirements Work to eliminate ambiguity.

Partitioning Problems are often too large and complex to be understood as a whole. Partitioning decomposes a problem into its constituent parts. Use the ‘divide and conquer’ method.

Prototyping Prototype is a model of the software to be built, which is constructed for customer and developer assessment. The prototyping paradigm can be either close- ended or open-ended. Close-ended, called throwaway prototyping, serves solely as a rough demonstration of requirements, then discarded. The software is engineered using a different paradigm. Open-ended, called evolutionary prototyping, the prototype is the first evolution of the finished system.

References Pressman, Chapter 10-11