Escolar Documentos
Profissional Documentos
Cultura Documentos
Software Engineering
Lecture 01 Welcome!
Introduction and Administration
2 UTSA CS5103
1
Grading Scheme Course Textbooks
¾ Midterm: 20% ¾ Jim Arlow and Ila Neustadt, “UML 2 and the Unified
¾ Final: 20% Process: Practical Object-Oriented Analysis and Design”,
¾ Projects and assignments: 50% 2nd Edition, Addison-Wesley, 2005. (Required)
¾ Paper presentation and participation: 10%
2
What Is Software What Is Software Engineering
¾ Attribute of good software ¾ [Software engineering is] the establishment and use of
– Dependability sound engineering principles in order to obtain economically
availability, reliability, security, and safety software that is reliable and works efficiently on real
– Efficiency machines
processing time, memory utilization, responsiveness, by Prof. Fritz Bauer at the 1968 NATO conference on software
technology, in Garmisch, Germany.
– Usability
appropriate user interface and adequate documentation
¾ In short, software engineering is about developing quality
software in a predictable way.
– Maintainability
ease of change ¾ Key phrases: engineering discipline, all aspects of software
production
¾ Software engineering is a discipline that ¾ Software process is a set of activities used for the
integrates development of software systems
– Process – Communication
provides a framework for software development – Planning
– Methods – Modeling
provide “how to’s” for building software – Construction
– Tools – Deployment
provide automated or semi-automated support for the process
and the methods
3
Software Process Software Process Models
Testing
15 UTSA CS5103 16 UTSA CS5103
4
The Incremental Model The Incremental Model
Design and ¾ Still has the problem of having to elicit all the requirements
implement up front
Test
Formalize
requirements
Design and
implementation
19 Testing 20
UTSA CS5103 UTSA CS5103
5
The Iterative Model Iterative Model
The Rational Unified Process Model The Rational Unified Process Model
6
The Rational Unified Process Model Software Process Models
¾ It is a hybrid process model ¾ Every software development group has its own process
– Elements from different models
model(s)
– Iteration in each phase and in the whole process ¾ They vary along several dimensions:
– Formal vs. ad hoc
¾ It supports multiple views
– Sequential vs. concurrent
– Dynamic view
– Lots vs. little documentation
– Static view
– …
– Practice view
¾ Requirements gathering spreading out over the
iterations
Reading Assignments
¾ Sommerville’s Book
– Chapter 1, “Introduction”
– Chapter 4, “Software Process”
27 UTSA CS5103