lecture4_2up

lecture4_2up - Object-Oriented Software Engineering...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements Lecture 4 191 4.1 Domain Analysis The process by which a software engineer learns about the domain to better understand the problem: The domain is the general feld oF business or technology in which the clients will use the soFtware A domain expert is a person who has a deep knowledge oF the domain BeneFts of performing domain analysis: aster development Better system Anticipation oF extensions 192 Domain Analysis document A. Introduction B. Glossary C. General knowledge about the domain D. Customers and users E. The environment F. Tasks and procedures currently performed G. Competing software H. Similarities to other domains 193 4.2 The Starting Point for Software Projects green feld project 194 4.3 Defining the Problem and the Scope A problem can be expressed as: A difFculty the users or customers are facing, Or as an opportunity that will result in some beneFt such as improved productivity or sales. The solution to the problem normally will entail developing software A good problem statement is short and succinct 195 Defining the Scope Narrow the scope by deFning a more precise problem List all the things you might imagine the system doing Exclude some of these things if too broad Determine high-level goals if too narrow Example: A university registration system 196 4.4 What is a Requirement ? It is a statement describing either 1) an aspect of what the proposed system must do, or 2) a constraint on the systems development. In either case it must contribute in some way towards adequately solving the customers problem; the set of requirements as a whole represents a negotiated agreement among the stakeholders. A collection of requirements is a requirements document . 197 4.5 Types of Requirements Functional requirements Describe what the system should do Quality requirements C onstraints on the design to meet speciFed levels of quality Platform requirements C onstraints on the environment and technology of the system Process requirements C onstraints on the project plan and development methods 198 Functional Requirements What inputs the system should accept What outputs the system should produce What data the system should store that other systems might use What computations the system should perform The timing and synchronization of the above 199 Quality Requirements All must be verifable Examples: Constraints on Response time Throughput Resource usage Reliability Availability Recovery from failure Allowances for maintainability and enhancement Allowances for reusability 200 4.6 Use-Cases: describing how the user will use the system A use case is a typical sequence of actions that a user performs in order to complete a given task The objective of use case analysis is to model the system from the point of view of...
View Full Document

Page1 / 18

lecture4_2up - Object-Oriented Software Engineering...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online