10/23/2015cpsc-4360-01, cpsc-5360-01, lecture 141 software engineering, cpsc-4360-01, cpsc-5360-01,...
TRANSCRIPT
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 1
Software Engineering, CPSC-4360-01, CPSC-5360-01, Lecture 14
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 2
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
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 3
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.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 4
The Nature of Software Intangible
Opposite of physical artifacts. E.g. Computer vs Windows XP, IPod vs ITunes.
Hard to understand the development process. Easy to Reproduce
Costly design and construction, cheap manufacturing.
Malleable Easy to change, even without full understanding. Untrained people can “hack” something together.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 5
Quality of Good Software Usability
Easy to learn and use Efficiency
Does not waste resources such as CPU time and memory Dependability
Reliable, secure and safe Maintainability
Easily evolved (modified) to meet changing requirement Reusability
Parts can be reused, with minor or no modification
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 6
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 Exponential growth of complexity w.r.t the size of
a program: twice the size, four times the complexity.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 7
Software Development Problems Difficulty in understanding and managing the
complexity causes: Late completion:
“vaporware” that are announced but never produced Overrunning Cost:
Denver Airport Automated Baggage System, 2 billions US dollar over budget
Unreliable Difficult to maintain Etc…
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 8
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)
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 9
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.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 10
Software Process Stages
Requirement
Analysis
Design
Implement
Test
Specification
Development
Validation
Evolution
The mapping between the common development stages with the four general process stages.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 11
Unified Process
State of the art process, by learning from the history of software development process.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 12
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
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 13
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
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.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 14
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.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 15
Information about the CS2103 module CPSC-4360-01 and CPSC-5360-01 are 3 credit
points modules Midterm exam: 20% CPSC-4360-01:
Project: 30% (10% - Analysis & Design – Report, 20% - Implementation & Test – Demonstration)
CPSC-5360-01: Project: 15% (5% - Analysis & Design – Report, 10% -
Implementation & Test – Demonstration) Paper Presentation: 15%
Written final exam: 50%
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 16
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.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 17
Instructions to Candidates1. 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.
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 18
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]
04/20/23CPSC-4360-01, CPSC-5360-01,
Lecture 14 19
Summary
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