Presentation on theme: "Departemen Ilmu Komputer IPB"— Presentation transcript:
1Departemen Ilmu Komputer IPB The ProcessDepartemen Ilmu Komputer IPB
2Software Process Overview The roadmap to building high quality software products is software process.Software processes are adapted to meet the needs of software engineers and managers as they undertake the development of a software product.A software process provides a framework for managing activities that can very easily get out of control.Different projects require different software processes.
3Software Process Overview The software engineer's work products (programs, documentation, data) are produced as consequences of the activities defined by the software process.The best indicators of how well a software process has worked are the quality, timeliness, and long-term viability of the resulting software product.
4Software Engineering & Its Generic Phases Software engineering encompasses a process, management techniques, technical methods, and the use of tools.Definition phase - focuses on what (information engineering, software project planning, requirements analysis).Development phase - focuses on how (software design, code generation, software testing).Support phase - focuses on change (corrective maintenance, adaptive maintenance, perfective maintenance, preventative maintenance).
7Umbrella Activities (muncul di setiap framework Software project managementFormal technical reviewsSoftware quality assuranceSoftware configuration managementDocument preparation and productionReusability managementMeasurementRisk management
8Capability Maturity Model - SEI Level 1: Initial (ad hoc software processes)Level 2: Repeatable (able to repeat earlier successes)Level 3: Defined (management and engineering processes documented, standardized, and integrated into organization-wide software process)
9Capability Maturity Model - SEI Level 4; Managed (software process and products are quantitatively understood and controlled using detailed measures)Level 5: Optimizing (continuous process improvement is enabled by quantitative feedback from the process and testing innovative ideas)
11The Process Model: Adaptability the framework activities will always be applied on every project ... BUTthe tasks (and degree of rigor) for each activity will vary based on:the type of project (an “entry point” to the model)characteristics of the projectcommon sense judgment; concurrence of the project team
12Software Process Model Linear Sequential Model (old fashioned but reasonable approach when requirements are well understood)Prototyping Model (good first step when customer has a legitimate need, but is clueless about the details, developer needs to resist pressure to extend a rough prototype into a production product)Rapid Application and Development (RAD) Model (makes heavy use of reusable software components with an extremely short development cycle)
16Software Process Model Incremental Model (delivers software in small but usable pieces, each piece builds on pieces already delivered)Spiral Model (couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model)Win-Win Spiral Model (eliciting software requirements defined through negotiation between customer and developer, where each party attempts to balance technical and business constraints)
19Software Process Model Concurrent Development Model (similar to spiral model often used in development of client/server applications)Component-Based Development (spiral model variation in which applications are built from prepackaged software components called classes)
22Software Process Model Formal Methods Model (rigorous mathematical notation used to specify, design, and verify computer-based systems)Fourth Generation (4GT) Techniques (software tool is used to generate the source code for a software system from a high level specification representation)
23Still Other Process Models Component assembly model—the process to apply when reuse is a development objectiveConcurrent process model—recognizes that different part of the project will be at different places in the processFormal methods—the process to apply when a mathematical specification is to be developedCleanroom software engineering — emphasizes error detection before testing