0% found this document useful (0 votes)
99 views4 pages

User Story Development and Architecture

The document discusses requirement specifications and system architecture. For requirement specifications, it describes how to write user stories, assign story points, and calculate project duration based on story points and velocity. For system architecture, it presents two examples. For an email filtering system, it recommends a pipe and filter pattern using white, black, and spam filters. For an airplane monitoring system, it recommends a model-view-controller pattern to continuously check sensor data and display warnings or take actions.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views4 pages

User Story Development and Architecture

The document discusses requirement specifications and system architecture. For requirement specifications, it describes how to write user stories, assign story points, and calculate project duration based on story points and velocity. For system architecture, it presents two examples. For an email filtering system, it recommends a pipe and filter pattern using white, black, and spam filters. For an airplane monitoring system, it recommends a model-view-controller pattern to continuously check sensor data and display warnings or take actions.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
  • System Architecture
  • Requirement Specifications
  • E-mail Filter
  • Airplane Monitoring

Chapter 2 Questions

Requirement Specifications
 How to write a user story
User stories are written in a free-form, with no mandatory syntax, but generally they
are fitting the form: user-role + capability + business-value
Example: As a customer, I can withdraw an available amount from ATM.
 What is and how can we use a user story template
A user story is a brief description of a piece of system functionality as viewed by a
user.
User story template: is a form that we consider in writing the requirements
“features” of the system.
Example: As a user, I can back up my entire hard drive
 How to assign story point
It’s assigned according to
1. The effort needed to develop the system.
2. The development team’s velocity “the number of user story points that the
team can complete per single iteration”.
So, for each user story:
- The product owner explains the story.
- Each team member assigns an estimate value to the story
- All the estimates are revealed at the same time.
- If estimates are not equal then, the highest and lowest estimators discuss and
share their reasons.
- Additional estimation rounds are conducted each story until consensus is
reached.
 Calculate how long the scrum will take, based on the story points and the time
estimations.
Total size =  points-for-story i (i = 1..N)

Project duration (scrum) = path size / Travel Velocity

System Architecture
 For the following two problems, describe the system architecture in the following
form:
• Name one architectural pattern that you will use
• Draw a diagram that describes your system architecture.
• Quickly explain in words how the system works.
• State the three most important advantages of using this architecture.
• State the two most important disadvantages of using this architecture.
1. E-mail Filter
An e-mail system filters incoming e-mails with a whitelist (e-mails from
senders on the whitelist are accepted), a blacklist (e-mails from senders on
the blacklist are deleted), and the Spam assassin tool (e-mails that do not
pass this check are marked as spam). The system will run on a single-core
server machine, but may be moved to a multi-core server if the load gets too
high.

Architectural pattern: Pipe and Filter pattern

System Diagram:

Sender Deleted Mails


email

Receiver
White List Black List Spam E-mail
checking checking Assassin tool

System Input/Output
Filters

System mechanism:

An-email will be received to “Sender E-mail” component, the email will go


through three filters first “white list checker” , if it recognized then it’ll be
accepted and stored in “Receiver E-mail” , if the email is not recognized then
it’ll go through the second filter “Black list Checker” if it recognized then it’ll be
deleted and stored in “Deleted E-mails” , if the email is not recognized then
it’ll go through the third filter “Spam Assassin tool” , then it’ll be stored as a
spam email.

Advantages of using Pipe and Filter Pattern:


1. Pipes remove need for intermediate files
2. Can replace filters easily
3. Can achieve different effects by recombination (increases long-term usefulness)
4. If data stream has a standard format, filters can be developed independently
5. Incremental filters allow parallelization

Disadvantages of using Pipe and Filter Pattern:


1. Difficult to share global data
2. Expensive if there are many small filters and a high data transfer cost
3. Difficult to know what to do with errors (especially if filters are incremental)

2. Airplane Monitoring
In an airplane, there are many sensors: speed, altitude, cabin pressure, fuel
level, etc. The monitoring system performs different checks on the sensor
data. If a problem is noticed, the system either shows a warning to the pilot
(e.g. low on fuel), or in a dangerous situation may react automatically (e.g. by
dropping oxygen masks). The system will run on a multi-core machine and
should do the checks in near real-time when new sensor data comes in.

Architectural pattern: Model-View-Controller pattern

System Diagram:

Display the status to the


Pilot
Pilot
Display Request the status
View of the Model
Fuel Change display Status sent
Model
according to the inputs
Level Contains all data about Fuel,
Speed, Altitude, Cabin
Speed Controller pressure
Change status of the model
Altitude according to the inputs

Cabin
Pressure

System mechanism:
The system Take the inputs of all the sensors (speed, altitude, cabin
pressure, fuel level) continuously, the controller will do the check within
stored data within model, if the controller find any problem, it will make
different actions according to the type of observation either it’ll send a
warning to the view to display it to the pilot, or it’ll take an action if the
situation is dangerous.

Advantages of using MVC Pattern:


a. Faster development process
b. Ability to provide multiple views
c. Modification does not affect the entire model
Disadvantages of using MVC Pattern:
d. Complexity increased.
e. Need parallel development to multiple programmers

Chapter 2 Questions
Requirement Specifications

How to write a user story
User stories are written in a free-form, with no m
1. E-mail Filter
An e-mail system filters incoming e-mails with a whitelist (e-mails from 
senders on the whitelist are accep
1. Difficult to share global data
2. Expensive if there are many small filters and a high data transfer cost
3. Difficult to
stored data within model, if the controller find any problem, it will make 
different actions according to the type of observ

You might also like