Presentation is loading. Please wait.

Presentation is loading. Please wait.

Layered Technology Software Process Framework Generic Process Framework Activities Process Models 6/14/20162.

Similar presentations


Presentation on theme: "Layered Technology Software Process Framework Generic Process Framework Activities Process Models 6/14/20162."— Presentation transcript:

1

2 Layered Technology Software Process Framework Generic Process Framework Activities Process Models 6/14/20162

3 3 A quality focus: the “bedrock” Process model: the “framework” Methods: technical “how to’s” Tools: CASE preferred

4 A quality Focus  Every organization is rest on its commitment to quality.  Total quality management, continuous improvement culture and it is this culture ultimately leads to development of increasingly more effective approaches to software engineering.  The bedrock that supports software engineering is a quality focus. Process:  It’s a foundation layer for software engineering.  It’s define framework for a set of key process areas (KRA) for effectively manage and deliver quality software in a cost effective manner  The processes define the tasks to be performed and the order in which they are to be performed 6/14/20164

5 Methods:  It provide the technical how-to's for building software.  Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and support.  There could be more than one technique to perform a task and different techniques could be used in different situations. Tools:  Provide automated or semi-automated support for the process, methods and quality control.  When tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering (CASE) 6/14/20165

6 6 Process framework Umbrella Activities Framework activity 1 Framework activity n Software Process Framework activities#1 Framework activities#1 Work tasks Work tasks Work products Work products QA checkpoints QA checkpoints Project Milestones Project Milestones Framework activities#1 Framework activities#1 Work tasks Work tasks Work products Work products QA checkpoints QA checkpoints Project Milestones Project Milestones Process Framework Process Framework Umbrella Activities Umbrella Activities

7  A process defines who is doing what, when and how to reach a certain goal.  To build complete software process.  Identified a small number of framework activities that are applicable to software projects, regardless of their size or complexity.  It encompasses a set of umbrella activities that are applicable across the entire software process 6/14/20167

8 8 Each framework activities is populated by a set for software engineering actions – a collection of related tasks. Each action has individual work task.

9  Communication: Heavy communication with customers, stakeholders, team Encompasses requirements gathering and related activities  Planning: Workflow that is to follow Describe technical task, likely risk, resources will require, work products to be produced and a work schedule.  Modeling: Help developer and customer to understand requirements (Analysis of requirements) & Design of software  Construction: Code generation: either manual or automated or both Testing – to uncover error in the code.  Deployment: Delivery to the customer for evaluation Customer provide feedback 6/14/20169

10  A software engineer or a team of engineers must incorporate a development strategy that encompasses the process, methods, and tools layers and the generic phases. This strategy is often referred to as a process model or a software engineering paradigm.  A process model for software engineering is chosen based on the nature of the project and application, the methods and tools to be used, and the controls and deliverables that are required.  All software development can be characterized as a problem solving loop 1.Status Quo-Current state of affairs 2.Problem Definition-Identifies specific problem to be solved 3.Technical development-Solves through appl% of technology 4.Solution Integration-delivers results

11 1. Linear Sequential Model/Classical lifecycle/Waterfall Model 2. Increment Model 3.The RAD Model 4. Evolutionary Model a)Prototyping Model b)Spiral Model c)Win Win Spiral Model d)Concurrent Development Model 6/14/201611

12

13 1. Requirement Analysis: What - The systems services, constraints and goals are defined by customers with system users. 2. Planning : Assessing progress against the project plan. Require action to maintain schedule. 3. Design: How –It establishes and overall system architecture. Software design involves fundamental system abstractions and their relationships. 4. Code generation & Integration and system testing: The individual program unit or programs are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer. 5. Delivery and Maintenance: Normally this is the longest phase of the software life cycle. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life-cycle.

14 1. Easy to understand and implement. 2. Widely used and known (in theory!) 3. Fits other engineering process models: civil, mech 4. Reinforces good habits: define-before- design, design-before-code 5. Identifies deliverables and milestones 6. Document driven: People leave, documents don’t 7. Works well on large/mature products and weak teams. 6/14/201614

15 15  It is often difficult for the customer to state all requirements explicitly.  The model implies that you should attempt to complete a given stage before moving on to the next stage  It also means that customers can not use anything until the entire system is complete.  Some teams sit ideal for other teams to finish  Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process.

16 C- Communication P - Planning M – Modeling C - Construction D - Deployment Delivers software in small but usable pieces, each piece builds on pieces already delivered

17  Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality.  First Increment is often core product  Includes basic requirement  Many supplementary features (known & unknown) remain undelivered  A plan of next increment is prepared  Modifications of the first increment  Additional features of the first increment  It is particularly useful when enough staffing is not available for the whole project  Increment can be planned to manage technical risks.  Incremental model focus more on delivery of operation product with each increment.

18  User requirements are prioritised and the highest priority requirements are included in early increments.  Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve.  Customer value can be delivered with each increment.  Early increments act as a prototype to help elicit requirements for later increments.  Lower risk of overall project failure.

19 1. Generates working software quickly and early during the software life cycle. 2. More flexible – less costly to change scope and requirements. 3. Easier to test and debug during a smaller iteration. 4. Customer can respond to each built. 5. Lowers initial delivery cost. 6. Easier to manage risk because risky pieces are identified and handled during it’s iteration. 6/14/201619

20 1. Needs good planning and design. 2. Needs a clear and complete definition of the whole system before it can be broken down and built incrementally. 3. Total cost is higher than waterfall. 6/14/201620

21 Makes heavy use of reusable software components with an extremely short development cycle

22  Rapid application development is an increment s/w development process model that emphasizes an extremely short development cycle.  The RAD model is a high speed adaption of the linear sequential model.  The phases of RAD i.Business Modeling ii.Data Modeling iii.Process Modeling iv.Application Generation v.Testing & Turnover

23 i. Business modeling – Information flow among business functions is modeled in a way that answers the following questions:  What information drives the business process? What information is generated? Who generates it? Where does the information go? Who processes it? ii. Data modeling – Information refine into set of data objects that are needed to support business. iii. Process modeling – Data object transforms to information flow necessary to implement business function. iv. Application Generation- Automated tools are used to convert process models into code and the actual system. v. Testing and Turnover- Test new components and all the interfaces. 6/14/201623

24  Advantages of the RAD model: i. Reduced development time. ii. Increases reusability of components iii. Quick initial reviews occur iv. Encourages customer feedback v. Integration from very beginning solves a lot of integration issues. 6/14/201624

25 Drawback:  For large but scalable projects  RAD requires sufficient human resources  Depends on strong team and individual performances for identifying business requirements.  Only system that can be modularized can be built using RAD  Requires highly skilled developers/designers.  High dependency on modeling skills  Not appropriate when technical risks are high ( heavy use of new technology)  Inapplicable to cheaper projects as cost of modeling and automated code generation is very high.

26  Produce an increasingly more complete version of the software with each iteration.  Evolutionary Models are iterative.  Evolutionary models are:  Prototyping  Spiral Model  Win Win Spiral model  Concurrent Development Model

27

28  It can be used as standalone process model.  Model assist software engineer and customer to better understand what is to be built when requirement are fuzzy.  Prototyping start with communication, between a customer and software engineer to define overall objective, identify requirements and make a boundary.  Going ahead, planned quickly and modeling (software layout visible to the customers/end-user) occurs.  Quick design leads to prototype construction.  Prototype is deployed and evaluated by the customer/user.  Feedback from customer/end user will refine requirement and that is how iteration occurs during prototype to satisfy the needs of the customer.

29 Prototyping (cont..)  Prototype can be serve as “the first system”.  Both customers and developers like the prototyping paradigm. Customer/End user gets a feel for the actual system Developer get to build something immediately. Problem Areas:  Customer cries foul and demand that “a few fixes” be applied to make the prototype a working product, due to that software quality suffers as a result.  Developer often makes implementation in order to get a prototype working quickly without considering other factors in mind like OS, Programming language, etc. Customer and developer both must be agree that the prototype is built to serve as a mechanism for defining requirement.

30

31  The spiral model is a software development process combining elements of iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model.  The basic principles are: 1. Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments and providing more ease- of-change during the development process, as well as providing the opportunity to evaluate risks and weigh consideration of project continuation throughout the life cycle. 2. Each trip around the spiral traverses four basic quadrants: (1) determine objectives, alternatives, and constraints of the iteration; (2) evaluate alternatives; Identify and resolve risks; (3) develop and verify deliverables from the iteration; and (4) plan the next iteration. 3. Begin each cycle with an identification of stakeholders and their win conditions, and end each cycle with review and commitment.

32  First circuit around the spiral might result in development of a product specification. Subsequently, develop a prototype and then progressively more sophisticated version of software.  Spiral models uses prototyping as a risk reduction mechanism but, more important, enables the developer to apply the prototyping approach at each stage in the evolution of the product.  If risks cannot be resolved, project is immediately terminated  Disadvantages: 1. It may be difficult to convince customers (particularly in contract situations) that the evolutionary approach is controllable. 2. If a major risk is not uncovered and managed, problems will undoubtedly occur. 6/14/201632

33 Spiral Model

34

35  Concurrent engineering is a work methodology based on the parallelization of tasks (i.e. performing tasks concurrently). It refers to an approach used in product development in which functions of design engineering, manufacturing engineering and other functions are integrated to reduce the elapsed time required to bring a new product to the market.  E.g.  The analysis activity (existed in the none state while initial customer communication was completed) now makes a transition into the under development state.  Analysis activity moves from the under development state into the awaiting changes state only if customer indicates changes in requirements.  Series of event will trigger transition from state to state.  During initial stage there was inconsistency in design which was uncovered. This will triggers the analysis action from the Done state into Awaiting Changes state.


Download ppt "Layered Technology Software Process Framework Generic Process Framework Activities Process Models 6/14/20162."

Similar presentations


Ads by Google