CS327: Software Engineering - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

CS327: Software Engineering

Description:

Hamlet and Maybe, 'The Engineering of Software: A Technical ... Martin Fowler, Kendall Scott, 'UML Distilled' Alistair Cockburn, 'Writing Effective Use Cases' ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 20
Provided by: RalphEJ
Category:

less

Transcript and Presenter's Notes

Title: CS327: Software Engineering


1
CS327 Software Engineering
2
Personnel
  • Ralph Johnson
  • Jason Skowronski
  • Charles Ellison

3
Texts
  • Hamlet and Maybe, The Engineering of Software A
    Technical Guide for the Individual
  • Martin Fowler, Kendall Scott, UML Distilled
  • Alistair Cockburn, Writing Effective Use Cases

4
What is S.E.?
  • Not a process!
  • The establishment and use of sound engineering
    principles in order to obtain economically
    software that is reliable and works efficiently
    on real machines.
  • The application of a systematic, disciplined,
    quantifiable approach to the development,
    operation, and maintenance of software.

5
Developing Software
  • Product
  • CS423, CS426
  • Process
  • CS225, CS427

6
Activities in the process
  • 427
  • requirements, architecture, design, management
  • 428
  • metrics, configuration management, testing,
    debugging, reverse engineering

7
Axis of variability
  • Size
  • How humans interact with it
  • Requirements stability/knowledge
  • Need for reliability
  • Need for security
  • Portability
  • Cost

8
Microsoft Word
  • Size large
  • Interactiveness high
  • Requirements frequent new features
  • Reliability moderate
  • Security low
  • Portability high
  • Cost high

9
Space shuttle software
  • Size large
  • Interactiveness low
  • Requirements stable
  • Reliability very high
  • Security low
  • Portability low
  • Cost high

10
eBay software
  • Size moderate
  • Interactiveness high
  • Requirements frequent new features
  • Reliability moderate
  • Security high
  • Portability low
  • Cost low

11
Software Process
  • Pressman a framework for the tasks that are
    required to build high-quality software.
  • IEEE 1074 a set of activities performed towards
    a specific purpose
  • Johnson the steps a particular group follows to
    develop software

12
IEEE 1074
  • Project Management
  • project initiation
  • project monitoring and control
  • software quality management
  • Development
  • requirements
  • design
  • implementation

13
IEEE 1074
  • Post-development
  • installation
  • operation and support
  • maintenance
  • retirement
  • Integral processes
  • verification and validation
  • software configuration management
  • documentation development

14
Defined processes
  • Rational Unified Process
  • OO
  • Incremental
  • Commercial, popular
  • eXtreme Programming
  • Used mostly by OO developers, not OO
  • Incremental
  • Counterculture, popular

15
More books
  • The Rational Unified Process Made Easy A
    Practitioners Guide by Per Kroll and Philippe
    Kruchten
  • eXtreme Programming Explained by Kent Beck

16
Lots of papers!
  • Classics
  • Latest ideas
  • Lots of easy reading
  • The books and papers WILL be on the exams.

17
Purpose of course
  • Be able to follow your projects process
  • Be able to improve your process
  • Be able to choose the right process for your
    project

18
Project
  • Group project - 8 people
  • Various topics
  • Opportunity to practice
  • Need to start thinking about projects now
  • See http//wiki.cs.uiuc.edu/SEcourse/ Homework1

19
Next RUP
  • Read chapter 1 of Hamlet and Maybe.
  • Scan first 80 pages of Kroll and Kruchten if you
    have it, or spend a few hours at
  • http//www-306.ibm.com/software/
    awdtools/rup/features/index.html
Write a Comment
User Comments (0)
About PowerShow.com