Nothing Special   »   [go: up one dir, main page]

Se201-Software Requirements Analysis

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 50

SE201-SOFTWARE

REQUIREMENTS ANALYSIS

LECTURE 14
User Interface Design
Types of Input Validation
 Completeness check: Ensures that all required data have been entered.

 Format check: Ensures that data are of the right type (e.g., numeric) and in the right format (e.g., month, day, year).

 Range check: Ensures that numeric data are within correct minimum and maximum values.

 Check digit check: Check digits are added to numeric codes.


 For example, U.S. Social Security Numbers and Canadian Social Insurance Numbers assign only eight of the nine
digits in the number. The ninth number—the check digit—is calculated by a mathematical formula from the first
eight numbers. When the identification number is typed into a computer system, the system uses the formula and
compares the result with the check digit. If the numbers don’t match, then an error has occurred.

 Consistency checks: Ensure that combinations of data are valid.


 For example, someone’s birth year should precede the year in which he or she was married.

 Database checks: Compare data against a database (or file) to ensure that they are correct.
 For example, before an identification number is accepted, the database is queried to ensure that the number is valid.
Because database checks are more “expensive” than the other types of checks (they require the system to do more
work), most systems perform the other checks first and perform database checks only after the data have passed the
previous checks.
MESSAGE TIPS

 Should be
 clear, concise, and complete
 grammatically correct

 free of jargon

 free of abbreviations

 Avoid negatives and humor


 How the system informs the user of the status of an interaction
 Error messages—user did something that is not permitted
 Confirmation messages (e.g., “Are you sure?”)
 Acknowledgment messages (e.g., “Order entered”)
 Delay messages—provides feedback to the user that the process is running
 Help messages—provides additional information about the system to assist the user in performing a task
Design factors in message wording
TYPES OF MESSAGES
Error message: Informs the user that he or she has attempted to do something to which the system
cannot respond.
When to Use:
When user does something that is not permitted or not possible
Notes:
o Always explain the reason and suggest corrective action.
o Traditionally, error messages have been accompanied by a beep, but many applications now omit it or
permit users to remove it.
System and user-oriented error messages
TYPES OF MESSAGES

• Error message design is critically important.

• Poor error messages can mean that a user rejects rather than accepts a system.

• Messages should be polite, concise, consistent and constructive.

• The background and experience of users should be the determining factor in message design
TYPES OF MESSAGES
Confirmation message: Asks the user to confirm that he or she really wants to perform the action selected.
When to Use:
When user selects a potentially dangerous choice, such as deleting a file
Notes:
o Always explain the cause and suggest possible action.
o Often include several choices other than “OK” and “cancel.”
TYPES OF MESSAGES
Acknowledgment message: Informs the user that the system has accomplished what it was asked to do.
When to Use:
Seldom or never; users quickly become annoyed with all the unnecessary mouse clicks
Notes:
o Acknowledgment messages are typically included because novice users often like to be reassured that an action has
taken place.
o The best approach is to provide acknowledgment information without a separate message on which the user must
click.
o For example, if the user is viewing items in a list and adds one, then the updated list on the screen showing the
added item is sufficient acknowledgment.
TYPES OF MESSAGES
Delay message: Informs the user that the compute system is working properly.
When to Use:
When an activity takes more than seven seconds
Notes:
o This message should permit the user to cancel the operation in case he or she does not want to wait for its
completion.
o The message should provide some indication of how long the delay may last.
TYPES OF MESSAGES
Help message: Provides additional information about the system and its components.
When to Use:
In all systems
Notes:
o Help information is organized by table of contents and/or keyword search.
o Context-sensitive help provides information that is dependent on what the user was doing when help was
requested.
SYSTEM
DESIGN
Key Definitions

 Design phase
 Decide how to build the system
 Create system requirements that describe technical details for building the
system
 System specification
 Final deliverable from design phase
 Conveys exactly what system the design team will implement during the
implementation phase
Design Phase Steps
 Present design alternatives (make, buy, or outsource)
 Convert logical process and data models into physical models
 Design the architecture for the system
 Make hardware and software selections
 Design the system inputs and outputs
 Design the way data will be stored
 Design the programs for the underlying processes
 Create the system specification
Classical Design Mistakes

 Reducing design time


 Feature creep
 Switching tools in mid-project
Feature Creep
 Feature creep (sometimes known as requirements creep or scope creep) is a
tendency for product or project requirements to increase during development
beyond those originally foreseen. Feature creep may be driven by a client's
growing "wish list" or by developers themselves as they see opportunity for
improving the product.
Design Strategies

 Custom development (build from scratch) in-house


 Purchase software package (and customize it)
 Outsource development to third party
Custom Development

Pros Cons
Allows flexibility Requires significant time
and creativity and effort

Consistent with existing May increase existing


technology and standards backlogs

Builds technical May have missing skills


skills and functional (technical,modeling…)
knowledge in-house
Often costs more

Often takes more calendar


time

Risk of project failure


Packaged Software

 Available for many common business needs


 Tested, proven; cost and time savings
 Rarely a perfect fit with business needs
 May allow for customization
 Manipulation of system parameters
 Changing way features work
 Synchronizing with other application interfaces
 May require workarounds

EX: SAP (System, Application & Product) ERP (Enterprise resource


planninng) Software, Oracle
Workaround

 A workaround is a custom-built add-on program that interfaces with the packaged application to
handle special needs.

 It can be a nice way to create needed functionality that does not exist in the software package.

 However, workarounds should be a last resort, for several reasons.


 First, workarounds are not supported by the vendor who supplied the packaged software, so when
upgrades are made to the main system, they may make the workaround ineffective.
 Also, if problems arise, vendors have a tendency to blame the workaround as the culprit (criminal) and
refuse to provide support.
Systems Integration

 Building systems by combining packages, existing legacy (heritage, inheritance) systems, and custom
pieces

 The key challenge in systems integration is finding ways to integrate the data produced by the different
packages and legacy systems.

 The project team starts by examining the data produced by and needed by the different packages and
systems and identifying the transformations that must occur to move the data from one to the other.
Outsourcing

 Hiring an external vendor, developer, or service provider to create or supply the system.

 May reduce costs or add value

 Risks include possibly


 Losing confidential information

 Losing control over future development

 Losing learning opportunities


Outsourcing Guidelines

 Keep lines of communication open


 Define and stabilize requirements before signing the contract
 View the relationship as a partnership
 Select vendor, developer, or provider carefully
 Assign someone to manage the relationship
 Don’t outsource what you don’t understand
 Emphasize flexible requirements, long-term relationships, and short-term contracts
Outsourcing Contracts
 Time and arrangements
 you agree to pay for whatever time and expenses are needed
to get the job done
 Fixed-price
 if the outsourcer exceeds the agreed-on price, he or she will
have to absorb the costs.
 Value-added
 the outsourcer earns some percentage of the completed system’s
benefits. You have very little risk in this case, but expect to share
the wealth once the system is in place
Selecting a Design Strategy

 Consider each of the following when deciding what strategy to use:


 Business need
 In-house experience
 Project skills
 Project management
 Time frame
Selecting a Design Strategy
Custom Development Packaged System Outsourcing
Business need The business need is The business need is The business need is not
unique common core to the business

In-house In-house functional In-house functional In-house functional or


experience and technical experience exists technical experience does
experience exists not exist
Project skills Desire to build in- Skills are not Outsourcing is a strategic
house skills strategic decision
Project Have highly skilled Project manager can Highly skilled project
management project manager and coordinate vendor’s manager at appropriate
proven methodology efforts organizational level

Time frame Time frame is flexible Time frame is short Time frame is short or
flexible
Your Turn

 If your university were investing in an on-line registration system, would you


recommend --
 Building it in-house?
 Buying a package?
 Outsourcing the project?

 What is the basis for your recommendation?


References
 Software Engineering. Ian Sommerville
 Systems Analysis and Design. Dennis,Wixom and Roth
 https://www.invisionapp.com/design-defined/user-interface-design/
REVIEW
Question
AuthenticateWithPassword and AuthenticateWithCard use cases have . .
.relationship with Authentication use case
 
a) Communication
b) Include
c) Extend
d) Inheritance
Answer
AuthenticateWithPassword and AuthenticateWithCard use cases have . .
.relationship with Authentication use case
 
a) Communication
b) Include
c) Extend
d) Inheritance
Question
The user interface design principle that places an emphasis on the user’s
ability to always know where he/she is in the system and what
information is being displayed is _____.
 
a) aesthetics
b) consistency
c) content awareness
d) layout
e) user experience
Answer

The user interface design principle that places an emphasis on the user’s
ability to always know where he/she is in the system and what
information is being displayed is _____.
 
a) aesthetics
b) consistency
c) content awareness
d) layout
e) user experience
Question
Novice users prefer _____ while expert users prefer _____.
 
a) ease of use, ease of learning
b) ease of use, good layout
c) consistency, ease of learning
d) ease of learning, ease of use
e) ease of learning, consistency
Answer

Novice users prefer _____ while expert users prefer _____.


 
a) ease of use, ease of learning
b) ease of use, good layout
c) consistency, ease of learning
d) ease of learning, ease of use
e) ease of learning, consistency
Question
-----hiring an external vendor, developer, or service provider to create
or supply the system.
 
a) packaged software
b) custom development
c) outsourcing
d) none of the above
Answer

-----hiring an external vendor, developer, or service provider to


create or supply the system.
 
a) packaged software
b) custom development
c) outsourcing
d) none of the above
Question
 TRUE/FALSE

Most user interface designers follow the minimal user effort principle
by permitting users to go from the main menu of the system to the
information or action need in no more than five mouse clicks or five
keystrokes.
 
Answer

 TRUE/FALSE

Most user interface designers follow the minimal user effort principle by
permitting users to go from the main menu of the system to the
information or action need in no more than five mouse clicks or five
keystrokes.

FALSE
 
Question
 TRUE/FALSE

Messages are the way in which the system responds to a user and
informs him or her of the status of the interaction; they should be clear,
concise, complete, grammatically correct, free of unfamiliar jargon, and
avoid confusing negatives.
Answer

 TRUE/FALSE

Messages are the way in which the system responds to a user and
informs him or her of the status of the interaction; they should be
clear, concise, complete, grammatically correct, free of unfamiliar
jargon, and avoid confusing negatives.

TRUE
Question
Use the following class diagram to answer the questions that following
it. If there isn't enough information in the diagram to answer the
question, state as much.

a) Can you have a company without any employees?


b) Can a person be unemployed?
ANSWER
Use the following class diagram to answer the questions that following it. If there isn't enough
information in the diagram to answer the question, state as much.

a) Can you have a company without any employees?


b) Can a person be unemployed?

 Ans.
a) No, the multiplicity on the employee side is 1..*.
b) Yes, the multiplicity on the employer side is * so 0 is a valid value.
Question
Sequence Diagram: To give an exam, an instructor first notifies the students of
the exam date and the material to be covered. She then prepares the exam paper
(with sample solutions), gets it copied to produce enough copies for the class,
and hands it out to students on the designated time and location. The students
write their answers to exam questions and hand in their papers to the instructor.
The instructor then gives the exam papers to the TAs, along with sample
solutions to each question, and gets them to mark it. She then records all marks
and returns the papers to the students. Draw a sequence diagram that
represents this process. Make sure to show when each actor is participating in
the process. Also, show the operation that is carried out during each interaction,
and what its arguments are.
Answer
Question
Given the following problem description, draw a UML class diagram:

Design a simulation of a basketball conference. Each conference has 10


teams. Each team has 12 players. Each player has a specific height, speed,
and accuracy. Players know which team they belong to. Some players are
scholarship players. Scholarship players need to record their current grade-
point average. Players may be transferred between teams. Teams play
basketball games against other teams in the conference. The result of each
game is determined using a function based on the height, strength, speed,
and accuracy of the players on each team.
Answer
Question
What is a Swimlane and why is it used?
Answer

A swimlane is a generalized concept and is use in UML activity


diagrams to group the responsibilities of an actor in a process.

As you can see in the diagram, this activity diagram shows the
responsibilities of 3 actors: customers, sales and stockroom

A swimlane specifies a locus/place of activities


To partition the activity states on an activity diagram into groups
each group representing the business organization responsible for those
activities each group is called a swimlane
Each swimlane is divided from its neighbor by a vertical solid line

You might also like