What is Software Engineering - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

What is Software Engineering

Description:

What are the characteristics of software that make it both vital ... be maintained over time? ... Defect Tracking Against Quality Targets. Separate ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 16
Provided by: richardu
Category:

less

Transcript and Presenter's Notes

Title: What is Software Engineering


1
What is Software Engineering?
2
Overview
  • To frame our discussion, consider
  • What perspectives of software development best
    capture the nature of the activity?
  • What are the characteristics of software that
    make it both vital and problematic?
  • What are the characteristics of software
    engineering as a discipline?

3
Outline
  • History Lesson
  • Disciplinary Evolution
  • Software Development
  • Process and Product Views
  • Concerns
  • Factors to Consider

4
History
5
Disciplinary Evolution
6
Codification of Practice
7
Current Activity
  • SWEBOK
  • http//www.swebok.org/
  • ACM and IEEE-CS Project
  • to develop the Computing Curricula Software
    Engineering Volume (CCSE)
  • Certification
  • Certified software development professional -
    http//www.computer.org/certification/

8
Definition
  • The application of a systematic, disciplined,
    quantifiable approach to the development,
    operation and maintenance of software.
  • (IEEE 610.12, 1991)

9
Software Development (1)
Customer Driven
Customer
Needs
User
contract
Needs
System
Developer
From Pfleeger Software Engineering Theory and
Practice.
10
Software Development (2)
Market Driven
Customer/User
Customer/User
Customer/User
Needs
System
11
Process and Product (1)
  • In thinking about the process of developing
    software, we must consider
  • Who is involved? What roles do individuals have?
  • How many individuals are involved?
  • What are the tasks? How are tasks
    allocated to people?
  • What are the characteristics of those engaged in
    a given task?
  • Is the a match between the characteristics
    of the individual and the task?
  • How is the process managed, coordinated,
    controlled?
  • What are the work products produced during
    development?
  • How long do the various tasks take? How do
    we know a task is complete?
  • Are there tasks that can be performed
    concurrently?
  • What communications support is required?

12
Process and Product (2)
  • In thinking about the product resulting from the
    development activity, we must consider
  • What is the functionality provided?
  • What are the intended use(s) of the
    product?
  • What expectations does the customer have
    for the product?
  • Is the product operating reasonably in the
    use environment?
  • What considerations are there for system
    reliability?
  • How will the product be maintained over
    time?
  • What performance characteristics do the
    various functions need?
  • How does the system interface with the
    users?
  • Are the resources involved with system use
    being used wisely?
  • How many defects are present in the
    product?
  • What quality attributes have been assigned
    to this product?
  • How should quality attributes be quantified?

13
Best Practices
Formal Risk Management Users Manual as
Specification Inspections and Reviews Metrics-Base
d Scheduling Binary Quality Gates at the
Inch-Pebble Level Program-Wide Visibility of
Progress Defect Tracking Against Quality
Targets Separate Specification for
HW/SW Configuration Management People-Aware
Management Accountability
14
Concerns
  • 1. Programming-in-the-large where multi-person
    teams work for several years specifying and
    implementing a system.
  • 2. The systems of today are not programs, they
    are collections of programs possibly written in a
    variety of languages running on a variety of
    platforms.
  • 3. Software development requires the
    collaboration and communication of individuals
    that may be separated by time and space.
  • 4. The efficiency with which the software is
    produced is as important as the efficiency of the
    product itself.
  • 5. Solving the right problem!

15
Factors
  • People
  • Process
  • Product
  • Project
  • Problem
Write a Comment
User Comments (0)
About PowerShow.com