People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30,...

27
People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland, Baltimore County

Transcript of People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30,...

Page 1: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

People:Analysis and Requirements

COMP 101Computational Thinking and Design

Thursday, October 30, 2014

Carolyn SeamanSusan Martin

University of Maryland, Baltimore County

Page 2: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Systems Analysis: What is it?

The systematic study of an existing situation (in a business, organization, social context, or scientific environment),

identification of problems and opportunities, and specification of the requirements for the solution.

Problem

Solution

What is the problem, really?

Is this problem worth solving?

What are the constraints on the solution?

What are the implications of fixing this?

Page 3: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Systems Analysis: Why is it?

Many information/computing systems fail, because they are:· insufficiently reliable· insufficiently usable· not what the users wanted· incompatible with other systems

SA addresses all but the first problem

SA is also a long-term approach to ensure the overall effectiveness of IT (software, hardware, and other components) in the organization

Page 4: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Systems Analysis: Who is it?

A systems analyst studies the computing problems and needs of an organization to determine how to best solve its problems and provide improvements using information technology. improved business processes improved information systems improved computer applications

Three major roles: consultant (outsider) supporting expert (insider) agent of change (shaker)

Page 5: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

The Systems Analyst as the Bridge Person

SA

USERSDeveloper

sEngineers

Diagnoses problemsConfigure solutions

Tests new technology

Determines requirements

Designs new technology

Page 6: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

The Systems Analyst as Aunt Marie

I have an Aunt Marie. She always remembers: To bring the bottle opener when we go on a picnic To bring the directions when we go on a trip To bring matches when we have a campfire

When Aunt Marie’s not there, we often forget things like this.

A Systems Analyst is like Aunt Marie – they always think of the things other people overlook, e.g. The political implications of a new information system The physical environment in which a new application will be

used The larger process in which a new piece of technology will be

embedded The constraints of the users of a new system The costs and benefits of a new technology development

Page 7: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Skills of a Systems Analyst

Analytical

Technical

Business

Management

Interpersonal

Ethical

Page 8: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Types of Analysts

Systems Analyst

Business Analyst

Infrastructure Analyst

Change Management Analyst

Project Manager

Page 9: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Systems Thinking

Nine system characteristics:- components- interrelationships between components- boundary- purpose- environment- interfaces- input- output- constraints

Page 10: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Systems Thinking (cont.)

Four system conceptsdecompositionmodularitycouplingcohesion

Page 11: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Systems Thinking (cont.)Advantages of systems thinking:

- allows you to think about an organization, a process, a program, etc. at a higher, more abstract level

- reveals problems that are obscured by physical details

- abstractions are easier to manipulate- promotes creativity

Page 12: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Assessing FeasibilityNot all solutions to a problem are feasible

Technical feasibility- Is technology available or are we able to develop it?- Compatibility with existing systems- Availability of expertise

Economic feasibility- Is the payoff worth the investment?- Do we know how much it will cost?

Organizational feasibility- Are there other obstacles to project success?- Stakeholders - political and legal issues- Strategic alignment- Schedule

Page 13: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Outcome of Feasibility Analysis

Risks lists of risk factors and eventshighest risks include more information - potential

loss, preventive actions, mitigating actions

Constraints limitations that the project has to live withusually schedule and budget, sometimes technical

or legal

Risks and constraints are then used to make design decisions

Page 14: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

What is a Requirement?A statement of

One thing the system must do (functional requirements), or

One characteristic the system must have (nonfunctional requirements)

Business/organizational requirements – from the user’s perspective

Systems requirements – from the designer’s perspective

Page 15: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Examples of RequirementsFunctional requirements:

• When the cruise control systems is “on”, if the driver presses the “set” button, the current speed is captured and that speed is maintained until the user hits the brake or the accelerator, or until the cruise control system is turned “off”.

• If the driver presses the accelerator while the cruise control system is controlling the speed, the speed is allowed to increase as long as the driver is pressing the accelerator, but returns to the maintained speed when the user releases the accelerator.

Nonfunctional requirements:

• While the cruise control system is “on”, reaction time to all driver actions must be less than 0.1 seconds.

• At least 80% of all test drivers must be able to use the cruise control system without error after driving with it for no more than 20 minutes.

Page 16: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Requirements Definition Document

Organized as a numbered list of requirements Groups functional and nonfunctional requirements Often other subcategories

Created early in analysis to capture what the current system does that we want to keep

Updated after analysis to specify what new things we want the new system to do

Used during design and development to guide design decisions.

Used during testing to determine how the system should behave.

Page 17: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Requirements Gathering Techniques

Interviewing

Questionnaires

Observation

Documents

Joint Application Design (JAD)

Prototyping

Page 18: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

The Desk Set1957 movie starring Spencer Tracy and

Katherine Hepburn

Not their best work

BUT… a really good example of systems analysis gone horribly wrong

Page 19: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Prototype DemoNext Thursday, Nov. 6, in class

Each team has 8 minutes3 minutes introduction3 minutes demo2 minutes questions

Use your own laptop – make sure it has a HDMI port

Everyone on the team must participate

Dress professionallySomewhere between suit and tie, and shorts and t-shirt

Page 20: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Required ContentIntroduction

Introduce team membersDesign decisions – architecture and interfaceProblems and successesWhat you still need to work on

Demo Input and OutputDoes not need to run all the way through 15 weeks

QuestionsAny team member can be called on to answer any

question

Page 21: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

ProfessionalismWhen presenting

Move aside and pay attention when another team member is speaking

Transition professionally between speakersTreat each other with respectDo not interrupt or contradict a team member

When watchingPay attention – no devices!!Ask questions for information, not to make anyone

uncomfortableThis is also part of your grade

Page 22: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

GradingPresentation 35%

10% Presentation quality 5% Everyone participated and behaved professionally

during all presentations 10% Demo included all working functionality 10% Demo included clear explanations of any missing

functions

Code 45% 10% each input, calculations, output 15% Coding standards

Document 20% 10% Description of design changes 10% Description of bugs and work still to do

Page 23: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Giving Effective Presentations

Page 24: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Rule

Know what on earth you’re doing up there!

Rule #2: Know what you want to say

Rule #3: Know your audience

Rule #4: Know how long you have

Page 25: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Rule #2: Know What You Want to Say

Just reciting a series of statistics or showing a bunch of numbers is not interesting to most people

You should give enough detail to get your interesting ideas and observations across, but not enough to lose your audience

They want to hear what you learned that was interesting and why they should care

Whatever you do, don’t just read your slides!

Page 26: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Rule #3: Know Your Audience

You’re talking to the other students (not me)

You need to be sure you’re explaining each new idea clearly

The most important thing is to emphasize what you’ve discovered and why they should care!

Page 27: People: Analysis and Requirements COMP 101 Computational Thinking and Design Thursday, October 30, 2014 Carolyn Seaman Susan Martin University of Maryland,

Rule #4: Know How Long You Have

How long is the talk? Are questions included?

A good heuristic is 1-2 minutes per slide ...but it depends a lot on the content of those slides!

If you have too many slides, you’ll skip some or—worse—rush desperately to finish. Avoid this temptation!!

Almost by definition, you never have time to say everything about your topic, so don’t worry about skipping some things!

Unless you’re very experienced giving talks, you should practice your timing