University of California, Irvine ICS 52: Introduction to Software Engineering Fall Quarter 2001 Professor Richard N. Taylor Lecture Notes http://www.ics.uci.edu/~taylor/ics52_fq01/syllabus.html Copyright 2001, Richard N. Taylor. Duplication of course material for any commercial purpose without written permission is prohibited.
25
Embed
ICS 52: Introduction to Software Engineeringtaylor/ics52_fq01/1.pdf · Engineering, Management, Human Factors ... Management: organizing teams, directing activities, ... Phasing of
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
University of California, Irvine
ICS 52: Introduction to SoftwareEngineeringFall Quarter 2001
–" Fitting you to become anamateur software engineer"
(See course website for definitive list)
University of California, Irvine
Introduction
�Context�Matters of scale�Distribution of software costs�Differences from programming�Product and process�Elements of Science, Engineering, Management,
and Human Factors
University of California, Irvine
Context
Programming Engineering
Huge projectTeams
Build what they wantFamily of products
Many parallel changesLong-lived
Costly
Large consequences
Small projectYou
Build what you wantOne product
Few sequential changesShort-livedCheap
Small consequences
University of California, Irvine
Matters of Scale
� High powered techniques not appropriate for all problems (Using an elephant gun tokill a fly)
� The ICS 52 pedagogical problem:
– the problem must be small enough to complete in 10 weeks
– you work on the project by yourself– you don't have to live with the consequences of your decisions– your customers are too reasonable
University of California, Irvine
Distribution of Software Costs
Slides: Stephen R. Schach, Software Engineering, 2nd Edition Aksen Associations
University of California, Irvine
Differences from Programming
�Software engineering includes, e.g..:–determining what to build–organizing teams to cooperatively buildsystems;
–analysis and testing–lifecycle system engineering–software architecture
University of California, Irvine
Product and Process
�Which is the more important corporate asset:products or development processes?–Products: the only thing that brings in revenue–Process: the only thing you retain
»The asset that distinguishes you from yourcompetitor en route to a product
»The asset that gets you to your next product»The asset that determines key properties of your
products
University of California, Irvine
Science,Engineering, Management, Human Factors
�Science: empirical studies; theories characterizingaggregate system behavior (e.g. reliability)
Defined (3)Peer reviewsIntergroup coordinationSoftware product engineeringIntegrated software managementTraining programOrganization process definitionOrganization process focus
Managed (4)Software quality managementQuantitative process management