Software Engineering Practice: A Generic View - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Software Engineering Practice: A Generic View

Description:

Practice is the collection of concepts , principles, methods, and tools that a ... Buggy software should be fixed first, delivered later. ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 16
Provided by: Salv9
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering Practice: A Generic View


1
Software Engineering Practice A Generic View
  • INTRODUCTION
  • Practice is the collection of concepts ,
    principles, methods, and tools that a software
    engineer calls upon a daily basis.
  • The Essence of Practice
  • Understand the problem (Communication and
    analysis)
  • Plan a solution (modeling and software design)
  • Carry out the plan (code generation)
  • Examine the result for accuracy (testing and
    quality assurance)

2
Software Engineering Practice A Generic View
  • UNDERSTANDING THE PROBLEM
  • Who has a stake in the solution to the problem?
  • What are the unknowns?
  • Can the problems be compartmentalized?
  • Can the problem be represented graphically?

3
Software Engineering Practice A Generic View
  • PLAN THE SOLUTION
  • Have you seen similar problems before?
  • Has a similar problem been solved?
  • Can subproblems be defined?
  • Can you represent a solution in a manner that
    leads to an effective implementation?

4
Software Engineering Practice A Generic View
  • CARRY OUT THE PLAN
  • Does the solution conform?
  • Is each component part of the solution probably
    correct?

5
Software Engineering Practice A Generic View
  • EXAMINE THE RESULT
  • Is it possible to test each component part of the
    solution?
  • Does the solution produce results that conform to
    the data, function, features, and behavior that
    are required?

6
Software Engineering Practice A Generic View
  • CORE PRINCIPLES
  • The reason it all exists. Provide value to the
    user.
  • KISS (Keep It Simple, Stupid!)
  • Maintain the vision.
  • What you rpoduce, someone else will have to
    consume. (implement knowing somone else will have
    to understand what you are doing)
  • Be open to the future
  • Plan ahead for reuse
  • Think!

7
Software Engineering Practice A Generic View
  • COMMUNICATION PRACTICES
  • Listen
  • Prepare before you communicate
  • Someone should facilitate the activity
  • Face to Face communication is best
  • Take notes and document decisions
  • Strive for collaborations
  • Stay focused
  • If something is unclear, draw a picture
  • Once you agree, move on. If you cant agree, move
    on.
  • Negotiation must be win win.

8
Software Engineering Practice A Generic View
  • PLANNING PRACTICE
  • Understand the scope
  • Involve the customer in planning
  • Recognize that planning is iterative
  • Estimate based on what you know
  • Consider the risk
  • Be realistic.
  • Define how you intend to ensure quality
  • Describe how you intend to accommodate change.

9
Software Engineering Practice A Generic View
  • MODELING PRACTICE
  • The domain must be understood
  • Functions of the software must be defined
  • Behavior of software must be represented
  • The models that depict information, function, and
    behavior must be partitioned in a manner that
    uncovers detail in a layered fashion.
  • Analysis task should move from essential
    information toward implementation detail.

10
Software Engineering Practice A Generic View
  • MODELING PRACTICE
  • Design should be traceable.
  • Consider the architecture of the system to be
    built.
  • Design of data is as important as processing
    functions.
  • Interfaces must be designed with
  • User interfaces should be tuned to needs of the
    end-user.
  • Component level design should be functionally
    independent Single mindedness
  • Components should be loosely coupled
  • Design representations should be easily
    understandable contradicts formal mathematical
  • Design is iterative

11
Software Engineering Practice A Generic View
  • CODING PRINCIPLES
  • PREPARATION
  • Understand the problem
  • Understand basic design principles and concepts
  • Pick a programming language that meets the needs
    of the software being built
  • Select a programming environment that makes you
    work easier
  • Create sets of unit tests

12
Software Engineering Practice A Generic View
  • CODING PRINCIPLES
  • CODING
  • Select data structure that meet the needs of
    design
  • Keep conditional logic as simple as possible
  • Use meaningful variable names
  • Follow local coding standards
  • Write code that is self-documenting,
  • Create a visual layout, i.e. indenting, better
    have a tool do it for you

13
Software Engineering Practice A Generic View
  • CODING PRINCIPLES
  • VALIDATION
  • Conduct a code walkthrough when appropriate
  • Perform unit tests, correct errors you uncovered
  • Refactor code

14
Software Engineering Practice A Generic View
  • TESTING PRINCIPLES
  • Testing is a process of executing a program with
    the intent of finding an error
  • A good test case is one that has a high
    probability of finding as-yet undiscovered error
  • A successful test case is one that uncovers an
    as-yet undiscovered error.
  • PRINCIPLES
  • All tests should be traceable to customer
    requirements
  • Test should be planned long before testing begins
  • 80 of all errors uncovered during testing is
    traceable to 20 percent of all program components
  • Testing should begin in the small and progress
    toward testing in the large
  • Exhaustive testing is not possible.

15
Software Engineering Practice A Generic View
  • DEPLOYMENT PRINCIPLES
  • Customer expectations for the software must be
    managed
  • A complete delivery package should be assembled
    and tested.
  • A support regime must be established before the
    software is delivered
  • Appropriate instructional material must be
    provided to end-users.
  • Buggy software should be fixed first, delivered
    later.
Write a Comment
User Comments (0)
About PowerShow.com