Web Technologies and Programming Lecture 02
Development Process model
software development process activities
conventional software development approaches
Requirement for a web development process model
Rational unified process model (RUP)
suitability for web application development
Project management
Responsibilities/tasks of a Project manager
Planning
Risk management
People management
Reporting
Proposal writing
Traditional vs. web engineering
62 trang |
Chia sẻ: hoant3298 | Lượt xem: 578 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Web Technologies and Programming Lecture 02, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Web Technologies and ProgrammingLecture 02 2The web application development process3Web Project ManagementSummary of the last lectureWeb engineering extends Software Engineering to Web applicationsWhy web engineering?Web applicationsCategories of web applicationsCharacteristics of web applications4Outline5Development Process modelsoftware development process activitiesRequirement for a web development process modelRational unified process model (RUP)A modern process model derived from the work on the UML and associated process.suitability for web application development1. Process model6A set of related activities that leads to the production of a software productdevelopment of software from scratchextending and modifying existing systemsCommon activitiesSoftware specificationDesigning and implementationSystem validationSystem evolution1.1 Process activities7Software specification: The functionality of the software and constraints on its operation must be definedcritical stage (can lead to problems in design and implementation)Activities:Feasibility studyRequirement elicitation and analysisRequirement specificationRequirement validation1.1 Process activities8Software design and implementation: Design is the description ofSystem structureData modelsInterface between componentsImplementation: Converting a system specification into an executable system1.1 Process activities9System validation: Intended to show that the system confirms its specificationmeets customer’s expectationsDevelopment testingtested by the people developed the componentsSystem testingfinding component integration errorsAcceptance testingSystem is tested by the customer’s provided data1.1 Process activities10Software evolution:Software is flexible as compared to hardware Changes can be made to the system during development or after the development1.2 Common approaches11The waterfall approach (complete each process step before beginning the next)Iterative approach(Go quickly through all process steps to create a rough system, then repeat them to improve the system)Reuse oriented approach (systems are integrated from existing components )2. Requirements for a web application development processEvolving from informational medium to application mediumExisting approaches are over-pragmaticlead to short development timeWeb engineering does not have its own mature development process modelSE development process models are adopted122. Requirements for a web application development process13Handling Short development cyclesDevelopment time is shortNormally does not exceed six monthImmediate delivery mechanismCapture share in the marketLeaves less freedom for systematic development process2. Requirements for a web application development process14Handling changing requirementRequirements often emerge during developmentas developer understand the unknown businessIntegrate changes rapidly to remain in competitionUser involvement is more criticaldue to emerging and unstable requirements2. Requirements for a web application development process15Releases with fixed deadlines and flexible contentsDue to rapid changes in requirements, disposable releases are requiredTo detail and validate customer’s requirementsRelease intervals are very short Time plan for releases is more important than planning requirements for releases2. Requirements for a web application development process16Parallel development of different releasesTo meet time constraints, parallel and overlapping development is requiredSeveral small teams work on similar tasksCommunication overhead is extensive in web application development2. Requirements for a web application development process17Reuse and integrationto meet time constraints developer try to reuse componentsLeads to integration issuesDevelopment can not be isolated from the development of other applications within the organization2. Requirements for a web application development process18Adapting to web application’s complexity levelprocess depends upon the level of complexityprocess is adapted dynamicallyfor low complexity, it should be like lightweight processfor high complexity, it should be like heavyweight process3. Rational unified processRUP is a heavyweight, phase oriented, incremental and iterative processDescribed in three perspectivesDynamic perspective: phases over timeStatic perspective: activities in process Practice perspective: good engineering practices193. Rational unified process20RUP phases:InceptionEstablish the business case for the system.ElaborationDevelop an understanding of the problem domain and the system architecture.ConstructionSystem design, programming and testing.TransitionDeploy the system in its operating environment3. Rational unified process21RUP phases:Inception: Define the business case for the projectGoals:Business caseIdentify and interact with external entitiesAsses the business contributionArtifacts:business case3. Rational unified process22RUP phases:Elaboration: establish understanding with the problemGoals:Establish software scopeDiscriminating critical use-casesEstimating cost, schedules and risksArtifacts:development plan, use-case model, architectural description3. Rational unified process23RUP phases:Construction: involves system design, programming and testingGoals:Develop the design Implement the designValidate the systemArtifacts:System, training material3. Rational unified process24RUP phases:Transition: Installing the system in real environmentGoals:Testing in real environment trainingBug fixing, performance enhancementsArtifacts:A documented system working correctly3. Rational unified process25RUP phases:3. Rational unified process26RUP activities (workflows):Requirementsanalysisdesignimplementationtest3. Rational unified process27RUP good practices:Develop software iterativelyManage requirementsUse component-based architecturesVisually model software-using UMLVerify software qualityControl changes to software3. Rational unified process28activitiesphases3.1 RUP for web application29Inception phase:Definition is problematic for web applicationno concrete view of the system at beginninghas target group but needs are unknownElaboration phase:due to short development time, first version has priority over clearly defined end-product 3.1 RUP for web application30Construction phase:exists in web development processTransition phase:is meaningful for web application development3.1 RUP for web application31Handling short development cycles:Conflictingshort cycle means concession in modeling and documentation while RUP is heavyweightHandling changing requirements:Conflicting with time constraintsrequire concrete vision at the end of inception phase which require more time in web application due to evolving requirements3.1 RUP for web application32Parallel development of different releases:can be met with RUPRUP only allow parallel development in construction phaseReuse and integration:ConflictingIt requires coordination with development processes of other applications RUP does not describe this 3.1 RUP for web application33Adapting to a Web application’s complexity level:RUP can be adopted for later stages when complexity of web application is understoodWeb Project Management34OutlineProject managementProject manager: tasks/responsibilitiesTraditional vs. web project management351. Project Management36Project management is the process of planning, organizing, motivating and controlling resources and procedures to develop a software/web projectIs essential part of software/web engineeringProjects need to be managedto ensure budget and time constraints1. Project Management37Project manager’s job is to ensureproject meets budget and timing constraints high quality product is deliveredGood management does not guarantee the project successBad management usually results in project failure schedule delaysbudget overrunlow customer’s acceptanceTo complete a project:• On Time• On Budget• With required functionality• To the satisfaction of the client• Without exhausting the teamTo provide visibility about the progress of a project1. Aim of Project Management1. Project Management39Project management goals aredeliver software on timemeet budget constraintsfulfill customer’s expectationmaintain a happy and well-functioning teamPlanningOutline schedule during feasibility studyFuller schedule for each part of a project (e.g., each process step, iteration, or sprint)Contingency planningAnticipation of possible problems (risk management)Progress trackingRegular comparison of progress against planRegular modification of the planChanges of scope, etc. made jointly by client and developersFinal analysisAnalysis of project for improvements during next project1. Aspects of Project Management2. Project Manager’s tasks41Project planningRisk managementPeople managementReportingProposal writing2. Project Manager’s tasks42Project planning:Project managers are responsible forcost estimationproject schedulingresource allocationMonitoringwork is carried out according to standardsprogress is according to budget and schedule2. Project Manager’s tasks43Project planning:At proposal stage:are resources available to complete the projectwhat price to ask (effort, s/w,h/w, travelling)At startup stage:start‐up time is typically three to six months who will work decide about the increments and allocate resourcesrefine estimates as more information is available 2. Project Manager’s tasks44Project planning:During development process:when project plan needs to be changedcan make more accurate estimates about time and cost2. Project Manager’s tasks45Source: ‘software engineering’ by Sommerville Project planning:2. Project Manager’s tasks46Conflicting areas:Project requires to have a well balanced between budget, time and qualitychange in one can influence otherstimequalitycostSource: Web Engineering – Kappel et al.2. Project Manager’s tasks47Risk management:Project managers are responsible for anticipation of riskscan affect schedule or qualitytaking actions to avoid these risks2. Project Manager’s tasks48Risk management:Risk categories:Project risks: affect the project schedule or resourcesexperienced developer leaves the jobProduct risks: affect the quality and performance of the producta purchased component does not work as expected2. Project Manager’s tasks49Risk management:Risk categories:Business risks: affect the organization developing or procuring the producta competitor introduced a new product2. Project Manager’s tasksRisk management:50Source: ‘software engineering’ by Sommerville 2. Project Manager’s tasksPeople management:Project managers responsible forchoosing peopleestablishing ways of workingCharacteristics of web development teammultidisciplinary: experts from diverse fieldsParallelism: parallel work on large task Small size: due to budget constraints/short development cycles512. Project Manager’s tasksPeople management:PM solves conflicts if members are working as groupmust be solved early to meet time constraintsdue to short development time, even suboptimal solution is acceptable522. Project Manager’s tasksPeople management:Web team composition53rolespeopleSource: Web Engineering – Kappel et al.2. Project Manager’s tasksReporting:Project mangers are responsible for reportingon progress of a project to customers and managers of the companyProposal writing:write proposal to win a projectcritical task542. Project Manager’s tasksGolden rules for Web project managers:Take care of ethics in the teamStress the importance of different application knowledge for the projectSolve conflicts quickly. Make sure no team member is a winner or a loser all the timeExplain to each team member his or her roles and responsibilities continuouslyIdentify parallel developments552. Project Manager’s tasksGolden rules for Web project managers:Distribute documentation tasks to team members fairly according to their scopePromote and coordinate the continuous use of tools from the very beginning of the projectTranslate costs and values into different project areasPromote the continuous involvement of the customer in the projectAlways keep an eye on the project progress and the project objective563. Traditional vs. web project managementMain objective: Create a quality product at lowest possible cost! Create a usable product in shortest possible time! Project size: Medium to large (10 to 100 people and more) Usually small (6 +/− 3 people)Duration: 12 to 18 months on average 3 to 6 months on average573. Traditional vs. web project managementCost several million dollars several thousand dollarsDevelopment approach based on requirements; structured into phases; incremental; documentation-drivenAgile methodsTechnologies OO methodsweb technologies583. Traditional vs. web project managementProduct Code-based; poor reusability; complex applicationsHigh reusability; standard components; many standard applicationsStaff profile Professional software developers with several years of experienceMultimedia designers; Web programmers (Java, etc.); PR/marketing people59Summary60Development Process modelsoftware development process activitiesconventional software development approachesRequirement for a web development process modelRational unified process model (RUP)suitability for web application developmentSummary61Project managementResponsibilities/tasks of a Project managerPlanningRisk management People managementReportingProposal writingTraditional vs. web engineeringTHANK YOU
Các file đính kèm theo tài liệu này:
- lecture_02_wt_web_development_process_model_project_management_5207_2028564.pptx