Академический Документы
Профессиональный Документы
Культура Документы
In this course we consider the class of 'systems' covered by the last of these definitions.
System Boundaries
Our definition states that the system has a boundary. This sets whether things are regarded
as inside, or outside of the system. With information systems, it can be difficult to draw the
'boundary'. We may have a choice as to which elements we wish to consider as in the system,
and which we choose to leave outside. This will have a fundamental impact on our eventual
system design.
Issues like:
money,
time,
resources and
cost effectiveness
can have an impact on where boundary is drawn.
Part of problem definition includes deciding where the boundaries will be drawn.
Stages in System Development
We may divide the development of an information system into a number of stages. One
scheme for this is:
Problem definition,
Feasibility study,
Analysis,
System design,
Detailed design,
Implementation,
Maintenance.
Each stage of the system development cycle will produce deliverables that form the working
documents for the next stage. Examples of such deliverables are:
Reports,
Models,
Specifications,
Software,
Manuals
Problem Definition
Problem definition is the first stage in the System Life Cycle and is also the first step in defining
the customers' requirements. This stage is very important as it should provide a firm foundation
for the project. At this stage we need to produce an initial description of the problem area so
that this can be agreed with the customer before proceeding to the next stage of the project.
Problem Definition equates to the first part of Requirements Definition
Importance of Problem Definition
It can be observed that majority of the errors in information systems development were
attributed to inaccurate requirement statements. As the result, system developers developed
systems which were not meeting the needs of the users. It is therefore of paramount
importance that the system analyst develops an accurate requirement statement working with
the users.
Deliverable
The deliverable from a the Problem Definition stage is a report covering:
1.
2.
3.
4.
5.
Attributes
Key attributes of the report are that it should:
Underlying Task
This is known as 'Requirements Capture'.
Problem Definition involves a high level view of customer requirements and not the full detail
produced during the stage 3 (Analysis). The deliverable is aimed at managers and users.
Issues
You will find that customers often do not know what can be achieved with an Information
System. This is especially true when the customers have not used an information system
previously. The customers' initial ideas on the problem are normally quite vague. We may need
to demonstrate to the customers the tasks that could be accomplished with an information
system. A precise statement of the problem is required from the customer and it is the duty of
the system analyst to obtain these statements and agree it with the customer before the main
part of the project should begin.
Types of Requirement
Requirements may be classed into two categories, functional and non-functional.
Functional
what the system will do i.e. system inputs, outputs and how these are linked
Non-functional (2 types):
Requirements Elicitation
Techniques used here include:
Discussion and/or interviewing
Observation
Reading
Surveying (questionnaire)
Interviewing
Observation and reading are useful in requirements capture, However, discussion is the most
effective technique. This usually takes form of an interview between the systems analyst and
customer/user. Careful preparation by the analyst is important, if all the requirements are to
be extracted and understood. Inadequate preparation for the interview will lead to the analyst
missing key points.
The analyst must put the interviewee at ease early in the interview. It is not uncommon for an
interviewee to feel under stress, as they fear their job is going to be changed or abolished.
They may even feel that they are being investigated.
Types of Questions
There are various forms of questions that can be asked in an interview, which each get
different levels of response. The 3 main types are:
Generally the long answer questions result in more information, and more rich information
being given. Short answer questions can be useful in the early part of the interview to start
people talking, but they tend to get only one or two word answers. They can feel limiting for
the interviewee, who may feel they are being told what to answer, not being asked for
information. Multiple choice answers can be useful in validation, and when selecting between
options. When using these latter two forms, allow opportunity, in general, for longer and more
complete answers. An interviewer must be an active listener. The face-to-face setting gives
opportunity for direct feedback from the interviewee, verbally or by facial expression or other
body language. Make use of it.
These sorts of questions are used in questionnaires as well as interviews. The precision and
clarity of questions are primary concerns, particularly in questionnaires. There should be no
confusion about the meaning of the question or the interpretation of the response. Do not
assume a common understanding of terminology or language; ambiguity and uncertainty will
result. Be clear about the information required. If you are offering multiple choices of answer,
do you want all that apply, or only the most significant one. Watch out for conflated questions,
which should have been asked separately, and do not assume everyone is doing things the
same way. Beware of your preconceptions. When asking questions, especially in
questionnaires, do not use computer jargon, as the other person may well not understand it.
Types of Information
Requirements Analysis
Ensure requirements specify what rather than how
- keep as many options open as possible
- allow development of original or innovative solutions
Review for clarity
- perhaps by generating some supporting diagrams
Review for completeness
- any significant omissions?
Resolve any conflicts between requirements
System Goals and Conflicts
Example Conflict
'The data should be stored on floppy disk and enquiry response times should be
less than one second.'
If the amount of data is significant, these 2 requirements will conflict with each other; both
cannot be met. Conflicting requirements should be resolved as early as possible in System
Life Cycle.
Requirements Specification
The requirements specification can use:
narrative text
diagrams
both
Diagrams usually make it easier to see the interconnections, providing they are not too
complex. A narrative text will allow more precision, but may be difficult to follow. Using both
enables each to help clarify the other.
Specification Text
The specification text can use natural language such as the language we might use in
conversation or a formal specification language, using precisely defined syntax and semantics
(usually based on mathematics). A formal language is only useful for trained systems analysis
and development staff.
Specification Content
In addition to general attributes discussed earlier, for each requirement include:
a full description of it
the source of the requirement
who will be affected by it
the priority (how important it is)
the benefits that arise from fulfilling it
a list of related requirements
alternatives to it (if any)
whether the requirement results from a change to a previous one
Requirements Validation
The central issues are:
Validity
is it really these functions that are required?
are additional functions or alternative functions required?
Consistency
no conflicts
Completeness
Realism
Other aspects are:
Verifiability
are the requirements realistically testable?
Comprehensibility
Traceability
who specified the requirement?
Adaptability
can they be changed without major impact on other parts of system?
Verification should be a continuous process run in parallel with the others, not after the
requirements specification has been written.
Techniques for validation include:
constant feedback from the analyst during interviews
taking notes during interviews and producing a summary for the interviewee
comparing information from different sources e.g. interview results and questionnaire
results
prototyping
animation of a formal specification
Additional Difficulty
'Requirements evolution' is a further problem at this stage. Discussions will often increase
customers' understanding of problems, and prompt them to change their:
view(s)
method(s)
requirement(s)
In fact, users will not necessarily present a uniform view (eg staff/managers), and the analyst
will need to try to unify and reconcile these points of view. Failure to do this can result in, for
example, a system where managers want a report based on data for which other users see
no benefit, and which may therefore not be entered, or be entered incorrectly.
Example of Evolution
In developing a scheduling system for a Press Shop with:
30 presses,