CS327: Software EngineeringPersonnelTextsWhat is S.E.?Developing SoftwareActivities in the processAxis of variabilityMicrosoft WordSpace shuttle softwareeBay softwareSoftware ProcessIEEE 1074Slide 13Defined processesMore booksLots of papers!Purpose of courseProjectNext: RUP1CS327: Software Engineering1-2PersonnelRalph JohnsonJason SkowronskiCharles Ellison1-3TextsHamlet and Maybe, “The Engineering of Software: A Technical Guide for the Individual”Martin Fowler, Kendall Scott, “UML Distilled”Alistair Cockburn, “Writing Effective Use Cases”1-4What is S.E.?Not a process!The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.1-5Developing SoftwareProductCS423, CS426ProcessCS225, CS4271-6Activities in the process427requirements, architecture, design, management428metrics, configuration management, testing, debugging, reverse engineering1-7Axis of variabilitySizeHow humans interact with itRequirements stability/knowledgeNeed for reliabilityNeed for securityPortabilityCost1-8Microsoft WordSize: largeInteractiveness: highRequirements: frequent new featuresReliability: moderateSecurity: lowPortability: highCost: high1-9Space shuttle softwareSize: largeInteractiveness: lowRequirements: stableReliability: very highSecurity: lowPortability: lowCost: high1-10eBay softwareSize: moderateInteractiveness: highRequirements: frequent new featuresReliability: moderateSecurity: highPortability: lowCost: low1-11Software ProcessPressman: a framework for the tasks that are required to build high-quality software.IEEE 1074: a set of activities performed towards a specific purposeJohnson: the steps a particular group follows to develop software1-12IEEE 1074Project Managementproject initiationproject monitoring and controlsoftware quality managementDevelopmentrequirementsdesignimplementation1-13IEEE 1074Post-developmentinstallationoperation and supportmaintenanceretirementIntegral processesverification and validationsoftware configuration managementdocumentation development1-14Defined processesRational Unified ProcessOOIncrementalCommercial, populareXtreme ProgrammingUsed mostly by OO developers, not OOIncrementalCounterculture, popular1-15More booksThe Rational Unified Process Made Easy: A Practitioner’s Guide by Per Kroll and Philippe KruchteneXtreme Programming Explained by Kent Beck1-16Lots of papers!ClassicsLatest ideasLots of easy readingThe books and papers WILL be on the exams.1-17Purpose of courseBe able to follow your project’s processBe able to improve your processBe able to choose the right process for your project1-18ProjectGroup project - 8 peopleVarious topicsOpportunity to practiceNeed to start thinking about projects nowSee http://wiki.cs.uiuc.edu/SEcourse/ Homework+11-19Next: RUPRead chapter 1 of Hamlet and Maybe.Scan first 80 pages of Kroll and Kruchten if you have it, or spend a few hours athttp://www-306.ibm.com/software/
View Full Document