These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 20051WVU, LCSEEWVU, LCSEECS 430CS 430Fall 2004Fall 2004copyright © 1996, 2001, 2005R.S. Pressman & Associates, Inc.For University Use OnlyMay be reproduced ONLY for student use at the university levelwhen used in conjunction with Software Engineering: A Practitioner's Approach.Any other reproduction or use is expressly prohibited.These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 20052What is What is ““PracticePractice””??Practice is a broad array of concepts, principles, Practice is a broad array of concepts, principles, methods, and toolsmethods, and toolsthat you must consider as software is that you must consider as software is planned and developed.planned and developed.It represents the detailsIt represents the details——the technical considerations the technical considerations and howand howtoto’’ss——that are below the surface of the software that are below the surface of the software processprocess——the things that youthe things that you’’ll need to actually build ll need to actually build highhigh--quality computer software.quality computer software.These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 20053The Essence of PracticeThe Essence of PracticeGeorge George PolyaPolya, in a book written in 1945 (!), describes the , in a book written in 1945 (!), describes the essence of software engineering practice essence of software engineering practice ……Understand the problemUnderstand the problem(communication and analysis).(communication and analysis).Who are stakeholders? What are unknowns (data, featuresWho are stakeholders? What are unknowns (data, features……)?)?Plan a solutionPlan a solution(modeling and software design).(modeling and software design).Has a similar problem been solved? Can Has a similar problem been solved? Can subproblems subproblems be defined?be defined?Carry out the planCarry out the plan(code generation).(code generation).Does the solution confirm to the plan? Is each component correctDoes the solution confirm to the plan? Is each component correct??Examine the result for accuracyExamine the result for accuracy(testing and quality assurance).(testing and quality assurance).Can components be tested? Do solutions conform with expectationsCan components be tested? Do solutions conform with expectations??At its core, good practice is At its core, good practice is commoncommon--sense problem sense problem solvingsolvingThese courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 20054Core Software Engineering Core Software Engineering PrinciplesPrinciplesProvide value to the customer and the userProvide value to the customer and the userIs this valuable to potential users?Is this valuable to potential users?KIS(S)KIS(S)——keep it simple (stupid)!keep it simple (stupid)!Maintain the product and project Maintain the product and project ““visionvision””No patchwork design.No patchwork design.What you produce, others will consumeWhat you produce, others will consumeBe open to the futureBe open to the futurePlan ahead for reusePlan ahead for reuseThink!Think!These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 20055Software Engineering Software Engineering PracticesPracticesConsider the generic process frameworkConsider the generic process frameworkCommunicationCommunicationPlanningPlanningModelingModelingConstructionConstructionDeploymentDeploymentHere, weHere, we’’ll identifyll identifyUnderlying principlesUnderlying principlesHow to initiate the practiceHow to initiate the practiceAn abbreviated task setAn abbreviated task setThese courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 20056Communication PracticesCommunication PracticesPrinciplesPrinciplesListenListenPrepare before you communicatePrepare before you communicateFacilitate the communicationFacilitate the communicationFaceFace--toto--face is bestface is bestTake notes and document decisionsTake notes and document decisionsCollaborate with the customerCollaborate with the customerStay focusedStay focusedDraw pictures when things are unclearDraw pictures when things are unclearMove on Move on ……If you agree, disagree, clear or unclearIf you agree, disagree, clear or unclearNegotiation works best when both parties win.Negotiation works best when both parties win.These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 20057Communication PracticesCommunication PracticesInitiationInitiationThe parties should be physically close to one anotherThe parties should be physically close to one anotherMake sure communication is interactiveMake sure communication is interactiveCreate solid team Create solid team ““ecosystemsecosystems””Use the right team structureUse the right team structureAn abbreviated task setAn abbreviated task setIdentify who it is you need to speak withIdentify who it is you need to speak withDefine the best mechanism for communicationDefine the best mechanism for communicationEstablish overall goals and objectives and define the scopeEstablish overall goals and objectives and define
View Full Document