Top Banner
Chapter 5 - Software engineering practice. What you will learn in this chapter? Concepts and principles of software engineering practice. Communication practice principles. Planning practice. Modeling practice. Construction practice. Deployment practice. 6/6/22 1 Ref : Roger S Pressman - 6th Edition
23

5.Soft Ware Engineering Practice

Nov 22, 2014

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 1

Chapter 5 - Software engineering practice.What you will learn in this chapter?

• Concepts and principles of software engineering practice.• Communication practice principles.• Planning practice.• Modeling practice.• Construction practice.• Deployment practice.

Page 2: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 2

Practice

• Action rather than ideas.• A thing that is done regularly, a habit or a custom.• Practice means doing an activity or training regularly• so that you can improve your skill, the time you spend doing this.• “Practice makes perfect”

Page 3: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 3

SOFT WARE ENGINEERING PRACTICE

Practice is a broad array of concepts, principles, methodologies and tools that must be considered as software is planned and developed.

It represents the details- technical considerations and how to s’ that are below the surface of the software process: the things that are required to build high quality software.

Practice is what you do day in and day out as software evolves from idea to reality.

Page 4: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 4

Angular Vision of SW Practice• Practice is a collection of Concepts, principles, methods and tools that a

software engineer calls up on day today basis to build software.

• Practice allows Software managers to manage software projects.

• Practice populates a software process model with the necessary technical and management how to s’ to get the job done.

• Practice transforms a haphazard, unfocussed approach in to some thing that is more organized, more effective and more likely to achieve success.

Page 5: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 5

THE ESSENCE OF SW ENGG PRACTICE

1. Understand the problem(C&A)

2. Plan a solution(M&D)

3. Carry out the plan(code)

4. Examine the result for accuracy(T& QA)

Page 6: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 6

Understand the problem:• Who are the stake holders?• What are the unknowns?• Can the problem be compartmentalized? Is it possible to represent smaller

problems that may be easier to understand.• Can the problem be represented graphically?

Plan the Solution:• Have you seen similar problems before?• Has a similar problem been solved?• Can problems be defined?• Can you represent a solution in a manner that leads to effective implementation?

Or can a design model be created?

Page 7: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 7

Carry out the plan:• Does the solution confirm to the plan?• Is each component part of the solution is probably correct?

Examine the result:• Is it possible to test each component part of the solution?• Does a solution produces the result that confirms data, functions, features and

behavior that are required?

Page 8: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 8

The Seven Core principlesPrinciple is an important underlying law or assumption required in a system of

thought.

1.THE REASON IT ALL EXISTS(To provide value to its customers)

2. KISS(All design should be as simple as possible, but not simpler)No quick & dirty.

3.MAINTAIN THE VISION(Clear vision is essential)

4.WHAT YOU PRODUCE OTHERS WILL CONSUME(Some one else has to understand)

5.BE OPEN TO THE FUTURE(Never design yourself into a corner)

6.PLAN AHEAD FOR REUSE(Long term cost advantage)

7.THINK! (Placing clear, complete thought before action almost always produces better results)

Page 9: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 9

Communication practice(requirements elicitation)

• Principle 1.Listen & Focus on speaker’s words• P2.Prepare before you communicate.• P3.Some one should facilitate the Activity.• P4. Face to Face communication is the best (“PLAIN QUESTIONS AND

PLAIN ANSWERS MAKE THE SHORTEST ROAD TO MOST PERPLEXITIES” Mark Twain)

• P5.Take notes and Document DECISIONS• P6.Strive for Collaboration.• P7.Stay focused, modularize the discussion• P8.If some thing is unclear draw a picture.• P9.Move on regardless – once you agree to something, move on.• P10. Negotiation is not a contest or game. It works well when both the

parties win

Page 10: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 10

Planning Practices1.Understand the scope of the project

2.Involve the customer in the planning activity

3.Recognize that planning is Iterative

4.Consider risk as you define the plan

5.Estimate based on what you know.

6.Be realistic

7.Adjust granularity as you define the plan

8.Define how you intend to ensure quality.

9.Describe how you intend to accommodate Change

10.Track the plan frequently and make adjustments as required.

Common sense questions to develop a realistic Project Plan????????

5W2H

Page 11: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 11

5W2H Questions?• Why is the system being developed.• What will be done.• When will it be accomplished.• Who is responsible for a function.• Where are they organizationally located.• How will the job be done technically or managerially.• How much of each resource is needed.

Page 12: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 12

MODELING PRACTICE• Analysis models represent customer requirements.

Design models provide a concrete specification for the construction of software.

• ANALYSIS MODELING PRINCIPLES1.The domain problem must be understood &represented2.Software functionalities must be defined.3.The behavior of the software must be represented.4.Models depicting info, functions & behavior must be

partitioned in a layered architecture.5.The analysis task should move from essential info towards

implementation details. The ‘essence’ of a problem is described without any consideration how solution is implemented.

Page 13: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 13

DESIGN MODELING PRINCIPLES Design model represents characteristics of the software that help developers to

construct effectively.

1. Design should be traceable to Analysis model

2. Always consider the architecture of the system to be built.

3. Design of data is as important as processing function.

4. Interfaces design should be done with care

5. UI to be tuned to the end user needs

6. Component level design should be functionally independent – should be cohesive (should focus on only one function)

7. Loose coupling of Components is recommended

8. Design representations should be easily understood.

9. Iterative design with simplicity to be preferred.

Page 14: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 14

CONSTRUCTION PRACTICE

• The construction activity encompasses a set of coding and testing tasks that lead to operational software that is ready to be delivered to the Customer/ end user.

1.Coding Principles and Concepts. And 2.Testing principles

Page 15: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 15

Coding Principles and Concepts

I. Preparatory principles.(before you write one line of code, be sure you:

1. Understand the problem to be solved2. Understand the basic design principles & concepts.3. Pick a PL that meets the needs of SW and the environment

of operation.4. Select a Programming environment with suitable tools for

ease of work.5. Create adequate set of unit test cases.

Page 16: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 16

Coding Principles and Concepts

II. Coding Principles: As you begin to write a code, be sure you:

1.Follow structured programming practice.2.Select data structures that should meet the design

requirements.3.Know the SW architecture and create CONSISTENT INTERFACES.4.Use Simple Conditional logic.5.Create easily testable nested loops.6.Follow coding standards and naming conventions.7.Write Self documenting Code8.Create Visual lay out.

Page 17: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 17

Coding Principles and Concepts

III. Validation Principles.After you have completed your first coding pass, be sure you:

1.Do code walk through when appropriate.

2.Perform Unit Tests and correct errors noted.

3.Refactor the code.

Page 18: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 18

Testing Principles.

What are the objectives?Testing is a Process of executing a program with

the intent of finding an error.What is a good test case?The one that has high probability of finding an

as –yet undiscovered error.What is a successful test?That uncovers an as-yet – undiscovered error

Page 19: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 19

Testing Principles. 1. All tests should be traceable to customer

requirements.2.Plan the tests long before the testing begins.3.The Pareto principle applies to SW testing.4.Testing should begin “in the Small” and

progress toward testing ‘in the large”.5.Exhaustve testing is not possible. All path

combinations is difficult, but adequate program logic should be covered

Page 20: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 20

DEPLOYMENT

Deployment activity consists of three action cycles:

1. Delivery: This provides the customer/ end user with an operational software increment that provides usable functions and features.

2. Support cycle: Gives documentation and human assistance for all features& functions introduced during all deployment cycles till date.

3. Feedback cycle: Here the Software team gets important guidance that results in modifications to the functions, features and approach taken for the next increment.

Page 21: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 21

DEPLOYMENT

1. Manage the Customer expectations for the Software.(no conflicting messages) Most Important Activity.

2. Assemble and Test the complete Delivery package.3. Establish a support regime before the software is

delivered.4. Provide appropriate instructional material to end

user.5. Buggy software should be fixed first and delivered

later.

Page 22: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 22

SUMMARY.1.SW Engineering Practice comprises Concepts,

Principles, methods and tools & their application through out the SW process.

2. Technical and Management essentials.

3. Customer communication (Reduce noise and improve bandwidth)

4.Planning principle should generate the best map for the journey.

5.Solid model that provides technical guidance to implementers.

6.Construction incorporates standard coding &test results.

7.Evolutionary SW development, deployment, Delivery,Support and Feedback effect(lessons learnt) are the key principles of Software Engineering practice.

Page 23: 5.Soft Ware Engineering Practice

Apr 9, 2023 Ref : Roger S Pressman - 6th Edition 23

•Any Questions???????????