IST 412 - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

IST 412

Description:

Does your car work better because you polish and clean it? ... Reviews. Measurement. Reusability Management. Integration. Process Framework. Process Framework ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 39
Provided by: Magy8
Category:
Tags: ist

less

Transcript and Presenter's Notes

Title: IST 412


1
IST 412
  • Software Process

Why is this picture here?
2
What did you learn from the readings?
  • Normans Emotional Design
  • XP book

3
Normans Emotional Design
  • Does your car work better because you polish and
    clean it?
  • Not only behavior design, but focus on the
    reflective and visceral
  • Another example
  • Chrysler increased sales when they focused on
    these two levels of design
  • So what does that tell you about software design?

4
Normans Emotional Design
  • Two kinds of development enhancement and
    innovation
  • Today it is hard to imagine life without these
    items, but before they existed almost no one but
    an inventor could imagine what purpose they would
    serve, and quite often the inventors were wrong
    p. 71
  • Example email (as a to do list)

5
Normans Emotional Design
  • People find it difficult to articulate their
    real problems. Even if they are aware of the
    problem, they dont often think of it as a design
    issue p. 72
  • So why is this important to a software developer?

6
Normans Emotional Design
  • None of these cases takes into account the
    concerns of the poor user, people like you and
    me, who use a product or web site to satisfy some
    need.
  • Good behavioral design should be human centered,
    focusing upon understanding and satisfying the
    needs of people who actually use the product
    p. 81
  • Focus on observation what people actually do can
    be quite different from what they think they do
    p. 82

7
Don Norman
  • He will be giving a talk
  • at IST on
  • Nov 19th

8
Teams
  • Get into Teams
  • Group of 10
  • 6 for development (UI, Game)
  • 3 for testing
  • 1 for project management
  • Today through 22nd working on proposal
  • Proposals Due 27th September
  • Advice
  • reiterate (first one will not be perfect)
  • get feedback early and often

9
Teams
  • Team structure may change during the process
    depending on the software model you use.
  • Project Managers will need to setup time to meet
    with me or the TA every week

10
Proposal Guidelines
  • Problem Definition
  • The Game
  • The software process you are using to develop the
    game
  • The challenges in terms of usability or
    engagement testing
  • Classes 9/8-9/13
  • Teams and Roles
  • Team members
  • Responsibilities and roles of each member
  • Class 9/15

11
Proposal Guidelines
  • Resources
  • Software (programming language, etc.)
  • Hardware (PCs, Macs, Server, etc.)
  • Communication Policies
  • Formal/informal methods bt. team members
  • Formal/informal methods bt. teams
  • Class 9/15

12
Proposal Guidelines
  • Development Process
  • umbrella activities
  • software model used
  • Class 9/8-9/13
  • Project Plan and Schedule
  • Milestones and deadlines
  • Integration plan
  • Testing plan
  • Class 9/20

13
Proposal Guidelines
  • Tracking and Quality Measurement
  • How are you ensuring quality
  • Class 9/22
  • Risk Management Plan
  • Risk Identification
  • Risk Assessment
  • Risk plan

14
Software Myths
  • If we are behind schedule, just add more
    programmers

Nine Women cannot make a baby in nine months
15
Software Myths
  • Once we write the program and get it to work,
    our job is done

60-80 of all effort expended on software will
be expended after it is delivered for the first
time
16
Software Myths
  • if we can just get it to work, we are done

Do really understand code you wrote 3 months ago?
17
Process Framework
Process Framework
  • Umbrella Activities
  • Tracking and re-planning
  • Quality assurance
  • Reviews
  • Measurement
  • Reusability Management
  • Integration

Umbrella Activities
Framework activity 1 Software engineering action
1.1 Tasks Software engineering action
1.k Tasks
Framework activity n Software engineering action
n.1 Tasks Software engineering action
n.k Tasks
18
Process Framework
Process Framework
  • Tasks
  • Communication with users
  • Planning
  • Analysis
  • Design
  • Construction
  • Deployment
  • Maintenance

Umbrella Activities
Framework activity 1 Software engineering action
1.1 Tasks Software engineering action
1.k Tasks
Framework activity n Software engineering action
n.1 Tasks Software engineering action
n.k Tasks
19
CMMI (Capability Maturity Model Integration)
  • Meta-model (overkill?)
  • Level 0 incomplete
  • Level 1 preformed, work tasks done
  • Level 2 managed, work conforms to policy
  • Level 3 Defined, set standards
  • Level 4 Qualitatively Managed, measurement and
    quantitative assessment
  • Level 5 Optimized, process is adapted and
    optimized using quantitative means

20
Todays Work Plan (9/8)
  • Define the problem, challenges, etc.
  • Set a software engineering process
  • Set a rough draft for the proposal, this will
    change and evolve over the next two weeks

21
Proposal Guidelines
  • Problem Definition
  • Teams and Roles
  • Resources
  • Communication Policies
  • Development Process
  • umbrella activities
  • software model used
  • Project Plan and Schedule
  • Milestones and deadlines
  • Integration plan
  • Testing plan

22
Methods the people developed
  • The waterfall model
  • Separate and distinct phases of specification and
    development
  • Incremental Process Models
  • Incremental Model
  • RAD
  • Evolutionary development
  • Prototyping Model
  • Spiral Model
  • Agile Development
  • XP (Extreme Programming)

23
Waterfall Model (1970)
Information gathering
Planning
Modeling
Construction
  • Advantages?
  • Disadvantages?

Deployment
24
Normans Emotional Design
  • People find it difficult to articulate their
    real problems. Even if they are aware of the
    problem, they dont often think of it as a design
    issue p. 72
  • People dont know what they want, so how would
    you gather requirements?
  • How would you do it for a game?

25
Incremental Method
26
RAD (Rapid Application Development)
Modeling Component1
Information gathering
Construction Component1
Planning
Deployment
Modeling Componentn
  • Advantages?
  • Disadvantages?

Construction Componentn
27
Building a software is like driving
Driving is not about getting the car going in
the right direction. Driving is about constantly
paying attention, making little correction this
way, a little correction that way from XP
28
Evolutionary Development
  • Exploratory development (e.g., Prototyping)
  • Objective is to work with customers and to evolve
    a final system from an initial outline
    specification
  • Problems?
  • Benefits?

29
Evolutionary Development
  • Throw-away prototypes
  • Objective is to understand the system
    requirements. Should start with poorly understood
    requirements
  • Problems?
  • Benefits?

30
Spiral Model
  • Process is represented as a spiral rather than as
    a sequence of activities with backtracking
  • Each loop in the spiral represents a phase in the
    process.
  • No fixed phases such as specification or design -
    loops in the spiral are chosen depending on what
    is required
  • Risks are explicitly assessed and resolved
    throughout the process

31
Spiral Method
32
Spiral Model
  • Objective setting
  • Specific objectives for the phase are identified
  • Risk assessment and reduction
  • Risks are assessed and activities put in place to
    reduce the key risks
  • Development and validation
  • A development model for the system is chosen
    which can be any of the generic models
  • Planning
  • The project is reviewed and the next phase of the
    spiral is planned

33
Agile Development Extreme Programming
  • we no longer are able to define requirements
    fully before the project begins.
  • Software engineers must be agile enough to
    respond to a fluid business environment p. 72
    (Pressman)

34
Agile Development Extreme Programming
  • Embrace change during any stage of the
    development
  • Include the user/customer in the development
    process
  • Milestones of tangible working software
    components
  • Favors face-to-face communication
  • Team re-organization
  • Test often
  • Success depends on the TEAM

35
Extreme Programming
  • Test before coding (e.g., JUnit)
  • Process
  • Planning
  • Customers write stories and rate them in terms of
    importance
  • XP team rates stories in terms of development
    cost ( 3 weeks of development)
  • Establish a release plan
  • Organize stories (risk cost)
  • Use project velocity to re-plan later releases

36
Extreme Programming
  • Process
  • Design
  • Keep it simple
  • Refactoring design and construction intermingled
  • Test case development
  • Automated test cases
  • Coding
  • Pair programming
  • Continuously integrate
  • Testing
  • Unit testing
  • Acceptance testing

37
Discussion
  • What development model is more appropriate for
    your project? Why?

38
Todays Work Plan (9/13)
  • Problem Definition
  • Teams and Roles
  • Resources
  • Communication Policies
  • Development Process
  • umbrella activities
  • software model used
  • Project Plan and Schedule
  • Milestones and deadlines
  • Integration plan
  • Testing plan
Write a Comment
User Comments (0)
About PowerShow.com