際際滷

際際滷Share a Scribd company logo
System Analysis
and Design
Solving Problems
and User Story
Why is software built?
Software is often built to help the business clients or
users solve their problems (called pain points)
o What is not working properly?
o What is hurting them?
o How serious is the pain?
Example
o Unable to respond to changing market conditions quickly
The clients/users can often express their pain points,
but not the solution
 Humans have pain points like - I am
bored, I need inspiration
Many systems are built for these pain
points
What is the Problem?
 Software is built to address pain/pleasure points
 The better the problem can be stated/framed, the
more likely it can be solved
 To ensure success, we need to pay proper attention
to what is not working properly, what is hurting us
 pain/pleasure points
 Once we identify the key high-level pain/pleasure
points, further analysis will result in a detailed view
of the problem
 Problem exists in a context
 We need to understand the context to understand the
Pain Points
How much do you understand the problem?
 To better understand the problem context, we
should be familiar with the
 Domain vocabulary (terminologies meaningful to
the problem)
 Activities, processes and tasks that require
software solutions
 Examples of domain vocabulary:
 Credit, Debit, Account and Statement all
have a particular meaning in the banking domain
 Example of the process:
 Enrolment
Actors
 What/who are people/things interacting with
the software that we plan to develop?
 In Software Engineering we call these
people/things Actors
 Actors can have an impact on how the new
software should operate
 Important to analyze these impacts when
designing software solutions
 Pain points of the clients/users must be addressed
Actors
 Actors play a role in the software system
 A single real human can take on multiple roles
 An external system is considered an actor (iPod is an actor
in the iTunes system)
 If it interfaces with the system, then it can be considered
an actor
 Every actor has different pain points
 This means, the iPod (a non sentient entity) has pain
points - - in its case it will be the interface to the iTunes
software
 iPod itself does not have the issue, but the developers of
the iPod software will want a simple interface to iTunes
Actor Goals
 Every actor has a set of pain/pleasure points -- we
build software to address these points
 Actors also have a GOAL state in mind
 Actors use systems to reach their GOAL state
 Example GOALS:
 Get the list of latest books on OOAD
 Purchase a book from the online book store
 View the latest video lectures on OOAD
 Software must allow the actor to achieve their GOALS
What constraints are you dealing with?
 Constraints restrict your choices on how problems
can be solved
 Example:
 You must solve the problem in 2 months with $X
 You are asked to improve performance of the current
system, which was written in the Cobol language
 The developed system must work in the clients operating
environment, which is Linux
 Some other constraints could be
 Laws/regulations
 Users current training/education level
Problem domain
 Identify actors
 Understand the need/impact of each actor
 Write down the goals of each actor
 What are the constraints that we have to work
with?
 What is the domain vocabulary?
Analysing the problem to figure out a direction
of solving this problem (solution direction)
Assumptions
 When we develop solutions, we often make
assumptions on the problem domain
 Example: The users understand English, so the
instructions given to the users are written in
English
 Should we verify the validity of our
assumptions?
 Better do so, otherwise, we may waste our time in
developing useless solutions for the clients/users
Solution development
 Choose the best solution out of potential solutions
(requires decision making)
 Decision making is influenced by
 Constraints (including some environmental factors)
 Habits and Personality
 Questions to ask
 Are these reasonable choices?
 Can we defend the decisions/choices that we have made?
 What is the impact of each choice?
 Constraints of our next steps
Solution domain
 Initially, we may just have a solution
direction
 Throughout the software development
process, we keep refining the solutions
based on
Our understanding of the problem domain
Previous decisions made for the solution
 Note: Some of the decisions we made in the
past will restrict what we do next
Problem domain vs Solution domain
Some useful statements
 In an early stage of software development,
it is useful to have/make the following two
statements
Problem statement
Vision statement
Problem statement
 Describes what needs to be done without
describing how
 Agreed by all members in the project
 A description of a problem that helps the non-
technical and technical personnel
communicate
 Technical terms should be explained if used
Problem statement
The problem of
people not being able to communicate
properly as they get older
affects
the elderly and people with speech,
hearing, and memory disabilities
the impact of which is
difficulty in communicating with other
people and difficulty in seeking help in
emergency situations
a successful solution
would be
a simple, mobile application that will
provide users with means of expressing
themselves, and more easily
understanding others. The product would
also support efficient means of reaching
emergency contacts.
Vision statement
 It aims to
 Cover the essence of the new system
 Market the software
 Keep the developers focused on the core essence of the
system
 It should be brief
 Example -> JU vision:
At JU, we are passionate about excellence in higher
education, vocational training and research. As an institution we
are flexible in our teaching and learning, focused in our research
and engaged with both industry and the community. We are
committed to a sustainable JU.
Vision statement template
 The various parts of a general vision
statement are:
 For (target user, audience)
 Who (statement of the need or opportunity)
 The (product name) is a (product category)
 That (key benefit, compelling reason to build/buy)
 Unlike (primary competitive alternative)
 Our product (statement of primary differentiation)
For
elderly or disabled persons with speech, hearing, and
memory disabilities
Who have difficulty communicating with others
The HOPE Cellular
Phone
Application (HCPA)
is a software application
That
provides the ability to communicate more effectively
with others, and swiftly contact emergency responders
through a simple, intuitive interface
Unlike
currently available systems that have poor interface to
communicate with others and do not provide a
detailed system for emergency services.
Our product
provides users with means of expressing themselves,
and more easily understanding others. This is
accomplished by text-to-speech and speech-to-text
functionality and other features. The product also
supports efficient means of reaching emergency
contacts and emergency responders.
Vision statement template (cont.)
 Example one: Vision statement for the CSE_Dynamics game
 For: CSE, JUstudents
 Who: Are bored in between the lectures
 The: CSE_Dynamics is a real-time strategy game
 That: allows hours of interactive game play
 Unlike: Warcraft
 Our: CSE_Dynamics is custom designed to ensure that you can play
with other CSE, JU students
 Once the key information is stated as above, it needs to be
written up into a single paragraph like:
 CSE_Dynamics is a {THE} real-time strategy game for (CSE, JU)
students who are bored in between classes. Unlike Warcraft,
CSE_Dynamics is {OUR} custom designed to {THAT} ensure hours of
interactive game play between CSE, JUstudents.
Vision statement template (cont.)
 Example Two: Vision statement for the MJB online job-board:
 For: Candidates
 Who: Are seeking jobs
 The: MJB is an online job board
 That: Allows recruiters to post vacancies
 Unlike: The classified section of the newspaper
 Our: Job board allows for fast search and real-time access to
positions
 The final vision statement for the MJB online job-board becomes
 The MJB is {THE} an online job board for candidates who are
seeking jobs. Unlike the classified section of the newspaper, MJB
allows {THAT} recruiters to post vacancies and allows {OUR} job
hunters to fast search and real-time access to positions.
Gaps
 All projects work with gaps -- these gaps cause
risks of project failures
 Three possible gaps
 Knowledge gap - Do we know what to do?
 Skill gap - Do we have the skills to do this?
 Technology gap  Do existing technologies help us
solve our problem? Can we afford it?
Knowledge gap
 This gap exists when your knowledge of an
issue or aspect is not complete
 Cause for inability to identify knowledge gaps
 Over self-confident
 The ego tends to hide some issues
Skill gap
 You know it, you have seen it done by others
 However, your skill for doing this is not good --
insufficient practice
 Example: I do not know how long it will take
to do X
 Skills are difficult to develop without a certain
level of practice
 Again, ego tends to amplify your ability
 Should/Can all tasks be performed by experts?
Technology gap
 You know what to do, but do you know which
technique and technology to use?
 The techniques and technologies, that have
ever been used to solve similar problems as
yours, are more likely to work for your project
 Research and careful analysis are required to
close the technology gaps in your project
Impact of gaps
 If you have any of these gaps (Knowledge, Skill and
 Technology) and do not know how to deal with
them, you are not really ready to start the project
 Gap analysis and spiking
 How critical are these gaps to project success?
 Can you close these gaps? How to close them? A plan is
required to spike each gap out 
 Without an early spiking, the project is more likely to fail
Capturing gaps
 Along the development, more and more gaps will
start to appear
 For example, the following new questions will come
up:
 Do we have a library that will do X for us?
 Is there a framework that will solve Y for me?
 Can we deliver the quality goals with our current
technology?
 You need to ask yourself which gap is motivating you
towards these questions
 This will help you define the spiking plan
Weather Forecast
Example
Problem, actor, pain point and goal
 Case study problem:
 Jerry lives in Melbourne and finds the weather patterns
are odd. He is frustrated everyday since he either wears
too many or too few clothes. He often gets wet as he is
walking to work. This upsets him.
 Actor: Jerry
 Pain points of Jerry
 Frustration due to weather patterns
 Sometimes Jerry gets wet because he didnt dress for
expected showers
 GOAL:
 "Jerry is unable to dress adequately for the weather conditions in
Melbourne. He needs the latest reliable weather forecast
information before getting dressed & leaving home
Problems to be solved
 Presenting the weather information in a way that
Jerry can understand and act on it
 Select a reliable weather information provider,
i.e. 95% accurate for next day forecast
 Define a mechanism to get the weather
information from the provider (Cost?)
 Identify the frequency at which we retrieve the
weather information. (Hourly? Daily? Weekly?)
This frequency may change the reliability of
information.
Some knowledge gaps
 Unclear about the following issues
 What constitutes latest weather?
 What is the metric for reliability/accuracy of weather
forecast?
 What will happen if we provide the wrong information?
Will this be expensive?
 How much information does Jerry need to dress properly?
 Do we need to train Jerry in weather vocabulary and
interpretation?
 How do we deliver the information? (SMS/E-mail/Internet
etc.)
 How critical are these gaps to project success?
 Plan to close the gaps
Potential solutions
1. Change the weather patterns in Melbourne
2. Climate control the path Jerry takes to work
3. Brain wash Jerry to live with odd weather
patterns
4. Provide Jerry with the latest weather forecast
before he leaves home allowing him to dress
appropriately
5. Teach Jerry to wear layers
Assumptions
 Some obvious assumptions
 Jerry can read English and understand basic weather
terminology
 There is a source for weather forecast (i.e. we need not
invent the technology and build the infrastructure)
 In order for the (chosen) solution to work, the
following assumption is required even though we
have no control of it
 Jerry will make wise choices (regarding to what to wear)
when provided with an accurate weather forecast
 Check the validity of the above assumptions
Solution attributes
 Ways of delivering weather information
 SMS/E-mail
 Internet
 Secure
 Characteristics of the provided information
 Accurate and reliable
 Current
 Simple and Clear
 All of these attributes reflect decisions made either
by Jerry (i.e. user) or by the solution developer
Elaboration of the solution attributes
More assumptions
 Jerry has a device capable of receiving an SMS
or E-mail
 Jerry can register via the Internet
 A reliable weather forecast provider exists at a
reasonable price
 Bold words are still not clear and need to be
refined, for example,
 Internet  Web application
 Reasonable price  less than 5c a day
Decisions made during solution refinement
 Weather forecast will be taken from the Bureau
of Meteorology (BOM). Only freely available data
from their web site shall be used
http://www.bom.gov.au/vic/forecasts/melbourne
.shtml
 Forecast information shall be sent via an SMS
message at 6:00am in the morning. This will be
based on the forecast issued at 5:00am by the
BOM.
Some domain vocabulary
BOM
Weather forecast, Current forecast
Weather terms: Rain, Showers, Fine, etc
SMS
Registered user
Data analysis
 What type of information (output) can allow the user to
reach their goals?
 Which scale of measurement does Jerry understand? (Celsius or
Fahrenheit)
 What is the input that we need to produce this output,
and can we get this input data?
 Example: we need to provide the following information in the output:
 Temperature range
 Current temperature
 Wind speed
 Probability of rain/shower/precipitation, and when it is likely to occur
 Sample output - Rain in the morning. Fine after. 12oC 24oC. Current
temp: 12oC, Wind: 5 miles/hr north
 How do we fit the data from BOM into an SMS message? What data
can we remove? What is the risk?
Data analysis (cont.)
 Can we provide this output within the overall
scope and constraints identified so far?
 What happens if Jerry moves to Sydney (or overseas)?
 What happens if BOM stops providing free weather
forecast services?
 What inputs are required from the users?
 Information required to register Jerry
 Need to identify key inputs and outputs of the
software
 Need to design test cases
Types of Requirements
 Functional requirements: Describe the interactions between
the system and its environment independent from
implementation
 The watch system must display the time based on its location
 Nonfunctional requirements: User visible aspects of the
system not directly related to functional behavior.
 The response time must be less than 1 second
 The accuracy must be within a second
 The watch must be available 24 hours a day except from 2:00am -
2:01am and 3:00am - 3:01am
 Constraints (Pseudo requirements): Imposed by the client
or the environment in which the system will operate
 The implementation language must be COBOL
Properties of Requirements
 Correct
 Complete
 Consistent
 Clear, unambiguous
 Realistic
 Verifiable
 Traceable
Collecting data in the problem domain
 To understand the problem that we are dealing
with, we can adopt the following techniques
 Interview
 Questionnaire
 Experimentation by building a prototype
 Observation
 Document inspection
 User story
User Story
 User Story
 Users tell the stories, and developers listen, ask questions
to understand context
 A short description of the behaviour of the system
 Generally implementation issues are not discussed
 The entire system is specified through stories
 Each story is short, goal oriented  testable
 Can be used for usability testing
 Story is descriptive, but often a diagram or a sample
output page helps to explain the concept much
better
 As in user interface snippets, forms or reports
Data to be collected and analyzed
 Actors - role and responsibility
 Scenarios/User Stories
 Source of the data that we have to deal with
(reliability and accuracy, etc)
 Information that actors want (output)
 Software interfaces to existing actors
 What cause events to happen, and what cause work
to be created
 Workflows and activities
 Knowing what type of problem it is (solvable?)
What is a User Story?
 A User Story is a requirement expressed from the perspective
of an end-user goal.
 Its usually written out as a couple of sentences. Most user
stories are written in the language of the users, so any user
should be able to read a user story and immediately
understand what it means.
 A User Story is really just a well-expressed requirement.
 User Story is only meant to describe a feature, but not
describe how to implement it, meaning leaving out the
technical aspect, it should describe the behavior or flow from
users perspective.
What is a User Story?
 The User Story format has become the most popular
way of expressing requirements in Agile for a number
of reasons:
 It focuses on the viewpoint of a role who will use or be
impacted by the solution
 It defines the requirement in language that has meaning
for that role
 It helps to clarify the true reason for the requirement
 It helps to define high level requirements without
necessarily going into low level detail too early
User Story
 User Stories are often deemed to comprise
three elements - the 3Cs
 Card
 Conversation
 Confirmation
User Story
User Story
Where are the details?
Details as conditions of satisfaction
Details added in smaller sub-stories
SAD_Lecture_2a.pptx
User Story format
 The format of the User Story is as follows:
As a < role>
I need <requirement or feature>
So that <goal / value>
User Story (Logging in)
 Confirmation
1. Success  valid user logged in and refer to home page
 a. Remember me ticked  store cookie/automatic login
next time.
 b. Remember me not ticked  force login next time.
2. Failure  display message:
 a. Email address in wrong format
 b. Incorrect user name, please try again
 c. Incorrect password, please try again
 d. Service unavailable  please try again later
 e. Account has expired  refer to account renewal page
SAD_Lecture_2a.pptx
Words are imprecise
Words are imprecise
SAD_Lecture_2a.pptx

More Related Content

Similar to SAD_Lecture_2a.pptx (20)

Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Prof.Dharmishtha R. Chaudhari
Two layers of software development
Two layers of software developmentTwo layers of software development
Two layers of software development
Agata Sobek-Kreft
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
Preeti Mishra
Working together: Agile teams, developers, and product managers
Working together: Agile teams, developers, and product managersWorking together: Agile teams, developers, and product managers
Working together: Agile teams, developers, and product managers
Danielle Martin
Software engineering
Software engineeringSoftware engineering
Software engineering
sweetysweety8
Intro to Agile and Lean UX
Intro to Agile and Lean UXIntro to Agile and Lean UX
Intro to Agile and Lean UX
Jacklyn Burgan
Agile software development
Agile software developmentAgile software development
Agile software development
Hemangi Talele
How to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product ManagerHow to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product Manager
Product School
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software Development
Davinci software
Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)
Markus Breuer
Agile Software Development.ppt
Agile Software Development.pptAgile Software Development.ppt
Agile Software Development.ppt
abdulwehab2
Future of software development - Danger of Oversimplification
Future of software development - Danger of OversimplificationFuture of software development - Danger of Oversimplification
Future of software development - Danger of Oversimplification
Jon Ruby
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
enteritos
How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff...
 How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff... How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff...
How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff...
Traction Conf
Things you should know before you build your site
Things you should know before you build your siteThings you should know before you build your site
Things you should know before you build your site
Panu Ausavasereelert
You aren't your target market. - UX Research Basics
You aren't your target market. - UX Research BasicsYou aren't your target market. - UX Research Basics
You aren't your target market. - UX Research Basics
Angela Obias
LTUX JHB - An Empathetic Servant Leader
LTUX  JHB - An Empathetic Servant LeaderLTUX  JHB - An Empathetic Servant Leader
LTUX JHB - An Empathetic Servant Leader
ltux-jhb
Requirements gathering for developers
Requirements gathering for developersRequirements gathering for developers
Requirements gathering for developers
Dorje McKinnon
June Labs User Experience (UX) Overview
June Labs User Experience (UX) OverviewJune Labs User Experience (UX) Overview
June Labs User Experience (UX) Overview
Jef Lippiatt
Agile methodology - Humanity
Agile methodology  - HumanityAgile methodology  - Humanity
Agile methodology - Humanity
Humanity
Two layers of software development
Two layers of software developmentTwo layers of software development
Two layers of software development
Agata Sobek-Kreft
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
Preeti Mishra
Working together: Agile teams, developers, and product managers
Working together: Agile teams, developers, and product managersWorking together: Agile teams, developers, and product managers
Working together: Agile teams, developers, and product managers
Danielle Martin
Software engineering
Software engineeringSoftware engineering
Software engineering
sweetysweety8
Intro to Agile and Lean UX
Intro to Agile and Lean UXIntro to Agile and Lean UX
Intro to Agile and Lean UX
Jacklyn Burgan
Agile software development
Agile software developmentAgile software development
Agile software development
Hemangi Talele
How to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product ManagerHow to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product Manager
Product School
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software Development
Davinci software
Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)
Markus Breuer
Agile Software Development.ppt
Agile Software Development.pptAgile Software Development.ppt
Agile Software Development.ppt
abdulwehab2
Future of software development - Danger of Oversimplification
Future of software development - Danger of OversimplificationFuture of software development - Danger of Oversimplification
Future of software development - Danger of Oversimplification
Jon Ruby
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
enteritos
How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff...
 How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff... How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff...
How We Used Fast Customer Feedback to Build Product Insights - Michelle Huff...
Traction Conf
Things you should know before you build your site
Things you should know before you build your siteThings you should know before you build your site
Things you should know before you build your site
Panu Ausavasereelert
You aren't your target market. - UX Research Basics
You aren't your target market. - UX Research BasicsYou aren't your target market. - UX Research Basics
You aren't your target market. - UX Research Basics
Angela Obias
LTUX JHB - An Empathetic Servant Leader
LTUX  JHB - An Empathetic Servant LeaderLTUX  JHB - An Empathetic Servant Leader
LTUX JHB - An Empathetic Servant Leader
ltux-jhb
Requirements gathering for developers
Requirements gathering for developersRequirements gathering for developers
Requirements gathering for developers
Dorje McKinnon
June Labs User Experience (UX) Overview
June Labs User Experience (UX) OverviewJune Labs User Experience (UX) Overview
June Labs User Experience (UX) Overview
Jef Lippiatt
Agile methodology - Humanity
Agile methodology  - HumanityAgile methodology  - Humanity
Agile methodology - Humanity
Humanity

Recently uploaded (20)

Cyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptxCyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptx
Harshith A S
Power Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.pptPower Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.ppt
Aniket_1415
Embedded System intro Embedded System intro.ppt
Embedded System intro Embedded System intro.pptEmbedded System intro Embedded System intro.ppt
Embedded System intro Embedded System intro.ppt
23ucc580
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdfCS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
PonniS7
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
ASHISHDESAI85
decarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptxdecarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptx
gonzalezolabarriaped
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
Thane Heins NOBEL PRIZE WINNING ENERGY RESEARCHER
decarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptxdecarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptx
gonzalezolabarriaped
GREEN BULIDING PPT FOR THE REFRENACE.PPT
GREEN BULIDING PPT FOR THE REFRENACE.PPTGREEN BULIDING PPT FOR THE REFRENACE.PPT
GREEN BULIDING PPT FOR THE REFRENACE.PPT
kamalkeerthan61
Frankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkundeFrankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkunde
Lisa Emerson
Soil Properties and Methods of Determination
Soil Properties and  Methods of DeterminationSoil Properties and  Methods of Determination
Soil Properties and Methods of Determination
Rajani Vyawahare
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVName.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
MerijimArsedelPalmad1
Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...
dhanashree78
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
slayshadow705
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
Mathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptxMathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptx
ppkmurthy2006
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Daniel Donatelli
health safety and environment presentation
health safety and environment presentationhealth safety and environment presentation
health safety and environment presentation
ssuserc606c7
The Golden Gate Bridge a structural marvel inspired by mother nature.pptx
The Golden Gate Bridge a structural marvel inspired by mother nature.pptxThe Golden Gate Bridge a structural marvel inspired by mother nature.pptx
The Golden Gate Bridge a structural marvel inspired by mother nature.pptx
AkankshaRawat75
Cyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptxCyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptx
Harshith A S
Power Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.pptPower Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.ppt
Aniket_1415
Embedded System intro Embedded System intro.ppt
Embedded System intro Embedded System intro.pptEmbedded System intro Embedded System intro.ppt
Embedded System intro Embedded System intro.ppt
23ucc580
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdfCS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
PonniS7
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
ASHISHDESAI85
decarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptxdecarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptx
gonzalezolabarriaped
decarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptxdecarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptx
gonzalezolabarriaped
GREEN BULIDING PPT FOR THE REFRENACE.PPT
GREEN BULIDING PPT FOR THE REFRENACE.PPTGREEN BULIDING PPT FOR THE REFRENACE.PPT
GREEN BULIDING PPT FOR THE REFRENACE.PPT
kamalkeerthan61
Frankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkundeFrankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkunde
Lisa Emerson
Soil Properties and Methods of Determination
Soil Properties and  Methods of DeterminationSoil Properties and  Methods of Determination
Soil Properties and Methods of Determination
Rajani Vyawahare
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVName.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
MerijimArsedelPalmad1
Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...
dhanashree78
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
slayshadow705
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
Mathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptxMathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptx
ppkmurthy2006
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Daniel Donatelli
health safety and environment presentation
health safety and environment presentationhealth safety and environment presentation
health safety and environment presentation
ssuserc606c7
The Golden Gate Bridge a structural marvel inspired by mother nature.pptx
The Golden Gate Bridge a structural marvel inspired by mother nature.pptxThe Golden Gate Bridge a structural marvel inspired by mother nature.pptx
The Golden Gate Bridge a structural marvel inspired by mother nature.pptx
AkankshaRawat75

SAD_Lecture_2a.pptx

  • 1. System Analysis and Design Solving Problems and User Story
  • 2. Why is software built? Software is often built to help the business clients or users solve their problems (called pain points) o What is not working properly? o What is hurting them? o How serious is the pain? Example o Unable to respond to changing market conditions quickly The clients/users can often express their pain points, but not the solution
  • 3. Humans have pain points like - I am bored, I need inspiration Many systems are built for these pain points
  • 4. What is the Problem? Software is built to address pain/pleasure points The better the problem can be stated/framed, the more likely it can be solved To ensure success, we need to pay proper attention to what is not working properly, what is hurting us pain/pleasure points Once we identify the key high-level pain/pleasure points, further analysis will result in a detailed view of the problem Problem exists in a context We need to understand the context to understand the Pain Points
  • 5. How much do you understand the problem? To better understand the problem context, we should be familiar with the Domain vocabulary (terminologies meaningful to the problem) Activities, processes and tasks that require software solutions Examples of domain vocabulary: Credit, Debit, Account and Statement all have a particular meaning in the banking domain Example of the process: Enrolment
  • 6. Actors What/who are people/things interacting with the software that we plan to develop? In Software Engineering we call these people/things Actors Actors can have an impact on how the new software should operate Important to analyze these impacts when designing software solutions Pain points of the clients/users must be addressed
  • 7. Actors Actors play a role in the software system A single real human can take on multiple roles An external system is considered an actor (iPod is an actor in the iTunes system) If it interfaces with the system, then it can be considered an actor Every actor has different pain points This means, the iPod (a non sentient entity) has pain points - - in its case it will be the interface to the iTunes software iPod itself does not have the issue, but the developers of the iPod software will want a simple interface to iTunes
  • 8. Actor Goals Every actor has a set of pain/pleasure points -- we build software to address these points Actors also have a GOAL state in mind Actors use systems to reach their GOAL state Example GOALS: Get the list of latest books on OOAD Purchase a book from the online book store View the latest video lectures on OOAD Software must allow the actor to achieve their GOALS
  • 9. What constraints are you dealing with? Constraints restrict your choices on how problems can be solved Example: You must solve the problem in 2 months with $X You are asked to improve performance of the current system, which was written in the Cobol language The developed system must work in the clients operating environment, which is Linux Some other constraints could be Laws/regulations Users current training/education level
  • 10. Problem domain Identify actors Understand the need/impact of each actor Write down the goals of each actor What are the constraints that we have to work with? What is the domain vocabulary? Analysing the problem to figure out a direction of solving this problem (solution direction)
  • 11. Assumptions When we develop solutions, we often make assumptions on the problem domain Example: The users understand English, so the instructions given to the users are written in English Should we verify the validity of our assumptions? Better do so, otherwise, we may waste our time in developing useless solutions for the clients/users
  • 12. Solution development Choose the best solution out of potential solutions (requires decision making) Decision making is influenced by Constraints (including some environmental factors) Habits and Personality Questions to ask Are these reasonable choices? Can we defend the decisions/choices that we have made? What is the impact of each choice? Constraints of our next steps
  • 13. Solution domain Initially, we may just have a solution direction Throughout the software development process, we keep refining the solutions based on Our understanding of the problem domain Previous decisions made for the solution Note: Some of the decisions we made in the past will restrict what we do next
  • 14. Problem domain vs Solution domain
  • 15. Some useful statements In an early stage of software development, it is useful to have/make the following two statements Problem statement Vision statement
  • 16. Problem statement Describes what needs to be done without describing how Agreed by all members in the project A description of a problem that helps the non- technical and technical personnel communicate Technical terms should be explained if used
  • 17. Problem statement The problem of people not being able to communicate properly as they get older affects the elderly and people with speech, hearing, and memory disabilities the impact of which is difficulty in communicating with other people and difficulty in seeking help in emergency situations a successful solution would be a simple, mobile application that will provide users with means of expressing themselves, and more easily understanding others. The product would also support efficient means of reaching emergency contacts.
  • 18. Vision statement It aims to Cover the essence of the new system Market the software Keep the developers focused on the core essence of the system It should be brief Example -> JU vision: At JU, we are passionate about excellence in higher education, vocational training and research. As an institution we are flexible in our teaching and learning, focused in our research and engaged with both industry and the community. We are committed to a sustainable JU.
  • 19. Vision statement template The various parts of a general vision statement are: For (target user, audience) Who (statement of the need or opportunity) The (product name) is a (product category) That (key benefit, compelling reason to build/buy) Unlike (primary competitive alternative) Our product (statement of primary differentiation)
  • 20. For elderly or disabled persons with speech, hearing, and memory disabilities Who have difficulty communicating with others The HOPE Cellular Phone Application (HCPA) is a software application That provides the ability to communicate more effectively with others, and swiftly contact emergency responders through a simple, intuitive interface Unlike currently available systems that have poor interface to communicate with others and do not provide a detailed system for emergency services. Our product provides users with means of expressing themselves, and more easily understanding others. This is accomplished by text-to-speech and speech-to-text functionality and other features. The product also supports efficient means of reaching emergency contacts and emergency responders.
  • 21. Vision statement template (cont.) Example one: Vision statement for the CSE_Dynamics game For: CSE, JUstudents Who: Are bored in between the lectures The: CSE_Dynamics is a real-time strategy game That: allows hours of interactive game play Unlike: Warcraft Our: CSE_Dynamics is custom designed to ensure that you can play with other CSE, JU students Once the key information is stated as above, it needs to be written up into a single paragraph like: CSE_Dynamics is a {THE} real-time strategy game for (CSE, JU) students who are bored in between classes. Unlike Warcraft, CSE_Dynamics is {OUR} custom designed to {THAT} ensure hours of interactive game play between CSE, JUstudents.
  • 22. Vision statement template (cont.) Example Two: Vision statement for the MJB online job-board: For: Candidates Who: Are seeking jobs The: MJB is an online job board That: Allows recruiters to post vacancies Unlike: The classified section of the newspaper Our: Job board allows for fast search and real-time access to positions The final vision statement for the MJB online job-board becomes The MJB is {THE} an online job board for candidates who are seeking jobs. Unlike the classified section of the newspaper, MJB allows {THAT} recruiters to post vacancies and allows {OUR} job hunters to fast search and real-time access to positions.
  • 23. Gaps All projects work with gaps -- these gaps cause risks of project failures Three possible gaps Knowledge gap - Do we know what to do? Skill gap - Do we have the skills to do this? Technology gap Do existing technologies help us solve our problem? Can we afford it?
  • 24. Knowledge gap This gap exists when your knowledge of an issue or aspect is not complete Cause for inability to identify knowledge gaps Over self-confident The ego tends to hide some issues
  • 25. Skill gap You know it, you have seen it done by others However, your skill for doing this is not good -- insufficient practice Example: I do not know how long it will take to do X Skills are difficult to develop without a certain level of practice Again, ego tends to amplify your ability Should/Can all tasks be performed by experts?
  • 26. Technology gap You know what to do, but do you know which technique and technology to use? The techniques and technologies, that have ever been used to solve similar problems as yours, are more likely to work for your project Research and careful analysis are required to close the technology gaps in your project
  • 27. Impact of gaps If you have any of these gaps (Knowledge, Skill and Technology) and do not know how to deal with them, you are not really ready to start the project Gap analysis and spiking How critical are these gaps to project success? Can you close these gaps? How to close them? A plan is required to spike each gap out Without an early spiking, the project is more likely to fail
  • 28. Capturing gaps Along the development, more and more gaps will start to appear For example, the following new questions will come up: Do we have a library that will do X for us? Is there a framework that will solve Y for me? Can we deliver the quality goals with our current technology? You need to ask yourself which gap is motivating you towards these questions This will help you define the spiking plan
  • 30. Problem, actor, pain point and goal Case study problem: Jerry lives in Melbourne and finds the weather patterns are odd. He is frustrated everyday since he either wears too many or too few clothes. He often gets wet as he is walking to work. This upsets him. Actor: Jerry Pain points of Jerry Frustration due to weather patterns Sometimes Jerry gets wet because he didnt dress for expected showers GOAL: "Jerry is unable to dress adequately for the weather conditions in Melbourne. He needs the latest reliable weather forecast information before getting dressed & leaving home
  • 31. Problems to be solved Presenting the weather information in a way that Jerry can understand and act on it Select a reliable weather information provider, i.e. 95% accurate for next day forecast Define a mechanism to get the weather information from the provider (Cost?) Identify the frequency at which we retrieve the weather information. (Hourly? Daily? Weekly?) This frequency may change the reliability of information.
  • 32. Some knowledge gaps Unclear about the following issues What constitutes latest weather? What is the metric for reliability/accuracy of weather forecast? What will happen if we provide the wrong information? Will this be expensive? How much information does Jerry need to dress properly? Do we need to train Jerry in weather vocabulary and interpretation? How do we deliver the information? (SMS/E-mail/Internet etc.) How critical are these gaps to project success? Plan to close the gaps
  • 33. Potential solutions 1. Change the weather patterns in Melbourne 2. Climate control the path Jerry takes to work 3. Brain wash Jerry to live with odd weather patterns 4. Provide Jerry with the latest weather forecast before he leaves home allowing him to dress appropriately 5. Teach Jerry to wear layers
  • 34. Assumptions Some obvious assumptions Jerry can read English and understand basic weather terminology There is a source for weather forecast (i.e. we need not invent the technology and build the infrastructure) In order for the (chosen) solution to work, the following assumption is required even though we have no control of it Jerry will make wise choices (regarding to what to wear) when provided with an accurate weather forecast Check the validity of the above assumptions
  • 35. Solution attributes Ways of delivering weather information SMS/E-mail Internet Secure Characteristics of the provided information Accurate and reliable Current Simple and Clear All of these attributes reflect decisions made either by Jerry (i.e. user) or by the solution developer
  • 36. Elaboration of the solution attributes
  • 37. More assumptions Jerry has a device capable of receiving an SMS or E-mail Jerry can register via the Internet A reliable weather forecast provider exists at a reasonable price Bold words are still not clear and need to be refined, for example, Internet Web application Reasonable price less than 5c a day
  • 38. Decisions made during solution refinement Weather forecast will be taken from the Bureau of Meteorology (BOM). Only freely available data from their web site shall be used http://www.bom.gov.au/vic/forecasts/melbourne .shtml Forecast information shall be sent via an SMS message at 6:00am in the morning. This will be based on the forecast issued at 5:00am by the BOM.
  • 39. Some domain vocabulary BOM Weather forecast, Current forecast Weather terms: Rain, Showers, Fine, etc SMS Registered user
  • 40. Data analysis What type of information (output) can allow the user to reach their goals? Which scale of measurement does Jerry understand? (Celsius or Fahrenheit) What is the input that we need to produce this output, and can we get this input data? Example: we need to provide the following information in the output: Temperature range Current temperature Wind speed Probability of rain/shower/precipitation, and when it is likely to occur Sample output - Rain in the morning. Fine after. 12oC 24oC. Current temp: 12oC, Wind: 5 miles/hr north How do we fit the data from BOM into an SMS message? What data can we remove? What is the risk?
  • 41. Data analysis (cont.) Can we provide this output within the overall scope and constraints identified so far? What happens if Jerry moves to Sydney (or overseas)? What happens if BOM stops providing free weather forecast services? What inputs are required from the users? Information required to register Jerry Need to identify key inputs and outputs of the software Need to design test cases
  • 42. Types of Requirements Functional requirements: Describe the interactions between the system and its environment independent from implementation The watch system must display the time based on its location Nonfunctional requirements: User visible aspects of the system not directly related to functional behavior. The response time must be less than 1 second The accuracy must be within a second The watch must be available 24 hours a day except from 2:00am - 2:01am and 3:00am - 3:01am Constraints (Pseudo requirements): Imposed by the client or the environment in which the system will operate The implementation language must be COBOL
  • 43. Properties of Requirements Correct Complete Consistent Clear, unambiguous Realistic Verifiable Traceable
  • 44. Collecting data in the problem domain To understand the problem that we are dealing with, we can adopt the following techniques Interview Questionnaire Experimentation by building a prototype Observation Document inspection User story
  • 45. User Story User Story Users tell the stories, and developers listen, ask questions to understand context A short description of the behaviour of the system Generally implementation issues are not discussed The entire system is specified through stories Each story is short, goal oriented testable Can be used for usability testing Story is descriptive, but often a diagram or a sample output page helps to explain the concept much better As in user interface snippets, forms or reports
  • 46. Data to be collected and analyzed Actors - role and responsibility Scenarios/User Stories Source of the data that we have to deal with (reliability and accuracy, etc) Information that actors want (output) Software interfaces to existing actors What cause events to happen, and what cause work to be created Workflows and activities Knowing what type of problem it is (solvable?)
  • 47. What is a User Story? A User Story is a requirement expressed from the perspective of an end-user goal. Its usually written out as a couple of sentences. Most user stories are written in the language of the users, so any user should be able to read a user story and immediately understand what it means. A User Story is really just a well-expressed requirement. User Story is only meant to describe a feature, but not describe how to implement it, meaning leaving out the technical aspect, it should describe the behavior or flow from users perspective.
  • 48. What is a User Story? The User Story format has become the most popular way of expressing requirements in Agile for a number of reasons: It focuses on the viewpoint of a role who will use or be impacted by the solution It defines the requirement in language that has meaning for that role It helps to clarify the true reason for the requirement It helps to define high level requirements without necessarily going into low level detail too early
  • 49. User Story User Stories are often deemed to comprise three elements - the 3Cs Card Conversation Confirmation
  • 52. Where are the details?
  • 53. Details as conditions of satisfaction
  • 54. Details added in smaller sub-stories
  • 56. User Story format The format of the User Story is as follows: As a < role> I need <requirement or feature> So that <goal / value>
  • 57. User Story (Logging in) Confirmation 1. Success valid user logged in and refer to home page a. Remember me ticked store cookie/automatic login next time. b. Remember me not ticked force login next time. 2. Failure display message: a. Email address in wrong format b. Incorrect user name, please try again c. Incorrect password, please try again d. Service unavailable please try again later e. Account has expired refer to account renewal page

Editor's Notes

  • #48: Card is easy for portable.
  • #51: Conversation is the most important. Card acts as reminder. Confirmation Acceptance criteria to judge when a story is done
  • #52: Different type of users: normal user, vacation traveler (not as business traveler), frequent flyer who wants to book trip including air flight, hotel, transportation etc.
  • #54: conditions of satisfaction are high level test cases
  • #56: New user logging in as a new user, I can register to the system so that I can logging/access the system