Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SOFTWARE ENGINEERING
MUSTAFA BOZKURT
LECTURER IN SOFTWARE ENGINEERING
Week 3
Domain Analysis, Requirements
and Use-case Diagrams
26/10/2015
Slide 2
LESSON OBJECTIVES
26/10/2015
Slide 3
WHAT IS A DOMAIN?
Berard1 gives two characterizations:
26/10/2015
Slide 4
26/10/2015
Slide 5
The word domain in this case means the general field of business or
technology in which the customers expect to be using the software.
26/10/2015
Slide 6
Faster development
Better system
Anticipation of extensions
Reuse
26/10/2015
Slide 7
26/10/2015
Slide 8
DOCUMENTING DOMAIN
ANALYSIS
Introduction
Glossary
General knowledge about the domain
Customers and users
Environment
Tasks and procedures currently performed.
Competing software
Similarities across domains and organizations
26/10/2015
Slide 9
26/10/2015
Slide 10
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
Introduction:
This document describes background information that has
been gathered about events in organizations and how they are
handled. This information is to be used to guide the
development of software to automate the process of informing
people of events.
26/10/2015
Slide 11
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
Glossary:
Event: A meeting, a social occasion or an activity involving a significant number of
employees. Several categories of events have been identified:
Open event: An event that starts at a precise instant but with no predetermined
duration. Meetings and celebrations often fall into this category.
Fixed event: An event that starts at a precise instant and with a predetermined
duration. Course lectures and seminars are examples of this kind of event.
Day events: An event associated with a particular day without precise start and
end times. Birthday, thematic journey are such events.
Recurrent event: An event that occurs repeatedly on some regular schedule (for
example daily, weekly or monthly). The event normally has a starting date and an
ending date. Courses and social activities are often recurrent events.
Composite event: An event composed of several sub-events. For example, a
training activity can be composed of a registration period (fixed event), a series of
seminars (recurrent events), and a final evening celebration (open event). .
26/10/2015
Slide 12
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
General knowledge about the domain:
Most events occur during working days.
Events are generally associated with a location (where the event is to be held).
The name of a contact person is often associated with an event. That person is the one that
organize the event or that can give complementary information about the event.
Group of interest are often created to target more precisely peoples that might be interested by a
certain event.
Outdated events are of little interest.
Each event has a title, a location and the name of a contact person associated with it.
Events may be seen by anyone within the organization, but there should be some control over
posting events to reduce the risk of duplicate postings and other clutter.
26/10/2015
Slide 13
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
Clients and users:
Potential clients are medium or large companies whose staff use computers to
perform many kinds of daily work. Others impacted by the system will include:
Employees at all levels have an interest in events and are potential users
of event manager software. These employees range from computer
novices to sophisticated programmers; however they all have a computer
on their desk, have access to the corporate intranet and know how to use a
web browser. They have been exposed to and accept new technology but
are subject to tight time constraints and have little time to learn and
customize new software tools.
A system administrator normally manages the computer environment.
Technicians typically install software that must be available to all users.
26/10/2015
Slide 14
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
The environment:
The actors all have a computer on their desks; it is most common for
this to be MS-Windows based, but a significant minority of potential
clients use other platforms.
26/10/2015
Slide 15
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
Tasks and procedures currently performed:
Informing others about events: The organizer of the event (or someone who has heard about it)
compiles information concerning an event and posts it so members of the organization can see it.
One approach is to post the event on a physical bulletin board at a place that most users pass
each day. In a large organization, this method is too unreliable due to the sheer volume of
events.
Another approach is to send email and paper leaflets to all members of the staff without knowing
exactly who will be interested. In some cases there are mailing lists to make event notification
more selective, however mailing lists are often poorly maintained, so some people who might be
interested never find out about an event.
In either approach, there is typically no central listing of available events and the information
about an event is not presented in a standard fashion.
It can be useful to allow anybody to post and remove events, to ensure the information is current.
However this can lead to duplication and inconsistency.
Informing oneself about events. At irregular intervals, employees check the list of upcoming events
and seek more information about ones of interests.
When interested in an event, a user must check to see whether he or she has a schedule
conflict. This is commonly done by maintaining a calendar. However there is a duplication of
effort since all users have to keep their own records.
Mustafa Bozkurt, ECS505U - Software Engineering
26/10/2015
Slide 16
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
Competing software:
Several software tools exist that can manage events. However, since these are
usually included as part of a larger system (e.g. agenda software, email
software or teamwork software) they are quite complex to use. Hence they are
not generally adopted by the entire staff.
These applications allow you to check for the availability of rooms and to book
them. They might also maintain the personal schedules of staff members such
that it is possible to find the best schedule for a given event.
26/10/2015
Slide 17
DOMAIN ANALYSIS
DOCUMENTATION: EXAMPLE
Similarities to other domains:
26/10/2015
Slide 18
PROJECT/PRODUCT SCOPE
26/10/2015
Slide 19
PROJECT/PRODUCT SCOPE
Project Scope
"The work that needs to be accomplished to deliver a product, service,
or result with the specified features and functions.
Product Scope
"The features and functions that characterize a product, service, or
result."
26/10/2015
Slide 20
DEFINING SCOPE
26/10/2015
Slide 21
Its important to define the problem and scope early to avoid having
unnecessary requirements for the system.
26/10/2015
Slide 22
DEFINING SCOPE
26/10/2015
Slide 23
WHAT IS A REQUIREMENT?
26/10/2015
Slide 24
WHAT IS A REQUIREMENT?
A requirement is:
A statement.
An aspect of what the proposed system must do.
A constraint on the systems development.
Contributes towards adequately solving the customers problem.
A negotiated agreement among all stakeholders.
26/10/2015
Slide 25
TYPES OF REQUIREMENTS
26/10/2015
Slide 26
FUNCTIONAL REQUIREMENTS
Functional requirements:
Everything that a user of the system would need to know regarding
what the system does
Everything that would concern any other system that has to interface
to this system.
26/10/2015
Slide 27
FUNCTIONAL REQUIREMENTS
Textbook Section 4.5, Page 120
26/10/2015
Slide 28
NON-FUNCTIONAL
REQUIREMENTS
1. Accessibility
2. Audit and control
3. Availability (see service level agreement)
4. Backup
5. Capacity, current and forecast
6. Certification
7. Compliance
8. Configuration management
9. Dependency on other parties
10.Deployment
11.Documentation
12.Disaster recovery
13.Efficiency (resource consumption for given load)
14.Effectiveness (resulting performance in relation to effort)
15.Emotional factors (like fun or absorbing)
16.Environmental protection
17.Escrow
18.Exploitability
19.Extensibility (adding features, and carry-forward of
customizations at next major version upgrade)
20.Failure management
21. Fault tolerance (e.g. Operational System Monitoring,
Measuring, and Management)
22. Legal and licensing issues or patent-infringement-avoidability
23. Interoperability
24. Maintainability
25. Modifiability
Mustafa Bozkurt, ECS505U - Software Engineering
26/10/2015
Slide 29
NON-FUNCTIONAL
REQUIREMENTS
26/10/2015
Slide 30
QUALITY REQUIREMENTS
Usability
Efficiency
Reliability
Maintainability
Reusability
26/10/2015
Slide 31
QUALITY REQUIREMENTS
Main categories of quality requirements:
Response time
Throughput
Resource usage
Reliability
Availability
Recovery (from failure)
Maintainability and extendibility
Reusability
26/10/2015
Slide 32
PLATFORM REQUIREMENTS
26/10/2015
Slide 33
PROCESS REQUIREMENTS
26/10/2015
Slide 34
REQUIREMENTS EXERCISE
Answer
Answer
Answer
Answer
Answer
26/10/2015
Slide 35
CLASSIFYING REQUIREMENTS
26/10/2015
Slide 36
USE-CASE ANALYSIS
26/10/2015
Slide 37
26/10/2015
Slide 38
26/10/2015
Slide 39
USE-CASE ANALYSIS
26/10/2015
Slide 40
USE-CASE ANALYSIS
26/10/2015
Slide 41
USE-CASE MODEL
26/10/2015
Slide 42
USE-CASE MODEL
A use-case model consists of a set of use cases. Use cases often
include the following elements:
Name
Actors
Goals
Preconditions
Summary
Related use cases
Steps
Post-conditions
26/10/2015
Slide 43
26/10/2015
Slide 44
26/10/2015
Slide 45
USE-CASE ANALYSIS:
BENEFITS
26/10/2015
Slide 46
USE-CASE ANALYSIS:
DIFFICULTIES
26/10/2015
Slide 47
DOMAIN MODEL
26/10/2015
Slide 48
SUMMARY
26/10/2015
Slide 49
SUMMARY
26/10/2015
Slide 50