Software Engineering and Further Aspects of Database Design - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Software Engineering and Further Aspects of Database Design

Description:

Design a new car. Design a bridge over the Potomac. Route a new highway ... for an Excel spreadsheet but it shows a misunderstanding of what a relation is ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 18
Provided by: davero9
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering and Further Aspects of Database Design


1
Software EngineeringandFurther Aspects of
Database Design
2
Wicked Problems
  • The pointthe traditional approach to software
    engineering is fundamentally unsuitable. A
    different approach is needed.
  • We will use an approach that recognizes the
    nature of software designits usually a wicked
    problem. Our approach will seem undisciplined
    but is superior to the traditional approach.
  • We will employ just-in-time database design as
    the central coordination mechanism for the
    project.

3
Important MCC Study
  • MCC studied how experienced, highly successful
    designers of elevators approached design problems
  • During actual design, they watched their behavior
    to observe the phases of design and the sequence
    in which they executed the various phases
  • MCC researchers found that the actual approach
    used was very different from formal methods that
    we advocated
  • The designers transitioned regularly back and
    forth from one phase to another

4
Traditional Approach
5
What Is Actually Done
6
Tame Problem
  • Has requirements that are well defined at the
    outset
  • Requirements stay constant during the design and
    implementation
  • Stakeholder interests are well established and
    constant during the effort
  • The solution is known and recognizable

7
Wicked Problem
  • You don't understand the problem until you have
    developed a solution.
  • Multiple stakeholders
  • You may need to adjust the requirements based on
    solutions that can be developed
  • Constraints on the solution change over time.
  • Stakeholders come and go, change minds, fail to
    communicate, change the rules.
  • No definitive Problem, no definitive Solution.

8
Which Problems Are Wicked?
  • Design and launch a satellite
  • Design a new car
  • Design a bridge over the Potomac
  • Route a new highway
  • Reorganize your department
  • Develop a new kind of bullet-resistant glass that
    is half the weight of current products for the
    same bullet resistance
  • Design an electric motor, given power, speed,
    weight requirements
  • Devise a mission statement for your company
  • Design a personal information manager for your
    own use
  • Design a folksonomic collaborative Web site

9
Most software development efforts of interesting
scope today are wicked problems.
10
Whats A Wicked Problem
  • A wicked problem is an evolving set of
    interlocking issues and constraints. A linear
    approach to solving a wicked problem simply will
    not work.

11
How We Will Proceed on the Project
  • Involve everyone customers, developers, system
    engineers
  • Lots of dialogue
  • Flexibility in order of work
  • Development teams choose what they program,
    encourage SET to complete database design in that
    area
  • Encourage Openness
  • Teamwork is facilitated
  • Completely inform everyone
  • All emails about project to every member
  • Avoid time-wasting struggles
  • Personal disputes are forbidden
  • Look at possible solutions early
  • Early mockup of final site

12
Guidelines
  • All phases of work start on Day 1
  • Every member of each group does a major favor,
    early, for every other member
  • Group decisions guide just-in-time database
    design work
  • All email communications must go to all project
    members
  • Criticism of another project member is absolutely
    forbidden

13
System Engineering Team
  • Produces no code of their own
  • Responsible for database design, overall project
    success
  • Organizes schedule
  • Establishes procedures for code submission,
    release of systems
  • Conducts system testing
  • Administers Web site contents

14
Database Design TopicNatural vs. Generated Keys
15
Definitions
  • Natural keya key that occurs in the data, that
    serves as a unique identifier for rows
  • Generated keya key that is generated in order to
    make rows unique

16
Generated Keys
  • In some organizations, programmers have the idea
    that generated keys should be included in every
    relation
  • Thats a fine idea for an Excel spreadsheet but
    it shows a misunderstanding of what a relation is
    and what a tuple is
  • Tuples are naturally unique because each one
    corresponds to a distinct instance of an entity
    type in the real world. You dont have to add
    anything to make them unique.

17
When to Use Generated Keys
  • Sometimes you have a compound key that is very
    long
  • Lots of queries will be very complicated and
    tables with foreign keys will copy most of
    another table
  • As a guideline, never use a generated key unless
    it is a surrogate for a compound key of at least
    three columns
Write a Comment
User Comments (0)
About PowerShow.com