Lecture 14

advertisement
Software Engineering,
CPSC-4360-01, CPSC-5360-01,
Lecture 14
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
1
Review of Last Lecture

Professional Ethics, Responsibilities, and Social
Implications


Sara Baase: “From A Gift of Fire”, Second Edition,
2003, Prentice Hall.
American ACM/IEEE Computing Curriculum

http://www.computer.org/education/cc2001/index.htm
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
2
Overview of This Lecture

Summary of CPSC-4360-01 and CPSC-5360-01



Software Engineering Overview
Software Development Process
Software Development Model


Unified Process (UML as a support tool)
Information about the CPSC-4360-01 and
CPSC-5360-01 modules exam.
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
3
The Nature of Software

Intangible



Easy to Reproduce


Opposite of physical artifacts. E.g. Computer vs
Windows XP, IPod vs ITunes.
Hard to understand the development process.
Costly design and construction, cheap
manufacturing.
Malleable


4/13/2015
Easy to change, even without full understanding.
Untrained people can “hack” something together.
CPSC-4360-01, CPSC-5360-01, Lecture 14
4
Quality of Good Software

Usability


Efficiency


Reliable, secure and safe
Maintainability


Does not waste resources such as CPU time and memory
Dependability


Easy to learn and use
Easily evolved (modified) to meet changing requirement
Reusability

4/13/2015
Parts can be reused, with minor or no modification
CPSC-4360-01, CPSC-5360-01, Lecture 14
5
Software Development Problems

“Software is not constrained by materials, or
governed by physical laws, or by
manufacturing process” ---- (Sommerville
Software Engineering).

Allows almost unbounded complexity

4/13/2015
Exponential growth of complexity w.r.t the size of
a program: twice the size, four times the
complexity.
CPSC-4360-01, CPSC-5360-01, Lecture 14
6
Software Development Problems

Difficulty in understanding and managing the
complexity causes:

Late completion:


Overrunning Cost:




4/13/2015
“vaporware” that are announced but never produced
Denver Airport Automated Baggage System, 2 billions
US dollar over budget
Unreliable
Difficult to maintain
Etc…
CPSC-4360-01, CPSC-5360-01, Lecture 14
7
Software Engineering is
IEEE Standard 610.12:
 The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software,
that is, the application of engineering to
software.

The study of approaches as in (1)
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
8
Software Process


The set of activities and associated results
that produce a software product.
Four fundamental process activities:





Software Specification
Software Development
Software Validation
Software Evolution
Can be organized in different ways, described
at varying level of details → different software
development process models.
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
9
Software Process Stages
Requirement
Specification
Analysis
Development
Design
Validation
Implement
Test

Evolution
The mapping between the common development
stages with the four general process stages.
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
10
Unified Process

State of the art process, by learning from the history
of software development process.
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
11
Phases in Unified Process




Inception:
 Define the scope of the project and develop business case
 Concentrate on Business Modeling and Requirement Gathering
Elaboration:
 Plan project, specify features, and baseline the architecture
 Concentrate on Analysis and Design
Construction:

Build the product
 Concentrate on Implementation and Testing
Transition:
 Transfer the product to its users
 Concentrate on Deployment
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
12
Iterations within Phase

Each iteration within the phase passes through all the
workflow (activities):



Requirement, Analysis, Design, Implementation, Test
With different emphasis on the workflow activity according to
the phase.
Each iteration should result in a executable release


4/13/2015
Special Case:
 In the Inception Phase, a single release is usually
produced at the end of the Phase instead of each iteration
Early releases serve as prototype which provide feedback to
later iterations.
CPSC-4360-01, CPSC-5360-01, Lecture 14
13
Unified Process and UML

UP is Use Case Driven:



A systematic utilization of Use Case
UML diagrams are used in the Requirement,
Analysis and Design activities in the UP
workflow.
Because of their history, there is a close fit
between UML and the UP.
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
14
Information about the CS2103 module

CPSC-4360-01 and CPSC-5360-01 are 3 credit
points modules

Midterm exam: 20%

CPSC-4360-01:


CPSC-5360-01:



4/13/2015
Project: 30% (10% - Analysis & Design – Report, 20% Implementation & Test – Demonstration)
Project: 15% (5% - Analysis & Design – Report, 10% Implementation & Test – Demonstration)
Paper Presentation: 15%
Written final exam: 50%
CPSC-4360-01, CPSC-5360-01, Lecture 14
15
Information about the CPSC-4360-01
and CPSC-5360-01 modules






Open-book, but not open-laptop
Slides: clear + complete (reminder, summary,
definitions, examples, history, motivation, industrial
impact, research ideas, comparison with other
languages, sometimes jokes, reading suggestions).
Project
Quiz 1
Tutorials + Consultation + Email
Encourage the Tutorial activities.
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
16
Instructions to Candidates
1. This examination paper consists of TEN
(10) questions and comprises fifteen (15)
printed pages. Answer ALL questions.
2. Write your answers in the blank spaces in
this answer book only.
3. This is an open-book examination. You may
bring in any reasonable amount of related
materials.
 Note: The first question has embedded 10
MCQs.
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
17
Reading and Understanding Suggestions





Lectures 1-13
Mid-Term Exam, which covered Lectures 1-7
Tutorials 1-10
Chapters 1-14 of [Priestley; 2004]
Chapters 1 to 9 from [Bimlesh, Andrei, Soo;
2007]
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
18
Summary

Summary of CPSC-4360-01 and CPSC-536001:



Software Engineering Overview
Software Development Process
Software Development Model


Unified Process (UML as a support tool)
Information about the CPSC-4360-01 and
CPSC-5360-01 modules exam
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
19
Thank you for your attention!
Good luck to the CPSC-4360-01 and
CPSC-5360-01 exam!
Questions?
4/13/2015
CPSC-4360-01, CPSC-5360-01, Lecture 14
20
Download