CS451 Introduction to Software Engineering - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

CS451 Introduction to Software Engineering

Description:

CS451 Introduction to Software Engineering – PowerPoint PPT presentation

Number of Views:161
Avg rating:3.0/5.0
Slides: 33
Provided by: Yugi6
Category:

less

Transcript and Presenter's Notes

Title: CS451 Introduction to Software Engineering


1
CS451Introduction to Software Engineering
  • Yugi Lee
  • STB 555
  • (816) 235-5932
  • leeyu_at_umkc.edu
  • www.sice.umkc.edu/leeyu

2
Contents
  • Organizational stuff
  • Project
  • Essay Presentation
  • Why software engineering?
  • What is software engineering?

3
General stuff
  • Class T/TH 530-645pm, FH460
  • Office hours
  • Yugi Lee T/TH 430-530 pm or by appointment

4
Course information
  • www.sice.umkc.edu/leeyu
  • Lecture slides will be available in advance
  • Mailing List
  • information will be distributed via the mailing
    list (e.g. hints for assignments, corrections
    etc.)

5
Textbooks
  • Required
  • Software Engineering - A Practitioner's Approach
    - Pressman (McGraw Hill), 5th Edition
  • Additional readings
  • The Mythical Man-Month, Frederick P. Brooks
    (Addison-Wesley)
  • Classical and Object-Oriented Software
    Engineering - Stephen R. Schach (McGraw Hill)
  • UML Distilled - Fowler, Scott (Addison Wesley)

6
Course Objectives
  • You will have a comprehensive picture of software
    development
  • You will have hands-on experiences on object
    oriented development in software engineering.
  • You will learn the skill on UML (Unified Modeling
    Language) and tools (Together, Project, etc).
  • You will learn object-oriented programming
    (Java).
  • You will get a good grade when you completed all
    the class requirements.

7
Assessment
  • Group Project 40
  • Individual Work 60
  • Essay Presentation Discussion 5
  • Homework 10
  • Quizzes
    10
  • Exams
  • Midterm exam 15
  • Final exam 20
  • Both components must be passed in order to pass
    the course.

8
Projects
  • Team project
  • Teams of 3-4 members
  • Development of an entire system following OO
    software enginering process (Requirements
    analysis, design, implementation, testing, etc)
  • The overall assignment will be split into several
    steps that will be marked individually.
  • Project proposal (Project statement)
  • Functional specification and management plan
  • Overall design
  • User manual/system documentation/project
    specification
  • Demonstration/Presentation
  • Being late leads to 10 reduction per day

9
Goal of the Team Assignment
  • Learning to develop a modular software system
    within a team following an object oriented
    methodology
  • Getting a feeling for the (management) problems
    in software development
  • Getting an idea of your own productivity
  • Having group work experience (work-with-other)

10
Team Assignment
  • The software should be developed following basic
    software engineering principles
  • processes analysis, design, implementation,
    review, and testing phases
  • products requirements and design documents,
    source code, review results, test cases, test
    results, and productivity metrics

11
Exams
  • 02/28/02 Mid term exam (Tentative)
  • The course will have a Registrar's scheduled
    final examination Covers the whole course but
    will focus on the second part

12
Essay Presentation The Mythical
Man-Month
  • Each student presents one chapter of the book
  • prepare 5 -7 slides
  • about 10 minutes
  • starting on January 21 (Setup the schedule)
  • actively involve class discussion section
  • Fred Brooks
  • 1964 Became the manager for Operating System/
    360 for IBM
  • Previous experience was in hardware design (1956-
    1963)

13
Essay Presentation The Mythical Man-Month
  • OS/ 360 was late, took more memory than was
    planned, costs were several times the estimate,
    and it did not perform very well until several
    releases after the first.
  • The book is the result of analyzing the OS/ 360
    experience
  • What were the management and technical lessons to
    be learned?
  • Why was the process different from the 360
    hardware development effort?

14
Course Requirements
  • This course requires heavy load of work.
  • Class survey (1999)
  • Compute the average time spent for cs451 related
    activities (hrs/week) average 3hrs/day
  • Individual work 12 hrs.
  • Project Related work
    12 hrs.
  • designing/coding/learning skills
  • meeting communication
  • updating web-materials

15
Why Software Engineering?
  • ...to get away from ad hoc and unpredictable
    software development towards a systematic,
    understood one...

16
Management Myths
  • State-of-the-art tools are the solution
  • A fool with a tool is still a fool
  • Getting behind schedule resolved by hiring
    additional programmers
  • adding people to a late software project makes
    it later

17
Management myths
18
Customer Myths
  • A general statement of objectives is sufficient
    to begin writing programs - we can fill in
    details later.
  • Thorough communication between customer and
    developer needed
  • Changes can be easily accommodated because
    software is flexible
  • changes happen as a fact of life
  • late changes are expensive

19
The Impact of Change
Cost to change
20
Practitioners Myths
  • Once we write a program and get it to work, our
    job is done
  • 50-70 of all effort after first delivery
  • Until I get the program running, I really have
    no way in assessing its quality
  • inspections reviews
  • The only deliverable for a successful project is
    the working program
  • documentation (users, maintenance)

21
Characteristics of Todays Software Development
  • Development of large complex systems
  • Software systems must fulfill the requirements of
    a client
  • Number of persons involved in the development gt
    1
  • Software systems are expected to live long and be
    used by many people

22
What are the Problems?
  • Increased quality demands on software products
  • High cost and time pressure
  • Shorter time to market
  • Coordination problems within the projects
  • Scarce resources

23
The Software Crisis and Solution
  • 1968 NATO conference in Garmisch-Partenkirchen
  • software crisis (to characterize the situation)
  • software engineering (idea for a solution)

24
Why still Software Engineering?
  • Has the software crisis vanished?
  • No!
  • Software projects still run over time and out of
    budget
  • no break through in quality !!!still art
    instead of engineering discipline

25
Software Crisis?
  • Unacceptably low quality of software
  • Delayed deadlines Average 1 year
  • Over cost limits Average 2X estimate
  • E.g. Air Force Command and Control system
  • Initial estimate
  • 1.5million
  • Winners bid
  • 0.4 million
  • Actual cost
  • 3.7 million
  • After deliver?
  • E.g. U.S Army study of
  • Federal projects
  • Delivered, but not used 47
  • Paid for, but not delivered 29
  • Abandoned or reworked 19
  • Used after changes 3
  • Used as delivered
  • 2

26
Practical Disasters
  • European Space Agency Ariane 5
  • Track control system failure results in self
    destruction
  • Denver Airport
  • Late delivery of software for the baggage system
    delays the opening of the airport by 16 months
  • US study (1995) 81 billion US spend per year
    for failing software development projects

27
Why is Software so Hard?
  • Software is Parnas, 1985
  • Buggy
  • Unreliable
  • Forever changing
  • Unwarrantable

28
Definition Software Engineering
  • Software Engineering (1) The application of a
    systematic, disciplined, quantifiable approach to
    the development, operation, and maintenance of
    software that is, the application of engineering
    to software. (2) The study of approaches as in
    (1) IEEE-93

29
Three Ps
People
Processes
Products
30
People, Processes, Products
  • People
  • education
  • skills
  • communication
  • style
  • .....
  • Products
  • requirements
  • design
  • source code
  • executable
  • user documentation
  • test cases
  • test results
  • change request
  • ....
  • Processes
  • planning
  • coordination
  • management
  • measuring
  • analyzing
  • designing
  • coding
  • .....

31
Scope Software Engineering
  • various disciplines
  • Mathematics,
  • Computer science,
  • Economics,
  • Management,
  • Psychology
  • etc.
  • extremely broad
  • the software life cycle
  • team or organization
  • economic aspect
  • legal aspect,
  • etc.

32
For next class
  • Object Orientation
  • Object?
  • Object Oriented Programming (JAVA)
  • Read lecture note before the class (class website)
Write a Comment
User Comments (0)
About PowerShow.com