interacting with consumer software engineering. so far… what is software engineering? different...

26
Interacting with consumer Software Engineering

Upload: angela-peters

Post on 06-Jan-2018

222 views

Category:

Documents


1 download

DESCRIPTION

Outline In class activity: specifications/requirements The management spectrum: people, product, process, project End users vs consumers Boehm’s W5HH principle What’s next?

TRANSCRIPT

Interacting with consumer

Software Engineering

So far…What is Software Engineering?

Different software process modelswaterfall, incremental, spiral

Importance of having specifications/requirements while designing

OutlineIn class activity:

specifications/requirementsThe management spectrum: people,

product, process, projectEnd users vs consumersBoehm’s W5HH principle What’s next?

In class activityYesterday 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 activity3) Could be that you want the grocery items

delivered and placed in your fridge :D4) Could be that you want it the touch and

drag way rather than a mouse click5) Could be that you want this designed only

for old people.

Think wild and come up with any set of specifications

In class activityNow 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 activity5 min for requirements5 min to explain to the designer10 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 problemCompleteness problemAmbiguity/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 supportse.g.: tweet a vote report, view delays on map

Entities = the kinds of objects that are involved in use casese.g.: tweets, user accounts, polling locations,

mapsAttributes = the properties of the entities

e.g.: tweets have: timestamp, text, sender

The four P’sEffective software project management

focuses on the four P’s: People, product, process and project.

1)People2)Product3)Process4)Project

The four P’sPeople 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’sThe 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.

PeopleThe 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

PeoplePractitioners 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 customersSoftware 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 customersCustomer is a person or a group who:Originally requested the software to be

built.Defines business objective for the software.Provide basic product requirementsCoordinates funding for the project.

End users vs customersEnd user on the other hand is a person or a

group of people whoWill actually use the software that is built to

achieve some business purposeWill define operational details of the

software so the business purpose can be achieved.

The productA 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 scopeProblem decomposition

ProductScope 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?

ProductProblem decomposition: divide and conquer : partitioned to smaller

problems - decomposition

The W5HH principleWhy 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 principleWho 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 principleHow 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 teamTeam leaders: motivation, collaboration,

organization abilityProject 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 statementThe 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