Software Engineering CPSC4360 01 CPSC5360 01 Lecture 14




















- Slides: 20

Software Engineering, CPSC-4360 -01, CPSC-5360 -01, Lecture 14 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 1

Review of Last Lecture n Professional Ethics, Responsibilities, and Social Implications q n Sara Baase: “From A Gift of Fire”, Second Edition, 2003, Prentice Hall. American ACM/IEEE Computing Curriculum q http: //www. computer. org/education/cc 2001/index. htm 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 2

Overview of This Lecture n Summary of CPSC-4360 -01 and CPSC-5360 -01 q q q Software Engineering Overview Software Development Process Software Development Model n n Unified Process (UML as a support tool) Information about the CPSC-4360 -01 and CPSC 5360 -01 modules exam. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 3

The Nature of Software n Intangible q q n Easy to Reproduce q n 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 q q 10/2/2020 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 n Usability q n Efficiency q n Reliable, secure and safe Maintainability q n Does not waste resources such as CPU time and memory Dependability q n Easy to learn and use Easily evolved (modified) to meet changing requirement Reusability q Parts can be reused, with minor or no modification 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 5

Software Development Problems n “Software is not constrained by materials, or governed by physical laws, or by manufacturing process” ---- (Sommerville Software Engineering). n Allows almost unbounded complexity q Exponential growth of complexity w. r. t the size of a program: twice the size, four times the complexity. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 6

Software Development Problems n Difficulty in understanding and managing the complexity causes: q Late completion: n q Overrunning Cost: n q q q “vaporware” that are announced but never produced Denver Airport Automated Baggage System, 2 billions US dollar over budget Unreliable Difficult to maintain Etc… 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 7

Software Engineering is IEEE Standard 610. 12: n The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software. n The study of approaches as in (1) 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 8

Software Process n n The set of activities and associated results that produce a software product. Four fundamental process activities: q q n 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. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 9

Software Process Stages Requirement Specification Analysis Development Design Validation Implement Test n Evolution The mapping between the common development stages with the four general process stages. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 10

Unified Process n State of the art process, by learning from the history of software development process. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 11

Phases in Unified Process n n Inception: q Define the scope of the project and develop business case q Concentrate on Business Modeling and Requirement Gathering Elaboration: q Plan project, specify features, and baseline the architecture q Concentrate on Analysis and Design Construction: q Build the product q Concentrate on Implementation and Testing Transition: q Transfer the product to its users q Concentrate on Deployment 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 12

Iterations within Phase n Each iteration within the phase passes through all the workflow (activities): q q n Requirement, Analysis, Design, Implementation, Test With different emphasis on the workflow activity according to the phase. Each iteration should result in a executable release q q Special Case: n 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. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 13

Unified Process and UML n UP is Use Case Driven: q n n 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. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 14

Information about the CS 2103 module n CPSC-4360 -01 and CPSC-5360 -01 are 3 credit points modules q Midterm exam: 20% q CPSC-4360 -01: n q CPSC-5360 -01: n n q 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% 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 15

Information about the CPSC-436001 and CPSC-5360 -01 modules n n n 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. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 16

Instructions to Candidates 1. 2. 3. n This examination paper consists of TEN (10) questions and comprises fifteen (15) printed pages. Answer ALL questions. Write your answers in the blank spaces in this answer book only. This is an open-book examination. You may bring in any reasonable amount of related materials. Note: The first question has embedded 10 MCQs. 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 17

Reading and Understanding Suggestions n n n 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] 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 18

Summary n Summary of CPSC-4360 -01 and CPSC-536001: q q q Software Engineering Overview Software Development Process Software Development Model n n Unified Process (UML as a support tool) Information about the CPSC-4360 -01 and CPSC-5360 -01 modules exam 10/2/2020 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? 10/2/2020 CPSC-4360 -01, CPSC-5360 -01, Lecture 14 20