CS4/542- Software Engineering - PowerPoint PPT Presentation

About This Presentation
Title:

CS4/542- Software Engineering

Description:

Software Design and Development Required Text -- Code Complete by Steve McConnell (Focuses on the problems of designing programs that WORK!) Recommended Text -- UML ... – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 31
Provided by: CSM70
Learn more at: https://cse.buffalo.edu
Category:

less

Transcript and Presenter's Notes

Title: CS4/542- Software Engineering


1
CS4/542- Software Engineering
  • Software Design and Development
  • Required Text -- Code Complete by Steve
    McConnell
  • (Focuses on the problems of designing programs
    that WORK!)
  • Recommended Text -- UML Distilled Second
    Edition by Martin Fowler

2
Software Engineering
  • CSE 4/542A
  • Lec MWF 200-250, 4 Knox
  • A1 F 1100-1150, 216 NSC
  • A2 R 1530-1620, 322 Clemens
  • Recitations meet irregularly, they are team
    meeting times.
  • TA -- Joshua Kershner

3
Helene G. Kershner
  • Assistant Chairman
  • Office 209 Bell Hall
  • Office Hours
  • To be determined
  • By Appointment
  • Login name kershner_at_cse.buffalo.edu

4
Course Environment
  • CSE4/542 is a Team-based course.
  • Real-world simulation
  • Real project for a Customer
  • Writing course
  • Programming course

5
Requirements
  • Programming Languages Experience designing
    Algorithms
  • Senior/Graduate Course
  • Consider yourself -- Computer Professionals
  • Effective Communicator
  • Consider yourself an experienced Programmer

6
(No Transcript)
7
Software Design andDevelopment
  • better known as
  • Software Engineering

8
Software Engineering
  • The body of theory and practical techniques
    involved in the process of developing large scale
    software

9
Why Software Engineering (SE)? To Answer these
  • Why does it take so long to get programs
    finished?
  • Why are costs so HIGH?
  • Why cant we find all the errors before we
    release software to our customers?
  • Why do we have such difficulty measuring progress
    as software is being developed?

10
Software is like Entropy,
  • It is difficult to grasp, weighs nothing and
    obeys the Second Law of Thermodynamics
  • i.e., It ALWAYS increases.

11
Programming is
  • " a young person's skill. It requires intense
    concentration. To do a good job, you have to
    have your mind wrapped around the whole program.
    It's very easy to get distracted. You do things
    and forget about other things and end up with
    bugs. It's like running a marathon. You have to
    be constantly focused on the goal." NY Times

12
We do more than PROGRAM!
  • We DESIGN and DEVELOP software to solve problems.

13
Writing Software (Design)
  • " is figuring out the real problem people are
    trying to solve and the best way to solve the
    problem, which is not always the way they
    suggest."

14
Software Design
  • Software Development is Technology in Crisis!
  • Writing Large-Scale Software is Problematic!

15
The Central Debate
  • Is the creation of software
  • an art,
  • a science, or
  • a discipline ???

16
What is Software Engineering? In 1969 NATO
Conference
  • "the establishment and use of sound engineering
    principles in order to economically obtain
    software that is reliable and works efficiently
    on real machines."

17
What is Software Engineering?
  • "fabrication that takes away the uniqueness and
    magic of programming."

18
Designing software is difficult.
  • The larger the project, the more difficult the
    solution.

19
What is Software Engineering?
  • Software Engineering is "the systematic approach
    to the development, operation, maintenance, and
    retirement of software." IEEE Glossary
  • Software is " computer programs, procedures,
    rules and possibly associated documentation and
    data pertaining to the operation of a computer
    system."

20
What is Software Engineering?
  • Software Engineering is " the technological and
    managerial discipline concerned with systematic
    production and maintenance of software products
    that are developed on time and within cost
    estimates."(Fairley)

21
There is a crisis in Technology!
  • 1) How does one design large-scale
    software?
  • 2) We have an Aging Software Plant.

22
Aging Software
  • Across the nation, and the world, software is
    AGING!
  • AND-- Little is done to rewrite and redesign the
    software!
  • Why?

23
Why?
  • " The application STILL works?"
  • "It is not 'economical' to commit the resources
    to make them better!"

24
Software doesn't wear out! ????
  • Is this true???

25
What is the Software Crisis?
  • What does it "look like"?

26
Software Crisis?
  • Hardware sophistication has outpaced our ability
    to build software that can tap hardware's
    potential.
  • Our ability to build new programs cannot keep
    pace with the demand for new programs.
  • Our ability to maintain existing programs is
    threatened by poor design and inadequate
    resources.

27
Software Crisis?
  • Our inability to complete current work on time
    and within budget -- means -- needed
    maintenance and new development efforts pile up.
  • Our techniques for managing software development
    projects are usually inadequate. Products are
    often late, inefficient, expensive, or
    unsatisfactory to users.

28
Software Crisis?
  • Some believe
  • Programmers cannot even begin to use the tools
    that are available
  • Programmers cannot be trusted to test their own
    programs adequately

29
Why Software Engineering?
  • Why does it take so long to get programs
    finished?
  • Why are costs so high?
  • Why can't we find all errors before we give the
    software to our customers?
  • Why do we have difficulty in measuring progress
    as software is being developed?

30
The primary challenge of the new century will be
to improve the quality of computer-based
solutions, while simultaneously reducing the time
required to createthem.
  • - these solutions are those implemented with
    software!
Write a Comment
User Comments (0)
About PowerShow.com