Software Engineering Interacting with consumer

advertisement
Software Engineering
Interacting with consumer
So far…
 What is Software Engineering?
 Different software process models
waterfall, incremental, spiral
 Importance of having specifications/requirements while
designing
Outline
 In class activity: specifications/requirements
 The management spectrum: people, product, process,
project
 End users vs consumers
 Boehm’s W5HH principle
 What’s next?
In class activity
Yesterday you designed an online grocery store with no
specifications.
Now 3 of you come up with some set of specifications for things
that you want to see in an online grocery store
1) Like for eg: visual display of items (like we saw a few of you
design yesterday)
2) Eg: that you want the grocery store to ask you questions and
you don’t want to type in and just answer
In class activity
3) Could be that you want the grocery items delivered and
placed in your fridge :D
4) Could be that you want it the touch and drag way rather than
a mouse click
5) Could be that you want this designed only for old people.
Think wild and come up with any set of specifications
In class activity
 Now you have to explain to another person your idea
without using a paper.
 The person sketches out the prototype based on your
description.
 You then can tell the class what you visualized it to look like
and how was it was designed. It could turn out just as you
wanted or maybe way different.
In class activity
 5 min for requirements
 5 min to explain to the designer
 10 min for the designer
Then each of you say (both in the team) what you envisioned and
how it complied to what you envisioned and if some parts did
not turn out how you had expected mention what are those and
what way of explaining would have made it better.
Problems with requirements?
 Consistency problem
 Completeness problem
 Ambiguity/lack of clarity problem
 ….
 Solution?
 Formal specifications…?
You cant build a right system unless
you understand what it should do
Use cases = the activities a system supports
e.g.: tweet a vote report, view delays on map
 Entities = the kinds of objects that are involved in use cases
e.g.: tweets, user accounts, polling locations, maps
 Attributes = the properties of the entities
e.g.: tweets have: timestamp, text, sender
The four P’s
Effective software project management focuses on the four P’s:
People, product, process and project.
1) People
2) Product
3) Process
4) Project
The four P’s
 People must be organized into effective teams, motivated to
do high quality software work and coordinated to achieve
effective communication.
 Product requirements must be communicated from customer
to developer, partitioned (decomposed) into their
constituent parts and positioned for work by the software
team.
The four P’s
 The process must be adapted to the people and the product. A
common process framework is selected an appropriate
software engineering paradigm is applied, and a set of work
tasks is chosen to get the job done.
 Finally the project must be organized in a manner that enables
the software team to succeed.
People
The software process is populated by stakeholders who can be
categorized into one of five categories:
a) Senior managers who define the business issues that often
have a significant influence on the project
b) Project managers who must plan, motivate organize and
control the practitioners who do software work
People
 Practitioners who deliver the technical skills that are necessary
to engineer a product or application.
 Customers who specify requirements for the software to be
engineered.
 End users who interact with software once released for
production use.
End users vs customers
 Software engineers communicate with different people. The
most important are these:
 In some cases end users and customers are the same but for many
projects customers and end users are different people working
for different people, managers or even different organizations.
 Eg: excel might be used in bank or by a teacher to enter grades
End users vs customers
Customer is a person or a group who:
 Originally requested the software to be built.
 Defines business objective for the software.
 Provide basic product requirements
 Coordinates funding for the project.
End users vs customers
 End user on the other hand is a person or a group of people
who
 Will actually use the software that is built to achieve some
business purpose
 Will define operational details of the software so the business
purpose can be achieved.
The product
A detailed analysis of software requirements would provide necessary
information for estimates but analysis often takes weeks or even months
to complete.
At a minimum the scope must be established.
Two important steps are:
 Software scope
 Problem decomposition
Product
Scope is defined by answering the following questions:
 Context: how does software to be built fit into a large system or
business context?
 Information objectives: what data objects are required for input?
 Function and performance: what function does the software
perform to transform input data into output? Any special
characteristics to be addressed?
Product
 Problem decomposition:
divide and conquer : partitioned to smaller problems decomposition
The W5HH principle
 Why is the system being developed? Does the business
purpose justify the expenditure of people, money and time?
 What will be done? Task set required for the project
 When will it be done? Establishing a schedule by identifying
project tasks and hence setting up milestones
W5HH principle
 Who is responsible for a function? The role and responsibility
of each member of the team must be defined.
 Where are they located organizationally? Not all roles and
responsibilities reside within software practitioners. The
customer, user and stakeholders also have roles.
W5HH principle
 How will the job be done technically and managerially? Once
the product scope is established, a management and technical
strategy for the project must be defined.
 How much of the resource is needed? The answer to this
question is derived by developing estimates based on answers
to earlier questions.
Three of a kind in a team
 Team leaders: motivation, collaboration, organization ability
 Project managers: problem solving, managerial identity,
influence and team building.
 Designer: innovative
What’s next?
 Each of you will be given 5 minutes to present your vision
statement
 The rest of you can make notes and vote on the vision statement
you like the best.You can vote for two of them. I will upload all
the vision statements on the website for further reference
 In Friday’s class you will have to turn in your votes and explain
the basis of your votes
Due Friday midnight: Insights you have drawn from this in-class
activity
(could be about collaboration , design) : one page
Download