10/23/2015CPSC-4360-01, CPSC-5360-01, Lecture 141 Software Engineering, CPSC-4360-01, CPSC-5360-01,...

20
03/13/22 CPSC-4360-01, CPSC-5360-01, Lecture 14 1 Software Engineering, CPSC-4360-01, CPSC-5360- 01, Lecture 14

Transcript of 10/23/2015CPSC-4360-01, CPSC-5360-01, Lecture 141 Software Engineering, CPSC-4360-01, CPSC-5360-01,...

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

04/20/23CPSC-4360-01, CPSC-5360-01,

Lecture 14 20

Thank you for your attention!

Good luck to the CPSC-4360-01 and CPSC-5360-01 exam!

Questions?