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

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

Embed Size (px)

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

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Software Engineering, CPSC-4360-01, CPSC-5360-01, Lecture 14

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Review of Last LectureProfessional Ethics, Responsibilities, and Social ImplicationsSara Baase: From A Gift of Fire, Second Edition, 2003, Prentice Hall.American ACM/IEEE Computing Curriculum http://www.computer.org/education/cc2001/index.htm

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Overview of This LectureSummary of CPSC-4360-01 and CPSC-5360-01Software Engineering OverviewSoftware Development ProcessSoftware Development ModelUnified Process (UML as a support tool)Information about the CPSC-4360-01 and CPSC-5360-01 modules exam.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*The Nature of SoftwareIntangibleOpposite of physical artifacts. E.g. Computer vs Windows XP, IPod vs ITunes.Hard to understand the development process.Easy to ReproduceCostly design and construction, cheap manufacturing.MalleableEasy to change, even without full understanding.Untrained people can hack something together.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Quality of Good SoftwareUsabilityEasy to learn and useEfficiencyDoes not waste resources such as CPU time and memoryDependabilityReliable, secure and safeMaintainabilityEasily evolved (modified) to meet changing requirementReusabilityParts can be reused, with minor or no modification

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Software Development ProblemsSoftware is not constrained by materials, or governed by physical laws, or by manufacturing process ---- (Sommerville Software Engineering).

    Allows almost unbounded complexityExponential 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

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Software Development ProblemsDifficulty in understanding and managing the complexity causes:Late completion:vaporware that are announced but never producedOverrunning Cost:Denver Airport Automated Baggage System, 2 billions US dollar over budgetUnreliableDifficult to maintainEtc

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Software Engineering isIEEE 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)

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Software ProcessThe set of activities and associated results that produce a software product.Four fundamental process activities:Software SpecificationSoftware DevelopmentSoftware ValidationSoftware EvolutionCan be organized in different ways, described at varying level of details different software development process models.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Software Process StagesThe mapping between the common development stages with the four general process stages.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Unified ProcessState of the art process, by learning from the history of software development process.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Phases in Unified Process Inception:Define the scope of the project and develop business caseConcentrate on Business Modeling and Requirement Gathering Elaboration: Plan project, specify features, and baseline the architectureConcentrate on Analysis and Design Construction: Build the productConcentrate on Implementation and Testing Transition:Transfer the product to its usersConcentrate on Deployment

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Iterations within PhaseEach iteration within the phase passes through all the workflow (activities):Requirement, Analysis, Design, Implementation, TestWith 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 iterationEarly releases serve as prototype which provide feedback to later iterations.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Unified Process and UMLUP 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.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Information about the CS2103 moduleCPSC-4360-01 and CPSC-5360-01 are 3 credit points modulesMidterm 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%

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Information about the CPSC-4360-01 and CPSC-5360-01 modulesOpen-book, but not open-laptopSlides: clear + complete (reminder, summary, definitions, examples, history, motivation, industrial impact, research ideas, comparison with other languages, sometimes jokes, reading suggestions).ProjectQuiz 1Tutorials + Consultation + EmailEncourage the Tutorial activities.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Instructions to CandidatesThis 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.

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Reading and Understanding SuggestionsLectures 1-13 Mid-Term Exam, which covered Lectures 1-7Tutorials 1-10Chapters 1-14 of [Priestley; 2004]Chapters 1 to 9 from [Bimlesh, Andrei, Soo; 2007]

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*SummarySummary of CPSC-4360-01 and CPSC-5360-01:Software Engineering OverviewSoftware Development ProcessSoftware Development ModelUnified Process (UML as a support tool)Information about the CPSC-4360-01 and CPSC-5360-01 modules exam

    CPSC-4360-01, CPSC-5360-01, Lecture 14

  • *CPSC-4360-01, CPSC-5360-01, Lecture 14*Thank you for your attention!

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

    Questions?

    CPSC-4360-01, CPSC-5360-01, Lecture 14

    ****************Sorry for any inconvenience caused by my two trips, but Ill be here on December 5!****