Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
72 views
Software Engineering
Uploaded by
Ayushi Jain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Software Engineering For Later
Download
Save
Save Software Engineering For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
72 views
Software Engineering
Uploaded by
Ayushi Jain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Software Engineering For Later
Carousel Previous
Carousel Next
Save
Save Software Engineering For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 279
Search
Fullscreen
SUBJECT CODE : 210953 As per Revised Syllabus of SAVITRIBAI PHULE PUNE UNIVERSITY Choice Based Credit System (CBCS) S.E. (Computer) Semester - IV SOFTWARE ENGINEERING Anuradha A. Puntambekar ME. (Computer) rmerly Assistant Professor in RE.S. Modem College of Dr. Jayashree R. Prasad Ph.D. (Computer Engin: ME ing) Professor Computer Engineering) Sinhgad College of Engineering, Pune ing) puter Eng =" TECHNICAL PUBLICATIONS An Up-Thrust for Knowledge oSOFTWARE ENGINEERING Subject Code : 210253 S.E. (Computer) Semester - IV © Copyright with A. A. Puntambekar technicalpublications.org Website : www technicalpublicotions.org inter aj Printer & Binder: 101A Industial Estate, Nanded Vilage Road, Tol. Haveli, Dist. - Pune - 411041 ISBN 978-93-90450-41-1 ol7§9390 llPREFACE The importance of Software Engineering is well known in various engineering fields. Overwhelming response to our books on various subjects inspired us to write this book. The book is structured to cover the key aspects of the subject Software Engineering The book uses plain, lucid language to explain fundamentals of this subject. The book provides logical method of explaining various complicated concepts and stepwise methods to explain the important topi practical examples and solved problems. All chapters in this book are arranged in a proper sequence that permits each topic to build upon earlier studies. All care has been taken to make students comfortable in understanding the basic concepts of this subject. 's. Each chapter is well supported with necessary illustrations Representative questions have been added at the end of each section to help the students in picking important points from that section The book not only covers the entire scope of the subject but explains the philosophy of the subject. This makes the understanding of this subject more clear and makes it more interesting. The book w teachers. The students have to omit nothing and possibly have to cover nothing more. il be very useful not only to the students but also to the subject We wish to express our profound thanks to all those who helped in making this book a Much needed moral support and encouragement is provided on numerous occasions by our whole family. We wish to thank the Publisher and the entire team of Technical Publications who have taken immense pain to get this book in time with quality printing, reali Any suggestion for the improvement of the book will be acknowledged and well appreciated, Authors A.A. Puntambekar De. ayashree R. Prasad Dedicated to GodSYLLABUS Software Engineering - 210253 Credit Scheme Examination Scheme and Marks 03 Mid _Semester (TH) : 30 Marks End _ Semester (TH) : 70 Marks Unit I Introduction to Software Engineering and Software Process Models Software Engineering Fundamentals : Introduction to software engineering, The Nature of Software, Defining Software, Software Engineering Practice. Software Process : A Generic Process Model, defining a Framework Activity, Identifying a Task Set, Process Patterns, Process Assessment and Improvement, Prescriptive Process Models, The Waterfall Model, Incremental Process Models, Evolutionary Process Models, Concurrent Models, A Final Word on Evolutionary Processes. Unified Process, Agile software development: Agile methods, plan driven and agile development. (Chapter 1) Unit I Software Requirements Engineering and Analysis Modeling : Requirements Engineering, Establishing the Groundwork, Identifying Stakeholders, Recognizing Multiple Viewpoin working toward Collaboration, Asking the First Questions, Eliciting Requirements, Collaborative Requirements Gathering, Usage Scenarios, Elicitation Work Products, Developing Use Cases, Building the Requirements Model, Elements of the Requirements Model, Negotiating Requirements. Validating Requirements. Suggested Free Open Source tools : StarUML, Modelio, SmartDraw. (Chapter 2) Unit I Estimation and Scheduling Estimation for Software Projects : The Project Planning Process, Defining Software Scope and Checking Feasibility. Resources management, Reusable Software Resources. Environmental Resources, Software Project Estimation, Decomposition Techniques, Software Sizing, Problem-Based Estimation, LOC-Based Estimation, FP-Based Estimation, -Bas Object Point (OP)-based estimation, Proce: .d Estimation, Estimation with Use C Use- Case - Based Estimation, Reconciling Estimates, Empirical Estimation Models, The ©)Structure of Estimation Models, The COCOMO II Mode, Preparing Requirement Traceability Matrix Project Scheduling : Project Scheduling. Defining a Task for the Software Project, s heduling. Suggested Free Open Source Tools : Gantt Project, Agantty, Project Libre. (Chapter 3) Unit IV Design Engineering Design Concepts : Design ithin the Context of Software Engineering, The Design Process, Software Quality Guidelines and Attributes, Design Concepts - Abstraction, Architecture, design Patterns, Separation of Concerns, Modularity, Information Hiding, Functional Independence, Refinement, Aspects, Refactoring. Object-Oriented Design Concept, Design Classes. The Design Model , Data Design Elements, Architectural Design Elements, Interface Design Elements, Component-Level Design Elements, Component Level Design for Web Apps. Content Design at the Component Level, Functional Design at the Component Level, Deployment-Level Design Elements. Architectural Design : Software Architecture, What is Architecture, Why is Architecture Important, Architectural Styles, A brief Taxonomy of -chitectural ryles, Suggested Free Open Source Tool art Draw (Chapter 4) Unit V Risks and Configuration Management Risk Management : Software Risks, Risk Identification, Risk Projection, Risk Refinement. Risk Mitigation, Monitoring. and Management. The RMMM Plan. Software Configuration Management : Software Configuration Management, The SCM Repository The SCM Process, Configuration Management for any uitable software system. Suggested Free Open Source Tools : CF Engine Configurati n Tool, Puppet Configuration Tool, (Chapter 5) Unit VI Software Testing A Strategic Approach to Software Testing, Verification and Validation, Organizing for Software Testing, Software Testing Strategy - The Big Picture, Criteria for Completion of Testing, Strategic Issues, Te: Strategies for Conventional Software, Unit Tesing, Integration Testing, Test Strategies for Object-Oriented Software, Unit Testing in the OO Context. Integration Testing in the OO Context, Test Strategies for WebApps, Validation Testing, Validation -Test Criteria, Configuration Review. Suggested Free Open Source Tools lenium, JUnit. (Chapter 6) oTABLE OF CONTENTS Chapter-1 Introduction to Software Engineering 11 1.2 13 14 15 1.6 17 18 19 1.10 1.11 1.12 1.13 1.14 1.15 1.16 and Process Models (1 - 1) to (1 - 48) Part I: SOFTWARE ENGINEERING FUNDAMENTALS Introduction to Software Engineering ... The Nature of Software..... Defining Software. Software Engineering Practice ..ccusnnnsntnnennnnesnannesnesne = 3 Software Characteristics... Software Engineering Myths. eset 1-6 PART II : SOFTWARE PROCESS Generic Process Model... 1-7 1.7.1 Layered Technology Defining Framework Activity... Identifying a Task Set. Process Pattern .... Process Assessment and Improvement .. Prescriptive Process Model... 1.12.1 Need for Process Model ....... The Waterfall Model... Increment Process Model... 1.14.1 Incremental Model 1.14.2 RAD Model Evolutionary Process Model. 1.15.1 Prototyping .. 1.15.2 Spiral Model Comparison between Various Process Model: wi)1.17 Concurrent Models 1.18 Unified Process..... 1.19 Agile Software Development .. 1.20 Agile Methods 1.21 Plan Driven and Agile Development... 1.22 Multiple Choice Questions with Answers... 1.19.1 Agility Principles. 1.19.2 Concept of Agile Process.... 1.19.3 Software Evolution and Merits and Demerits of Agile Methods 1-34 1.20.1 Adaptive Software Development (ASD). 1-35 1.20.2. Dynamic System Development Method (DSDM) 1-36 1.20.3 Serum 1.20.4 Feature Driven Development (FDD) 1.20.5 Crystal esses 1.20.6 Agile Modeling (AM)... Chapter-2 Software Requirement Engineering and 21 2.2 23 Analysis Modeling (2 - 1) to (2 - 82) Requirements Engineering... 2-2 2.1.1 Need for Requirements to be Stable and Correct 0. 2-2 Requirements Engineering Tasks. 2-3 2.2.1 Inception 2-4 2.2.2. Elicitation 2-4 2.2.3 Elaboration.. wD -5 2.2.4 Negotiation. w2-5 2.2.5 Specification we 2-5 2.2.6 Validation. 12-6 2.2.7 Requirement Management 2-6 Establishing the Groundwork... 2-7 2.3.1. Identifying the Stakeholders. 2-7 2.3.2. Recognizing Multiple Viewpoints... 22-8 (vil)2.4 25 2.6 27 28 2.9 2.10 2.11 2.3.3 Working Towards Collaboration 2-9 2.3.4 Asking the First Questions 2-9 Eliciting the Requirements...... 2-10 2.4.1 Collaborative Requirements Gathering 2-10 2.4.2. Quality Function Development. 2-12 2.4.3 Usage Scenario. 2-13 2.4.4. Elicitation Work Products..... w2-13 Developing Use Cases........ 2-14 Building Requirements Models... 2-17 2.6.1 Overall Objectives... w2-18 2.6.2 Analysis Rules of Thumb 2-19 2.6.3. Domain Analysis. 2-19 Elements of the Requirements Model.. 2-20 Scenario Based Modeling... 2-20 2.8.1 Writing Use Cases... 2-21 2.82. Activity Diagram..... 2-26 2.8.3. Swimlane Diagram... wed -27 Class Based Modeling...» 2-29 2.9.1 Objects and Object Classes... . 2-29 2.9.2. Generalization and Inheritance Relationship 2-30 2.9.2.1 Association Relationship 2-33 2.9.3 Object Identification wa. se .2-35 2.9.4 Class-Responsibility-Collaborator(CRC) Modelling 2-37 2.9.5 Object Relationship Model 2-40 Data Modeling... 2-42 2.10.1 Data Object, Attributes and Relationships «0.0.00 v2 43 2.10.2 Cardinality and Modality... ond AG 2.10.3 Entity Relationship Diagram ..... sessesessieniessennees2 AS 2.10.31 Design Guideline and Examples .n.vnenennnnne sess = 47 Flow Modeling... 2-50 2.1L. Data Flow Diagramme esse sensssnenees2 = 50 iil)21.1.1 Designing Data Flow Diagrams 2-51 2.11.2 Control Flow Diagram 2-54 2.1.2.1 Designing Control Flow Diagrams 2-55 2.11.3 Examples... 2-56 2.12 Behavioral Modeling... - 2-73 2.12.1 Identifying Events with Use Cases 2-73 2.12.2 State Representation 2-73 2.12.3 Sequence Diagram 2-74 2.13 Negotiating the Requirements...... 12-76 2.14 Validating Requirements... .2-76 2.15 Preparing Requirements Traceability Matrix. 2-7 2.16 Multiple Choice Questions with Answers 2-78 Unit - II Chapter-3 Estimation and Scheduling (8 - 1) to (3 - 28) 3.1. The Project Planning Process 3.2 Defining Software Scope and Checking Feasibility 3.3. Resource Management... 3.3.1 Human Resources. seen . 3-4 3.3.2 Reusable Software Resources.. 3.3.3. Environmental Resources 3.4 Software Project Estimation ... 3.5 Decomposition Techniques... 3.5.1 Software Sizing. 3.5.2 Problem Based Estimation... 3.5.3. Example of LOC Based Estimation 3-8 3.5.4 Example of FP Based Estimation..... 3.5.5 Process Based Estimation 3.5.6 Example of Process Based Estimation sonnsinnisetinseinnnnsniene “LL 3.5.7 Estimation with Use Case ..... 3.5.8 Reconciling Estimation... 3.6 Empirical Estimation Model... (ix)3.6.1 The Structure of Estimation Model 3-14 3.6.2. The COCOMO II Model 3-15 3.7 Object Point(OP) Based Estimation... 3-19 3.8 Project Scheduling...... 3-19 3.9 Defining a Task Set for the Software Project...... 3-21 3.10 Task Network. 3-22 3.11 Scheduling with Time Line Chart. 3-23 3.12 Schedule Tracking Tools.. 3-24 3.12.1 Microsoft Project 3-24 3.12.2 Daily Activity Reporting & Tracking (DART) 3-25 3.13 Multiple Choice Questions with Answers 3-25 Unit - IV Chapter-4 Design Engineering (4- 1) to (4-36) ParT I; INTRODUCTION TO DESIGN CONCEPTS 4.1 Concept of Design ...csssessssssessensese 14-2 4.1.1 Design within the Context of Software Engineering. aoeeeeee 2 4.2. The Design Process. 4-3 4.3 Software Quality Guidelines and Attributes . 4-4 4.4. Design Concepts... 4-5 4.4.1 Abstraction 4-6 4.4.2 Modularity ... A -6 4.4.3. Architecture 4.4.4 Refinement ....0s 4.4.5. Pattern... 4.4.6 Information Hiding... 4.4.7 Functional Independence... 4.4.7.4 Cohesion 44.72 Coupling 44.8 Refactoring.............. 4.5 Object Oriented Design Concepts... 4.6 Design Classes .. co)4.7 The Design Model and Elements. sseeseneensissenenensinsn ses 4- 4.7.1. Data Design Elements wo 4.7.2 Architectural Design Elements. 4- 4.73. Interface Design Elements... wo 4.7.4 Component Level Design Elements 4- 4.7.5 Deployment Level Design Elements wo 4.8 Component Level Design........ 4- 4.9 Class Based Design... .4- 4.9.1 Basic Design Principle 4- 4.9.2 Component Level Design Guideline. 4° 4.93 Cohesion 4. 4.9.4 Coupling... se 4- 4.10 Conducting Component Level Design ......... in 4- 4.11 Component Level Design for Web Apps 4- 4.11.1 Content Design at the Component Level. 4- 4.11.2 Functional Design at the Component Level 4. Part II: ARCHITECTURAL DESIGN 4.12 Software Architecture... 4- 4.12.1 What is Architecture ? wu. 4 4.12.2 Why is Architecture Important ? 4. 4.12.3 Structural Partitioning... Ae 4.12.4 Difference between Horizontal and Vertical Partition ..n.osensceneneenenel = 4.13 Architectural Styles .... Ae 4.13.1 Architectural Styles... 4° 4.13.1.1 Data Centered Architectures 4 4.13.12 Data Flow Architectures 4 4.13.13 Call and Return Architecture 4 4.13.14 Object Oriented Architecture... 4 4.13.15 Layered Architecture... en a) 4.13.2 Architectural Patterns. ses ade 4.14 Multiple Choice Questions with Answers .........- 4- 7 18 19 19 19 20 20 21 21 22 22 23 23 24 24 24 25 25 25 25 27 27 27 28 28 29 30 31 31 32 (xi)Chapter -5 Risk and Configuration Management (5 - 1) to (5 - 28) PaRT I: RISK MANAGEMENT 5.1 Introduction to Concept of Risk management... 5-2 5.2 Reactive Vs. Proactive Risk Strategies........ 5-2 5.3 Software Risks... 5.4 Risk Identification... 5.4.1 Risk Components and Drivers.. 5.4.2 How to Asses Overall Project Risk ? 5-6 5.5 Risk Projection.. 5.5.1 Building Risk Table 5-8 5.5.2. Assessing Risk Impact 5-9 5.6 Risk Refinement ... 5.7 _ Risk Mitigation, Monitoring and Management... 5.8 The RMMMPlan... Part II: SOFTWARE CONFIGURATION MANAGEMENT 5.9 Concept of Software Configuration Management... 5-14 5.9.1 Goals in Change Management...» . 5-14 5.9.2 Elements of Configuration Management System, 5-15 5.9.3 Baselines 5-15 5.9.4 Software Configuration Items. 5-16 5.10 The SCM Repository 5-17 5.10.1 Role of Project Repository... 5-17 5.10.2 Features... ssn sestnnntnstanesa 5-18 5.11 The SCM Process... 5-18 5.11.1 Identification of Objects in Software Configuration wu 5- 19) 5.11.2 Change Control 5-20 5.11.3 Version Control 5-21 5.11.4 Configuration Audit... 5-22 5.115 Status Reporting....... 5-23 5.12 Configuration Management for Any Suitable Software System... ..5-23 ail)5.12.1 Dominant Issues. 5-23 5.12.2 Content Management. 5-24 5.12.3 Change Management 5-25 5.12.4 Version Control 5-26 5.12.5 Auditing and Reporting... 25-26 5.13 Multiple Choice Questions with Answers 5-26 Lita ed Chapter-6 Software Testing (6 - 1) to (6 - 40) 6-2 6.1 Fundamental Concepts of Testing .... 6.1.1 Testing Objectives 6-2 6.1.2. Testing Principles 6-2 6.1.3 Why Testing is Important ?... 6-2 6.2 A Strategic Approach to Software Testing..... 6-3 6.2.1 Verification and Validation 6-4 6.3 Organizing for Software Testing... 6-6 6.4 Criteria for Completion of Testing .. 6-6 6.5 Strategic Issues. 6-7 6.6. Testing Strategies for Conventional Software sssesssensesee 6-8 6.6.1 Unit Testing.. ese 6-9 6.6.1.1 Errors Identified during Unit Testing 6-10 6.6.1.2 Driver and Stub. 6-11 6.6.2 Integration Testing. 6-11 6.6.2.1 Top Down Integration Testing 6-13 6.6.2.2 Bottom Up Integration Testing sesinnnnnnee® 1B 6.6.2.3 Regression Testing...» snnnnnnesnnnnnnsnnnnene6* Mh 6.6.24 Smoke Testing 6-15 6.6.3 System Testing.......... .6-15 6.6.3.1 Recovery Testing 6-16 6.6.32 Security Testing 6-16 6.6.3.3 Stress Testing. 6-16 (ai)6.6.3.4 Performance Testing 6.7 Testing Strategies for Object Oriented Software... 6.7.1. Unit Testing in OO Context 6.7.2. Integration Testing in OO Context 6.7.3 Difference between OO Testing Strategy and Conventional Testing Strategy 6-19 6.8 Test Strategies for Web Apps... 6-19 6.9 Validation Testing... 6-20 6.9.1 Acceptance Testing. 6-20 6.9.2. Validation Test Criteria 6-21 6.9.3 Configuration Review. 6-22 6.10 Types of Testing ... 6-22 6.11 White Box Testing 6-22 6.11.1 Basis Path Testing..... 6-22 6.1.1.1 Flow Graph Notation sree seosnnnisB 22 6.11.12 Graph Matrices. 6-27 6.11.2 Control Structure Testing 6-28 6.11.21 Condition Testing. 6-29 6.1.2.2 Loop Testing 6-29 6.12 Black Box Testing.. 6-31 6.12.1 Equivalence Partitioning 6-32 6.12.2 Boundary Value Analysis (BVA). 6-33 6.12.3 Graph based Testing eee seanenmnnneneanenminnes® 34 6.12.4 Orthogonal Array Testing... a sence 6 = 34 6.13 Comparison between Black Box and White Box Testing... 6 - 36 6.14 Multiple Choice Questions with Answers ..... Solved Model Question Papers M-1toM-4 (xiv)UNIT -I Introduction to Software Engineering and Process Models Syllabus Software Engineering Fundamentals : Introduction to software e1 Software, Defining Software, Software Engineering Practice Software Process : A Generic Process Model, defining a Framework Activity, Identifying a Task Set, Process Patterns, Process Assessment and Improvement, Prescriptive Process Models, The Waterfall Model, Incremental Process Models, Evolutionary Process Models, Concurrent Models, A Final Word on Evolutionary Processes. Unified Process, Agi sare development: Agile methods, plan driven and agile development. igineering, The Nature of le soft Contents 1.1 Introduction to Software Engineering 1.2 The Nature of Software 1.3 Defining Software 1.4 Software Engineering Practice 1.5 Software Characteristics May-11,14,19, Aug.-17, Oct.-18, Dec.-16, Marks 10 1.6 Software Engineering Myths April-16, Aug. 17, Dec.-17, 18, 19, veces OCCAAD varnesterenn Marks 5 1.7 Generic Process Model. Dec.-19, May-13 Marks 7 1.8 Defining Framework Activity. May-16 Marks 7 1.9 Identifying a Task Set. ceeuennn DOC, April-15, 16, Aug.-17 -May-18, 061-19... - Marks 8 1.10 Process Pattern 1.11 Process Assessment and Improvement 1.12 Prescriptive Process Model 1.13 The Waterfall Model April-16, Dec.-18, Oct-19 Marks 6 1.14 _ Increment Process Model May-18, May-19, Dec.-19 Marks 6 1.15 Evolutionary Process Model 1.16 Comparison between Various Process Models ..... May-11,12,13,14, Dec.-12,13 Marks 8 1.17 Concurrent Models 1.18 Unified Process 1.19 Agile Software Development... AUg.-17, Dec.-17, 18, Oct-19, May-19... Marks 5 7.20 Agile Methods 1.21 Plan Driven and Agile Development 1.22 Multiple Choice Questions a1)Software Engineering 1-2 Introduction to Software Engineering and Process Models Part I: Software Engineering Fundamentals Introduction to Software Engineering “Software engineering is a discipline in which theories, methods and tools are applied to develop professional software product.” In software engineering the systematic and organized approach is adopted. Based on the nature of the problem and development constraints various tools and techniques are applied in order to develop quality software The definition of sofiware engineering is based on two terms : © Discipline : For finding the solution to the problem an Engineer applies appropriate theories, methods and tools. While finding the solutions, Engineers must think of the organizational and financial constraints. Within these constraints only, he/she has to find the solution © Product : The software product gets developed after following systematic theories, methods and tools along with the appropriate management activities. The Nature of Software Sofiware can be applied in a s (algorithm) exists. Based on a complex g categories. ituation for which a predefined set of procedural steps owth of software it can be classified into following © System software : It is collection of programs written to service other programs. Typical programs in this category are compiler, editors ystem and assemblers, The purpose of the software is to establish a communication with the hardware. © Application software : It consists of standalone programs that are developed for specific business need. This software may be supported by database systems. © Engincering/scientific software : This software category has a wide range of programs huttle orbital from astronomy to volcanology, from automative stress analysis to spa dynamics and from molecular biology to automated manufacturing. This software is based o on complex numeric computations. © Embedded software : This category consists of program that can reside within a product id functions for or system. Such software can be used to implement and control feature the end-user and for the system itself. © Web applications : Web application software consists of various web pages that can be retrieved by a browser. The web pages can be developed using programming languages like JAVA, PERL, CGI, HTML, DHTML. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-3 Introduction to Software Engineering and Process Models © Artificial intelligence software : This kind of software is based on knowledge based expert systems, Typically, this software is useful in robotics, expert systems, image and voice recognition, artificial neural networks, theorem proving and game playing. Defining Software Software is nothing but a collection of computer programs and related documents that are intended to provide desired features, functionalities and better performan: Software products may be 1, Generic : That means developed to be sold to a range of different customers. 2. Custom : That means developed for a single customer according to their specification. Software Engineering Practice Following are some principles that focus on software engi principles that are suggested by David Hooker ering practice. These are the 1. Reason for 2. Keep It Simple Stupid(KISS) : Software design must be simple to implement and the resultant software system must be more maintainable and less error-prone. 3. V 4. The produce is getting consumed : While developing the software system, the documentation must be maintained so that the maintenances of the system becomes easy. The intention of software system s to provide value to its users ion : The goal and objective of the software must be defined. Be Open to future : If some cha must be accommodated easily. 2 s need to be incorporated in the system, then those 6. Plan for Reuse : The software system components can be made reusable so that the time and efforts can be saved. The programming techniques like Object oriented programming can be used for it 7. Think : Before performing every software engineering activity think and understand it. Software Characteristics Software development is a logical activity and therefore it is important to understand b characteristi cs of software. Some important characteristics of software are * Software is engineered, not manufactured 1) Software development and hardware development are two different activities. 2) A good design is a backbone for both the activities. 3) Quality problems that occur in hardware manufacturing phase can not be removed easily. On the other hand, during software development process such problems can be rectified. 4) In both the activities developers are responsible for producing quali TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-4 Introduction to Software Engineering and Process Models © Software does not ware out 1)_In early stage of hardware development process the failure rate is very high because of manufacturing defects. But after correcting such defects the failure rate gets reduced 's constant for some period of time and again it starts increasir 2) The failure rate rem because of environmental maladies (extreme temperature, dusts, and vibrations). om such environmental maladies. Hence 3) On the other hand software does not get affected ed curve". But due to some undiscovered errors the ideally it should have an “idealiz failure rate is high and drops down as soon as the errors get corrected. Hence in failure rating of software the “actual curve” is as shown below Fale cues ean tub cures) Sar ater To ofchanges = Manufacturing ‘tects Fare Fare Taenized AC coratnt fare pare Tine Fig. 1.5.1 Failure curves for hardware and software troduced. This 4) During the life of software if any change is made, some defects may ge causes failure rate to be high 5) Before the curve can retum to original steady state another change is requested and again the failure rate becomes high. 6) Thus the failure curve looks like a spike. Thus frequent changes in software cause it to deteriorate. 7) Another issue with software is that there are no spare parts for software. If hardware component wears out it can be replaced by another component but it is not possible in case of software. 8) Therefore software maintenance is more difficult than the hardware maintenance. * Most software is custom built rather than being assembled from components design with desired functioning 1) Whi properties is registers are assembled according to the design, but this is not done while developing e developing any hardware product firstly the circui ated, Then required hardware components such as ICs, capacitors and software product. 2) Most of the software is custom built TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-5 Introduction to Software Engineering and Process Models 3) However, now the software development approach is getting cl reusability of software components anged and we look for 4) It is practiced to reuse algorithms and data structures, 5) Today software industry is trying to make library of reusable components. For example : In today’s software, GUI is built using the reusable components such as message windows, pull down menus and many more such components. 6) The approach is getting developed to use in-built components in the software. This stream of software is popularly known as component engineering, Difference between Hardware Engineering and Software Engineering Sr. No. 1 Hardware Engineering Hardware products are manufactured. The quality problems that occur in hardware manufacturing. pha be removed easily. © can not In early stage of hardware development process, the failure rate is very high because of manufacturing defects, But after correcting such defects the failure rate gets reduced. The failure rate remains constant for some period of time and again it starts increasing because of environmental maladies. There are spare parts available for the hardware components, The hardware unit is assembled from components, Software Engincering Software is engineered and not manufactured, During software development process, various problems ean be identified and rectified. On the other hand, software does not get affected from the environmental maladies. But due to some undiscovered errors the failure rate is high and drops down as soon as the errors get corrected There are no spare parts for software components to replace. Most software is custom built rather than being assembled from components, Define software engineering. What are the software characteristics ? What are the various categories of software ? SU sr ee) Define software engineering. How software engineering is different from hardware engineering ? Justify, Ses) What is software engineering ? What are the characteristics of software ? SPPU : Dec.-16, End Sem, Marks 5 Define terms ‘Software’ and ‘Software engineering’. “Software does not wear out” State whether this statement is true or false. Justify your answer SPPU : Aug-17, Oct.-18, In Sem, Marks 3, May -19, End Sem, Marks 6 TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-6 Introduction to Software Engineering and Process Models Software Engineering Myths There are some misbelieves in the software industry about the softwa nd process of building software. For any software developer it is a must to know such beliefs and reality about them. Here are some typical myths - andards © Myth : Using a collection of s and procedures one can build software. (Management Myth) © Reality : Even though we have all standards and procedures with us for helping the onals to build desired developer to build software, it is not possible for software profe t should product. This is because - the collection which we have should be complet. reflect modern techniques and more importantly it should be adaptable. It should also help the software professional to bring quality in the product. © Myth : Add more people to meet deadline of the project. (Management Myth) Reality : Adding more people in order to catch the schedule will cause the reverse effect on the software project i.e. software project will get delayed. Because, we have to spend more time on educating people or informing them about the project. © Myth : Ifa project is outsourced to a third pa ty then all the worries of software building are over. (Management Myth) * Reality : When a company needs to outsource the project then it simply indicates that the company does not know how to manage the projects. Sometimes, the outsourced projects require proper support for development © Myth : Even if the software requirements are changing continuously it is possible to accommodate these changes in the software. (Customer Myth) © Res ty + It is true that software is a flexible entity but if continuous changes in the requirements have to be incorporated then there are chances of introducing more and more errors in the software. Similarly, the additional resources and more design modifications may be demanded by the software. © Myth : We can start writing the program by using genei ‘al problem statements only. Later ing problem description we can add up the required functionalities in the program. (Customer Myth) on us © Reality : It is not possible each time to have comprehensive problem statement. We have to start with general problem statements; however by proper communication with customer the software professionals can gather useful information, The most important thing is that the problem statement should be unambiguous to begin with. ©) Myth : Once the program is running then its over! (Practitioner's Myth) TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-7 Introduction to Software Engineering and Process Models © Reality : Even though we obtain that the program is running major part of work is after delivering it to customer. © Myth : Working program is the only work product for the software project. (Practitioner's Myth) © Reality : The working program/software is the major component of any software project but along with it there are many other elements that should be pr project such as documentation of software, guideline fo ent in the software software support. © Myth : There is no need of documenting the software project; it unnecessarily slows down the development process. (Practitioner's Myth) Reality : Documenting the software project helps in establishing ease in use of software, It helps in creating better quality and maintaining the software system, Hence documentation is not wastage of time but it is a must for Review Questions 1. What are customer myths ? Discuss the realty of these myths, ny software project SUPT STares 2. What are the practitioner's myths ? Discuss the reality of these myths. 3. PartII: Software Process Generic Process Model Software process can be defined as the structured set of activities that are required to develop the software system. The fundamental activities © Specific ion © Design and implementation © Validation © Evolution A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. 1.7.1. Layered Technology Bag * Software engineering is a layered technology. Any softwa can be developed using these layered approaches. Various layers on which the technology is based are quality management layer, process layer, methods layer, tools layer. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-8 Introduction to Software Engineering and Process Models Automatic Sapper satware Provice echnical etal ‘arcotware Foundation Drsotiere eackbone ofeotiare 1 Software engineering : A layered approach * A disciplined quality management is a backbone of software engineer ig technology. © Process layer is a foundation of software engineering. Basically, process defines the framework for timely delivery of software. © In method layer the actual method of implementation i carried out with the help of requirement analysis, designing, coding using desired programming constructs and testing. Software tools are used to bring automation in software development process. Thus software en} ering is a combination of process, methods, and tools for development of q 2 Review Question 1. Elaborate how software engineering is a layered technology. eso ee Defining Framework Activity The process framework is required for representing the common process activities. As shown in Fig. 1.8.1, the software process is characterized by process framework activities, task sets and umbrella activities. Process framework activities © Communication © By communicating customer requirement gathering is done. © Planning - Establishes engineering work plan, describes technical risks, requirements, work products produced and defines work schedule. lists resource TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-9 Introduction to Software Engineering and Process Models © Modeling - The software model is prepared by © Analysis of requirements © Design © Construction - The software design is mapped into a code by © Code generation o Tes ing © Deployment - The software delivered for customer evaluation and feedback is obtained Software Process Process Framawork Action #1. aate | Wik Teak Milestone SOA Pain Action 1.0 Crasies [Work Task Milestone: SOA Poin Fig. 11 1 Software process framework Review Question 1. Whatare the various umbrella activities applied throughout a software project ? Sess Identifying a Task Set SPPU ; Dec.-11, April-15, 16, Aug.-17, May-18, Oct-19, Marks 8 Task sets : The task set defines the actual work done in order to achieve the software objective. The task set is used to adopt the framework activities and project team requirements usi © Collection of software engineering work tasks TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 41-10 Introduction to Software Engineering and Process Models © Project milestones © Software quality assurance points Umbrella activities The umbrella activities occur throughout the process. on project management, tracking and control. The umbrella activities are They focus 1. Software project tracki nd control : This is an activity in which sofiware team assess progress and take corrective action to maintain schedule. 2. Risk management : The risks that may affect project outcomes or quality can be analyzed. 3. Software quality assurance : These are activities required to mai ain software quality, 4. Formal tec ical reviews : It is required to assess en; g work products to uncover and remove errors before they propagate to next activity, 5. Software configuration management : Managing of configuration process when any change in the software oceur 6. Work product preparation and production : The activ ies to create models, documents, logs, forms and lists are carried out 7. Reusabi 8 M and product measu Y management : It defines criteria for work product reuse. surement : In this activity, the process can be defined and collected. Also projes re used to assist the software team in delivering the required software, 1. Explain the generic framework activities in a software engineering process and also mention the umbrella activities. Sse) 2. What are various umbrella activities applied throughout a software project ? Ss a ee ee ee es What is software process framework ? Explain in detail 4. What are the reasons to have a software process ? What are the issues addressed by umbrella activities in layered model of software engineering. What are the issues addressed by umbrella activities in layered model of software engineering, Sec rks 5 Process Pattern * Process is defined as a series of activities in which one or more inputs are used to produce one or more outputs. © The process pattern is a template which appears as a general solution to a common problem, TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-11 Introduction to Software Engineering and Process Models © Process pattern acts as a consistent method for describing an important characteristic of software proc * Using process pattern we can easily build the process that satisfies all the requirements. © Process pattern describes © Complete process © Important framework activity © Task within the framework activity © Scott Ambler - an object oriented consultant has proposed a template for process pattern as follows © Pattern name © Intent © Type © Initial context © Problem © Solution © Resulting context * Known uses The description of process patter is as follows - Pattern name The pattern name should be a meaningful name given to the pattem. From pattern name one can guess its functionality Intent The objective or the purpose of the pattern should be deseribed here. Type The type of pattern should be specified here. Ambler has suggested three types of patterns sk Pattern - It represents the software enginee process. For example, Formal Technical review is a task pattern. 2 action or work task which is a part of 2) Stage Pattern - It defines the process framework activity. A framework activity has multiple work tasks; hence stage pattern consists of multiple task pattems. For exampl: Coding phase is a stage pattern 3) Phase Patterns - It defines the sequence of framework activities, For example the phrase pattern can be spiral model or rapid prototype model. Initial context In this section the rribed. conditions under which the pattern applies are dk Sometimes the entry conditions must be true before the process begins TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 4-12 Introduction to Software Engineering and Process Models In this section following issues need to described 1. The set of organisational or team related activities that have already occurred. 2. The list of entry state processed. 3. Already existing software engineering or project related information. Problem Under this section the problem is mentioned for which the pattem is to be described. For example : insufficient requirements is a problem, That means customers are not sure about what they want exactly. They could not specify the requirements in proper manner. Solution Every problem for which pattern has to be deseribed should be accompanied with some solution. For example: The problem of insufficient requirements has solution, That is - Establish effective communication with the customer. Ask questions in order to obtain meaningful requirements. Conduct timely reviews to modify/redefine the requirements. This solution will help the software developer to get useful information before the actual work starts, Resulting context It describes the results after successful implementation of pattern, The resulting context should have following type of information on successful completion of pattem - 1. The team-related or organizational activities that must have occurred. Exit state for the proc s. ‘The software engineering information or project information that has been developed. Known uses/Examples The specific instances or applications in which the described pattem is usefull should be mentioned under this section, In other words we describe applicability of the pattern. For example : spiral model is useful for the large scale projects in which work products must be examined in several iterations. Process Assessment and Improvement Normally process is suffered by following problems - 1. The software has to be delivered on time. 2. The software should satisfy customer needs and requirements 3. The software should posses the long term quality characteristics. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 18 Introduction to Software Engineering and Process Models sonware process vA T \ Analyzed by By improving the { Capabilities and process changes risk of processes initcanbe made [ Software process] _can be identified assessmer Leads to Leads to — Software process heel improvement Capability determination Fig. 1.11.1 Software process assessment Process assessment is an activity in which it is ensured whether the software meets the basic criteria for successful software engineering project. Following approaches are used for software assessment - Standard CMMI assessment method for process improvement It is a five step process assessment model. These five steps are initiating, diagnosing, establishing. and learning. This model makes use of SEI CMM as the base model. CMM-based appraisal for internal process improvement This method provides the diagnostic technique for internal process assessment SPICE Using this standard all the requirements are analyzed for software process assessment. This standard helps in doing an objective evaluation on effi ISO 9001:2000 iency of any process. This is a popularly used standard for improving the overall quality of the organization. The International Organization for Standardization i.e. ISO has developed this standard. Prescriptive Process Model model can be defined as the abstract representation of process. The appropriate process model can be chosen based on abstract © Definition of Process Model : The proce: representation of process. © The software process model is Model or software paradigm. so known as Software Development Life Cycle (SDLC) © These models are called prescriptive process models because they are following some rules for correct usa © In this model various activities are carried out in some spec’ desired software product. sequence to make the TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-14 Introduction to Software Engineering and Process Models 1.12. Various prescriptive process models are as shown in Proscripive proves models remonial process modal Evoutonary process macel Incremental Prototyping mode! pap moder [Stil model | concurrent dovelopmmant model Fig. 1.12.1 Prescriptive process model 1.12.1 Need for Process Model The software development team must decide the process model that is to be used for software produ nd then the entire team must adhere to it. This is ne be development sary use the software product development can then be done systematically Each team member will understand - what is the next activity and how to do it, Thus process model will bring the definiteness and discipline in overall development process. sts of del Every process model cons fe entry and exit eriteria for each phase. Hence the transition of the product through various phases is definite. If the process model is not followed for software development then any team member can perform any software development activity, this will ultimately cause a chaos and software project will definitely fail without using process model, it is difficult to monitor the progress of software product. Thus process model plays an important rule in software engineering. The Waterfall Model The waterfall model is also called as 'linear-sequential model or ‘classic life cycle mode!’ It is the oldest software paradigm. This model suggests a systematic, sequential approach to software development. The software development starts with requirements gathering phase. Then progresses through analysis, design, coding, testing and maintenance, Following figure illustrates waterfall model TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-15 Introduction to Software Engineering and Process Models Requrement gathering and analysis Desicn - 1.13.1 Waterfall model © In requirement gathering and analysis phase the basic requirements of the system must be understood by software engineer, who is also called Analyst. The information domain, function, behavioural requirements of the system are understood. All these requirements re then well documented and discussed further with the customer, for reviewing, © The de nis an intermediate step between requirements analysis and coding ssign focuses on program attributes such as - © Data strueture © Software architectu © Interface representation © Algorithmic details The requirements are translated in some easy to represent form using which coding can be done effectively and efficiently. The design needs to be documented for further use. © Coding is a step in which design is translated into mac done e-readable form. If design is in suff ted in this jent detail then coding can be done effectively. Programs a1 e cr phase. © Testing begins when coding is done. While performing testing the major focus is on logical internals of the software. The testing ensures execution of all the paths, functional behaviours. The purpose of testing is to uncover errors, fix the bugs and meet the customer requirements. © Maintenance is the I ngest life cycle phase. When the system is installed and put in practical use then error may get introduced, correcting such errors and putting it in use is the major purpose of maintenance activity. Similarly, enhancing system's services as new requirements are discovered is again maintenance of the system. This model is widely used model, although it has many drawbacks. Let us discuss benefits and drawbacks. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-16 Introduction to Software Engineering and Process Models Benefits of waterfall model 1. The waterfall model is simple to implement. 2. For implementation of small systems waterfall model is useful Drawbacks of waterfall model There are some problems that are encounter ed if we apply the waterfall model and those are 1. It is difficult to follow the sequential flow in software development process. If some changes are made at some phases then it may cause some confusion. 2. The requirement analysis is done initially and sometimes it is not possible to state all the requirements explicitly in the beginning, This causes difficulty in the project. 3. The customer can see the working model of the project only at the end. After reviewing of the working model; if the customer gets dissatisfied then it causes s ‘ous problems. 4, Linear nature of waterfall model induces blocking states, because certain tasks may be dependant on some previous tasks. Hence it is necessary to accomplish all the dependant tasks first, It may cause long waiting time, Emin Explain how systems fall model is applicable for the development of the follozwing a) University accounting system b) Interactive system that allows railway passengers to find time and other information from the terminals installed in the station. Solution : a) University accounting system : If the software developers who have the experience in developing the account systems then building university account system based on existing design could be easily managed with water-fall model. b) Interactive system that allows railway passengers to find time and other information from the terminals installed in the station. © For developing such interactive system, all the requirements must be correctly identified and analyzed before the designing of the project. © The requirements of end-users must be correctly and un-ambiguously understood by the developers prior to design pha © Once the requirements are well defined then using disciplined design, coding and testing phases the required system can be built u ing water-fall model. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 117 Introduction to Software Engineering and Process Models ORME What is meant by ‘blocking states’ in linear sequential model ? Solution : © The linear nature of linear sequential model brings a situation in the project that some project team members have to wait for other members of the team to complete the dependent tasks in lineal This situation is called “blocking state’ sequential model. © For example, after performing the requirement gathering process can be started. nd analysis step the design © Hence the team worl 1g on design stage has to wait for gathering of all the necessary requirements. Similarly the programmers can not start coding step unless and until the design of the project is completed. 1. Whatare the elements of waterfall model ? State its merits and demerits. SPPU : April-16, In Sem, Marks 6 2. Explain classic life cycle paradigm for software engineering and problems encountered when it is applied. Sees Cee ed 3. Why waterfall model of software engineering is not accurate reflection of software development activities? Justify. Sea ee ed Increment Process Model slid Pace ery DESC eee In this model, the initial model with limited functionality is created for user's understanding about the software product and then this model is refined and expanded in later releases. 1.14.1 Incremental Model © The incremental model has same phases that are in waterfall model. But it is iterative in nature. The incremental model has following phases, 1. Analysis 2. Design 3. Code 4. Test © The incremental model deliver series of releases to the customer. These releases are called increments. More and more functionality is sociated with each increment. © The first nerement is called core product implemented and then In this release the basic requirements are subsequent increments new requirements are added. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-18 Introduction to Software Engineering and Process Models * The word processing software package can be considered as an example of incremental model. In the rst increment only the document processing facilities are available. In the second increment, more sophisticated document producing and processing facilities, file management functionalities are given. In the next increment spelling and grammar checking facilities can be given. Thus in incremental model progressive functionalities are obtained with each release. When to choose it ? 1. When requirements are reasonably well-defined, When overall scope of the development efi rt suggests a purely linear eft 3. When limited set of software functionality needed quickly. Merits of incremental model 1. The incremental model can be adopted when there are less number of people involved in the project. 2. Technical risks can be managed with each increment. 3. Fora very small time span, atleast core product can be delivered to the customer. [aie]-+ [Donan ]-+ [Sate [om Increment wit ‘enhanced functionalities Tnrement i O-O-o-0 Trevament Crore Sofware function Tharemant aT |< increment with very Decor limited functionality Tine Fig. 1.14.1 The incremental model Demerits 1) System structure tends to degrade when new increment is getting added to the existing system. This actually spends time and mone: y on refactoring to improve the software 2) Itis not cost effective to produce document for every version of the system, hence many times the complete process is not getting documented. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-19 Introduction to Software Engineering and Process Models 1.14.2 RAD Model * The RAD model is a type of incremental process model in which there is extremely short development cyele. © When the requirements are fully understood and the component based construction approach is adopted then the RAD model is used. © Using the RAD model the fully functional system can be developed within 60 to 90 days. * Various phases in RAD are Requirements Gathering, Analysis and Planning, Design, Build or Construction and finally Deployment. © Multiple teams work on developing the software system using RAD model parallely © In the requirements gathering phase the develope s communicate with the users of the tem and understand the bus ness process and requirements of the software system. © During analysis and planning phase, the analysis on the gathered requirements is made and a planning for various software development activities is done. Development process, Tear Design ean uid Requirements Design ‘nent = [+ — Ll oaen ona Analysis ‘and planning S5=s05) f+ 5010 90 days pers ——e| Fig. 1.14.2 Rapid application development © During the design phase vari data model and process model. us models are created. Those models are Business model, TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 20 Introduction to Software Engineering and Process Models © The build is an activity in which using the existing software components and automatic code generation tool the implementation code is created for the software system, This code is well tested by its team. The functionalities developed by all the teams are integrated to form a whole. © Finally the deployment of all the software components (created by various teams working on the project) is carried out. Drawbacks of rapid application development It requires multiple teams or large number of people to work on the scalable projects. This model requires heavily committed developer and customers. If commitment is lacking then RAD projects will fail The projects using RAD model requires heavy 80 ces. 4. If there is no appropriate modularization then RAD projects fail. Performance can be problem to such projects. The projects using RAD model find it difficult to adopt new technologies. ESORRERD Wich type of applications suit RAD model ? Justify your answer. Solution : The RAD model is suitable for information sy em applications, business applications and the for systems that can be modularized because of following reasons - This model is similar to waterfall model but it uses very short development cycle. 2. It uses component-based construction and emphasises reuse and code generation. 3. This model uses multiple teams on scaleable projects. 4. The RAD model is suitable for the projects where technical risks are not high. ‘The RAD model requires heavy resources. % Review Questions 1. Explain with neat diagram incremental model and state its advantages and disadvantages LSE ed 2. Whatare the conditions in which rapid application development model is preferred? May-19, End Sem, Marks 5 3. Explain RAD model with the help of diagram Evolutionary Process Model While developing the software systems, it is often needed to make modifications in earlier development phases or the tasks sets. If the development process is linear or in a straight line (from requirements gathering to deployment) then the end product will be unrealistic. In such cases, the iterative approach needs to be adopted. The evolutionary process model is iterative model. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-21 Introduction to Software Engineering and Process Models 1.15.1 Prototyping In prototyping model initially the requirement gathering is done. Developer and customer define overall objectives; identify areas needing more requirement gathering. Then a quick design is prepared. This design represents what will be visible to user in input and output format From the quick design a prototype is prepared, Customer or user evaluates the prototype in e the requirements. Iteratively prototype is tuned for satisfying customer order to rel requirements. Thus prototype is important to identify the software requirements. When working prototype is built, developer use existing program fragments or program generators to throw away the prototype and rebuild the system to high qualit Certain classes of mathematical algorithms, subset of command driven systems and other xamined without real time interaction can be applications where results can be easily developed using prototyping paradigm. Communication Builing of vain ‘quick customer design ee a Construction delivery Fi ee prototyoe. foodoack Fig. 1.15.1 Prototyping When to choose it ? Software applications that are relatively easy to prototype almost always involve Human- machine Interaction (HCI) the prototyping model is suggested. A general objective of software is defined but not detailed input, processing or output requirements, Then in such a case prototyping model is useful. When the developer is unsure of the efficiency of an algorithm or the adaptability of an operating system then prototype serves as a better cho ice. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-22 Introduction to Software Engineering and Process Models Merits 1. The development team has adequate domain knowledg: 2. All the 3. There is use of reusable components, nd users are involved in all phases of development. Drawbacks of prototyping 1. In the first version itself, customer often wants “few fixes” rather than rebuilding of the sy The fit stem whereas rebuilding of new tem maintains high level of quality version may have some compromis 3. Sometimes developer may make implementation compromises to get prototype working quickly. Later on developer may become comfortable with compromises they are inappropriate. and forget why Comparison between prototyping and incremental process model Sr. No. Prototyping 1 Some requirements are gathered initially, but there may be change in when the requirements working prototype is shown to the customer. The development team has adequate domain knowledge. Similarly they can adopt the new technologies if product demands. 3 Alll the end-users are involved in all phases of development. 4. There can be use of some reusable software components in project development process 1.15.2 Spiral Model Incremental process model The requirements are precisely defined and there is no confusion about the final product of the software, The development team with less domain commodated due to iterative knowledge ean be a nature of this model. The change in technology in the later phase can not be tolerated. All the end-users need not be involved in all the phases of development. There is no use of reusable components in development process. © This model possess the iterative nature of prototyping model and controlled and systematic approaches of the linear sequential mode * This model gives efficient development of incremental versions of software. In this model, the software is developed in series of increments TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-23 Introduction to Software Engineering and Process Models The spiral model is divided into a number of framework activities. These framework activities are denoted by task regions. © Usually there are six tasks regions. The spiral model is as shown in Fig. 1.1 © Spiral model is realistic approach to development of large-se: je systems and software. Because customer and developer better understand the problem statement at each evolutionary level. Also risks can be identified or rectified at each such level. © In the initial pass, product specification is built and in subsequent passes around the spiral the prototype gets developed and then more improved versions of software gets developed. Planning Risk analysis Customer ‘cersmunicaion JEraTBing Project entry pin axis projec rmainteranea} Customer evaluation Construction ‘and feedack ‘and release Fig. 4.15.2 Spiral model © During planning phase, the cost and schedule of software can be planned and adjusted based on feedback obiained from customer evaluation. © Inspi | model, project entry point axis is defined. This axis represents starting point for different types of project: For instance, concept development project will start at core of spiral and will continue along the spiral path. If the concept has to be developed into actual project then at entry point 2 the product development process starts, Hen e entry point 2 is called product development project entry point. The development of the project can be carried out in iterations. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-24 Introduction to Software Engineering and Process Models © The task regions can be described as : i) Customer communication : In this reg sted to establish customer ion, it is su; communication. ii) Planning : All planning activities are carried out in order to define resources time line and other project related activities. is : The tasks required to calculate technical and management risks are carried Risk analysi out. ntations of iv) ngineering : In this task region, tasks required to build one or more repr applications are carried out v) Construct and release : All the necess application are conducted. Some tas! carried out in this task region. ary tasks required to construct, test, install the s that are squired to provide user support are also al vi) Customer evaluation : Customer's feedback is obtained and based on customer evaluation required tasks are performed and implemented at installation stage. + Ineach region, number of work tasks are carried out depending upon the characteristics of project. For a small project relatively small number of work tasks are adopted but for a complex project large number of work tasks can be carried out © In spiral model, the software engineering team moves around the spiral in a clockwise direction beginning at the core, Advantages of spiral model © Requirement chang: © Ris Drawbacks of spiral model s can be made at every stage. s can be identified and rectified before they get problematic. © It is based on customer communication. If the communication is not proper then the software product that gets developed will not be up to the mark. © Itdemands considerable risk assessment. If the risk assessment is done properly then only the successful product can be obtained. When to choose it ? 1. When the prototypes for the software functionality are needed. When requirements are not very clearly defined or complex. When the large or high budget projects need to be developed. 4, When the risk assessment is very critical and essential When project is not expected within a specific limited time span. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 41-25 Introduction to Software Engineering and Process Models Comparison between Spiral mode! and Prototyping model Sr.No. Spiral model Prototyping model 1, The development team with less domain The development team has adequate knowledge can be accommodated due to domain knowledge. Similarly they can iterative nature of this model. The change in adopt the new technologies if product technology in the later phase can not be demands, tolerated 2, All the end-users need not be involved in all Alll the end-users are involved in all ph the phases of development of development 3. Funding are not stable for the projects that Funding are stable for these type of can be developed using spiral model projects. 4, The requirements that are gathered and Some requirements are gathered initially, analyzed are high reliability requirements. but there may be change in requirements when the working prototype is shown to the customer. PEEEERRERD 4s you move outward along with process flow path of the spiral model, zwhat can ‘we say about the software that is being developed or maintained ? Solution : When software engineering team moves around the spiral, the first circuit around the spiral results around the in development of product specification. The subsequent pass spiral might be used to develop prototype in more subsequent manner, In each pass, through planning region, some adjustments to project plan are made. Cost and schedule adjustments can also be made according to customer feedback. EERRESY How coes “Project Risk” factor affect the spiral model of software development ? Solution : The spiral model demands considerable risk assessment bet ause if a major risk is not uncovered and managed, problems will occur in the project and then it will not be acceptable by end user. ORREED How does a spiral model represent a proces: problens ? uitable to represent a real time Solution : Spi al model represents a process suitable to represent a real time problem because of followi reasons - 1. Software evolves as the project progresses. And at every evolutionary level the risks are identified and managed and risks are reduced at every stage. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-26 product. It helps in adopting the approach sy 3. The iterative frameworks help in analyzing ¢ 4. The spiral model demands a direct consider Introduction to Software Engineering and Process Models It enables the developer to apply the prototype approach at any stage in the evolution of the stematic stepwise development of the product. fhe product at every evolutionary stage. ation of technical risks at all stages of project. ‘The risks are reduced before they get problematic. Comparison between Various Process Models 1. Evolutionary and Incremental Process Model Sr.No. Evolutionary process model Incremental process model 1. Some requirements are gathered The requirements are precisely defined and there initially, but there may be change in is no confusion about the final product of the requirements when the working _ software. prototype is shown to the customer 2. The development team has adequate The development team with less domain domain knowledge. Similarly they can knowledge can be accommodated due to adopt the new technologies if product iterative nature of this model. The change in demands technology in the later phase cannot be tolerated, 3. All the end-users are involved in all All the end-users need not be involved in all the phases of development phases of development. 4. There can be use of some reusable There is no use of reusable components in software components in project development process 2. Waterfall Model and Spiral Model Sr. No. 1 Waterfall model It requires well understanding of requirements and —_ familiar technology. Difficult to accommodate changes after the process has started. 3. Can accommodate iteration but indirectly. 4. Risks can be identified at the end which may cause failure to the product, development process. Spiral model It is developed in iterations. Hence the requirements can be identified at new iterations, ‘The required changes can be made at every stage of new version. Itis iterative model. Risks can be identified and reduced before they get problematic TECHNICAL PUBLICATIONS® st for knowledgeSoftware Engineering 1-27 Introduction to Software Engineering and Process Models The customer can see the working model of the project only at the end. Afier reviewing of the working model; if the customer gets dissatisfied then it causes serious problems. Customers prefer this model This model is good for small systems Ithas sequential nature The customer can see the working product at certain stages of iterations. Developers prefer this model. This model is good for large systems. Ithas evolutionary nature. 3. Waterfall, Spiral, Prototype and Incremental Model Requirements be clearly understood Waterfall model Spiral model must The requirements analysis and gathering and defined at the can be done in beginning only. iterations because requirements get changed quite often. The development The development team having the team having — less adequate experience experience of working of working on the on the similar projects similar project is is allowed in this chosen to work on process model this type of process model There is no user There is no user development process. wolvement in all involvement in all the phases of phases of development process, Prototyping model Requirements analysis can be made in the later stages of the development cycle, because requirements get changed quite often The development team having less experience of working on the similar projects is allowed in this process model There is user involvement in all the phases of development process, Incremental model The requirements analysis can be made in the later stages of the development eyele The development team having the adequate experience of working on the similar project is chosen to work on this type of process model. There is user wolvement in all the phases of development process. TECHNICAL PUBLICATIONS®. An up trust for knowledgeSoftware Engineering 1-28 Introduction to Software Engineering and Process Models When the Due to iterative nature When developer is When the requirements requirements are of this model, the risk unsure about the are reasonably well reasonably well identification and efficieney of an _ defined, the development defined and the rectification is done algorithm or the effort suggests a purely development effort before they get. adaptability of an linear effort and when suggests a purely problematic. Hence for operating system then limited set of software linear effort then the handling real time the prototyping functionality is needed model is problems the spiral _ model is chosen. quickly then the model is chosen. incremental model is chosen, What is software process model ? Explain the incremental process model. Explain evolutionary process models mentioning the types of projects for which they are suitable Explain the waterfall model with its advantages and disadvantages. Explain the waterfall model with work products of each activity. Explain the prototyping model with its advantages and disadvantages. Give the need of different process models in software development. Se SsEm ees What do you mean by evolutionary process models ? Explain spiral model as an evolutionary process model. Eee en Concurrent Models © The concurrent development model is also called as concurrent engineering. © In this model, the framework activities or software development tasks are represented as states * The modeling or designing phase of software development can be in one of the states like under development, waiting for modification, under revision or under review and so on. Fig. 1.17.1 represents these states. (Refer Fig. 1.17.1) TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-29 Introduction to Software Engineering and Process Models een oo {er ] Tas ion ee i 1 f Bele] I mete Fig. 1.17.1 Concurrent development model © All the sofiware development activities exist concurrently in this model but these can be in various states. © These states make transitions. That is during modeling, the transition from under development state to waiting for modification state occurs. © This model basically defines the series of events due to which the transition from one state to another state occurs. This is called triggering. These series of events occur for every software development activity, action or task. © This model defines various activities that occur concurrently and a network of activities is defined. Advantages 1. All types of software development can be done using concurrent development model, curate picture of current state of proje 2. This model provides a 3. Each activity or task can be carried out concurrently. Hence this model is an efficient Unified Process ‘The unified process is a framework for object oriented models. This model is also called as Rational Unified Process model (RUP). It is proposed by Ivar Jacobson, Grady Bootch and James Rumbaugh. This model is iterative and incremental by nature. Let us discuss various phases of unified process. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-30 Introduction to Software Engineering and Process Models There are 5 phases of unified process model and those are - © Inception © Elaboration * Construction © Transition © Production Let us understand each of these phases in detail. Inception © In this phase there are two major activities that are conducted : Communication and planning. © By having customer communication business requirements can be identified. © Then a rough architecture of the system is proposed. Using this rough architecture it then becomes easy to make a plan for the project. * Use eases are created which elaborates the user s el cenario. ing use cases the sequence of actions can be identified. © Thus use cases help to identify the cope of the project which ultimately proves to be the basis for the plan Planning CCommunicaton Modetra Elaboration * Elaboration can be done using two activities : Planning and Modelling. © In this phase the use cases are redefined. And an architectural representation is created ive models such as use-case model, analysis model, de: using ign model, implementation model and deployment model. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-31 Introduction to Software Engineering and Process Models © Thus executable baseline gets created. © Then a plan is created carefully to check whether scope, risks and delivery dates are reasonable. Construction * The main activity in this phase is to make the use cases operational. © The analysis and design activities that are started in elaboration phase are completed in this h phase and a so e code is developed whi mplements all desired functionalit © Then unit test ng is conducted and acceptance testing is carried out on the use cases. Transition © In the transition phase all the activities that are required at the time of deployment of the software product are carried out. © Beta testing is conducted when software is delivered to the end user. © User feedback report is used to remove defects from the created system, © Finally software team prepares user manuals, installation guides and trouble shooting procedures. This makes the software more usable at the time of release. Production © This is the final phase of this model, In this phase mainly the maintenance activities are conducted in order to support the user in operational environment. © Various work products that may get generated in every phase are as given below - Inception phase Elaboration phase Construction phase Transition phase © Initial use case © Use case model © Design model © Delivered software model. © Requirements # Software increments «© Initial risk analysismodel components © Beta test report assessment, © Architecture model # Test plan © User feedback «© Project plan, © Preliminary design model Test cases report. Risk list © User manual @ Iterative project plan «Installation manual Preliminary user manual © Thus the generic sofiware process models are applied for many years in software development process in order to reduce chaos in the proc: of development. © Each of these models suggest different process flow but they insist on performing the same set of generic framework activities. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 41-32 Introduction to Software Engineering and Process Models Agile Software Development © In 1980's the heavy weight, plan based software development approach was used to develop any software product. © In this approach too many things are done which were not directly related to software product being produced. © This approach was rigid, That means if requirements get changed, then rework was essential. © Hence new methods were proposed in 1990’s which are known as agile process © The agile processes are the light-weight methods are people-based rather than plan-based methods. © The agile proce: design and documentation. s forces the development team to focus on software itself rather than is to deliver the © The agile process believes in iterative method. The aim of agile proces working model of software quickly to the customer. © For example : Extreme programming is the best known of agile process. Conventional Software Development Methodology , the cost of the cl * As the software project makes the progres anges increases non linearly. © Iris easy to accommodate changes during the requirement gathering stage. At this stage to accommodate the changes - usage scenarios are modified, list of functions can be extended, or written specification be edited. * As the progresses and if the customer suggest the changes during the testing phase of the ectural software development life cycle then to accommodate these changes the arch design needs to be modified and ultimately these chi nges will affect other phases of software development cycle. These changes are actu lly costly to execute Agile Methodology © The agile method proponents claim that if the software development is carried out using the agile approach then it will allow the software te m to accommodate changes late in a software project without dramatic cost and time impact © In other words, if the incremental delivery is combined with agile practices such as continuous unit testing and pair programming then the cost of changes can be controlled. © The following graph represents how the software development approach has a strong influence on the development cost. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-33 Introduction to Software Engineering and Process Models Cost of changes dus to conventional software process: oat oF henge: due 1 agile process Developement cast Tire Fig. 1.19.1 Influence of software development approach on agile process 1.19.1 Agility Principles There are famous 12 principles used as agility principles - 1. Satis 2. The ch: late in the software development process, the agile proc y the customer by early and continuous delivery of valuable softwa must be accommodated. Even though the ch should help to accommodate nges in the requirements them, Deliver working software quite often. Within the shorter time span deliver the working unit. 4, Business people and developers must work together throughput the project. Motivate the people who are building the projects. Provide the environment and support to the development team and trust them for the job to be done. 6. The working software is the primary measure of the progress of the software development. 7. The agile software development approach promote the constant pr ject development. The constant speed for the development of the product must be maintained. 8. To enhance the agility there should be continuous technical excellence. 9. The proper attention to be given to technical exeellence and good design 10. The simplicity must be maintained while developing the project using this approach. 11. The teams must be the self-organizing team for getting best architecture, requirements and design. At regular intervals the team thinks over the issue of becoming effective. After the careful review the team members adjusts their behavior accordingly. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-34 Introduction to Software Engineering and Process Models 1.19.2 Concept of Agile Process Agile process is based on following assumptions about software projects 1. It is difficult to predict the software requirements in advance. Similarly the customer P 2. Itis difficult to predict how much design is necessary before the implementation. ‘ority often get changed. All the software development activities such as analysis, design, construction and testing are just difficult to predict. Characteristics of Agile process are - Agile processes must be adaptable to technical and environmental changes. That means if any technological changes occur, then the gile process must accommodate it, 2. The development of agile processes must be incremental. That means, in each development the increment should contain some functionality that can be tested and verified by customer. 3. The customer feedback must be used to create the next increment of the process. 4, The software increment must be delivered in short span of time. 5, It must be iterative, so that each increment can be evaluated regularly 1.19.3 Software Evolution and Merits and Demerits of Agile Methods Software evolution : Software evolution is a process of developing a software initially and repeatedly updating it for various reasons. Software change occurs because of following reasons. 1. New requirements emerge when the software is used 2. The bu: ness environment changes. 3. Errors needs to be repaired. 4, New equipment must be accommodated. 5. The performance or reliability may have to be improved. Agile process model Merits : 1) Customer satisfaction can be attained by rapid and continuous delivery of usefull software. 2) Customer, developer and tester inte with each other during software development process. 3) Continuous attention can be given for excellent technical design and software quality. 4) Even late changes in requirements can be accommodated TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 35. Introduction to Software Engineering and Process Models Demerits : 1) There is lack of emphasis on necessary designing and documentation during sofiware development process. 2) The proje: ‘3 Review Questions 1. Describe agile manifesto. 2. Whatis agility? Explain about process model. 3. Whats the importance of agile/XP methodology for project development? SRS Ce oe Cee eo ed easily get off the track if customer is not cl ments. ar about his requir Agile Methods There are various agile process models 1, Extreme Programming 2. Adaptive Software Development 3. Dynamic System Development Method 4, Scrum 5. Feature Driven Development 6. Agile Modeling Let us discuss them in detail, 1.20.1 Adaptive Software Development (ASD) © The adaptive software development approach was proposed by Jim Highsmith, This approach is useful in building the complex software systems using iterative approach © The focus of this method is on working in collaboration and team self organization. © The life cycle of ASD consists of three phases of software dev opment and those are - 1. Speculation 2. Collaboration 3. Learning. Fig. 1.20.1 Adaptive software development life cycle TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 36 Introduction to Software Engineering and Process Models In this 1, Speculation : This is an initial phase of the adaptive software development process phase the adaptive cycle planning is conducted. In this cycle planning mainly three types of information is used such as - Customer's mission statement, project constraints (delivery date, user description, budgets and so on) and basic requirements of the project 2. Collaboration : The motivated people work in collaboration to develop the desired software product. In this phase collaboration among the members of development team is a key factor. For successful collaboration and coordination it is necessary 10 have following qualities in every individual - Assist each other without resentment Work hard ° ° © Poses the required skill set. © Communicate problems and help each other to accomplish the given task ° Criticize without any hate ning : As the team members go on developing the components, the emphasize is on arning new skills and techniques. There are three ways by which the team members am s is obtained about the software © Focus groups : The feedback from the end-u component being developed. Thus direct feedback about the developed component can be obtained, © Formal technical review : This review for software components is conducted for better quality © Postmortems : The team analyses its own performance and makes appropriate improvements. 1.20.2 Dynamic System Development Method (DSDM) In this agile method, the project deadline is met using the incremental prototyping approach. This is an iterative development process. The Dynamic System Development Method (DSDM) consortium has defined an agile alled DSDM life eyele. Various phases in this life cycle model are as follows - process model 1. Feasibility study : By analyzing the business requirements and constraints the viability of the application is determined in this phase. 2. Business study : The functional and informational requirements are identified and then the business value of the application is determined. The basic application architecture is decided in this phase TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-37 Introduction to Software Engineering and Process Models Functional model iteration : The i \eremental approach is adopted for development. The basic functionalities are demonstrated to the customer by building the suitable increments. The intention of iterative cycle is to gather additional requirements by eliciting the requirements from the customer as each prototype is being developed. 4. Design and build iteration : Each prototype is revisited during the functional model iteration to ensure that the business requirements are satisfied by each software component Sometimes if possible, the design and build activities ean be carried out in parallel. 5. Implementation : In this phase, the software increment is placed in the working environment. If changes are suggested or if the end-user feels it incomplete then the increment is placed in iteration for further improvement The DSDM model ation ‘an be combined with XP method or ASD concepts to create a combi 1.20.3 Scrum © SCRUM is an agile process model wh th is used for developing the complex software systems. * Itis a lightweight process framework that can be used to manage and control the software development using iterative an the overhead of the process time. cremental approach. Here the term lightweight means kept as small as possible in order to maximize productive © This model is developed by Jeff Sutherland and Ken Schwaber in 1995. Principles © Various principles using which the SCRUM works are as given below - 1. There are small working teams on the software development projects. Due to this num overhead. there is maximum communication and mini The tasks of people must be partitioned into small and clean packets or partitions. 3. The process must accommodate the technical or business ehanges if they occur. 4. The process should produce software increments. These increments must be inspected, tested, documented and built on. During the product building the constant testing and documentation must be conducted. 6. The SCRUM process must produce the working model of the product whenever demanded or required. © Various development activities (requirements analysis, design, evolution and delivery) are guided by SCRUM principles. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-38 Introduction to Software Engineering and Process Models Development Activities defines a set of development activities. Refer Fig. 1.20.2. In SCRUM emphasize is on software process pattern, The software process pattern Simin dally ‘meeting 1. What a activites ? 2. Obslacies ? 24 Hour 3. Next meetin| plan? 30 Daye Sprint backlog increment Produet backlog va specie functionality ig. 1.20.2 SCRUM workflow activities Various development activities in SCRUM are - Backlog : It is basically a list of project requirements or features that must be provided to the customer. The items can be included in the backlog list at any time. The product list and updates the priorities as per the requirements. manager analyses this Sprint : These are the work units that are needed to achieve the requirements mentioned in the backlogs. Typically the sprints have fixed duration or time-box (typically of 2 to 4 weeks). Thus sprints allow the team members to work in stable and short-term environment. Meetings : These are 15 minutes daily meetings to report the completed activities, obstacles and plan for next activities. Following are three questions that are mainly discussed during the meetings i) What are the tasks done since last meeting ? ii) What are the issues (obstacles) that team is facing ? iii) What are the next activities that are planned ? Demo : During this phase, the software increment is delivered to the customer. The implemented functionality which is demonstrated to the customer. Note that demo focuses on only implemented functionalities and not all the planned functionalities (and yet to get implemented) of the software product. TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 1-39 Introduction to Software Engineering and Process Models Roles: 1, Scrum Master - The Scrum master leads the meeting and analy the response of each team member. The potential problems are discussed and solved in the meeting with the help of master. 2. Team Members - These are the persons working in a team to develop the software solutions. Advantages and Disadvantages Advantages : 1. SCRUM model brings transparency in project development status. 2. It provides flexibility towards the changes. 3. There is improved communication, minimum overhead in development process. 4. The productivity can be improved. Disadvantages : 1. Some decisions are hard to track in fixed time spa 2. There are problems to deal with non-functional requirements of the system, 1.20.4 Feature Driven Development (FDD) © Originally Peter Coad suggested this approach for object oriented software engineering. © Stephen Palmer and John Flesing has extended and enhanced Coad's work. * In FDD, the feature means client valued function. It is an iterative and incremental software development process In FDD, the collaborative activities are carried out. These activities are called as proc shown in Fig, 1.20.3 List of Developmen! Design Client valued features plan functionality ig. 1.20.3 Feature driven development life cycle TECHNICAL PUBLICATIONS®. An up thrust or knowledgeSoftware Engineering 41-40 Introduction to Software Engineering and Process Models © Various phases in the FDD life cycle are 1. Dev domain walkthroughs are conducted. Later on peer reviews and discussions are carried out Jop overall model : In this phase the high-level walkthrough of scope and detailed on these walkthroughs and domain area models are created. These domain area models are then merged into the overall models. 2. Build features list : Initially the list of features is created. The domain is functionally decomposed into various subject areas. These subject areas contain the business activities. The steps within business activity forms the categorized feature list. Features are basically the client vi Jued functions and can be expressed in the form.
For example “Display product-specifications of the product! t t+ 4 4
3. Plan by feature : After completing the building of feature list the development plan created. The features are assigned as classes and are chief programmer or the class owner is assigned with appropriate classes. h feature. A chief 4. Design by feature : A design package was produced for programmer selects a small group of features and these features are to be developed within two weeks. For each feature the sequence diagram is created. Build by feat The class owners develop the actual code for their classes and this code is promoted to the nt valued function : Finally a complete eli s developed for each feature. main build. + Following are some benefits of the featur: 1. Features represent small block of deliverable functionalities hence user can better describe, understand and review them. 2. The features can be arranged into hierarchical business related grouping. 3. The team can develop every feature within the two weeks. 4, The features are typically smaller in size and therefore can be analyzed effectively. 5. Project planning, scheduling and tracking can be driven by features. The FDD can be used to develop complex projects or bigger projects. It can also be used for the developing the projects having more novice developers. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-41 Introduction to Software Engineering and Process Models 1.20.5 Crystal © Cockburn and Highsmith suggested the erystal family of agile methods. © The primary goal of this method is to deliver useful and working software * In this model, a set of methodologies are defined which contains the core elements that are common to all. These methodologies also contain roles, process patterns, work products and practice that are unique to each, © Thus the crystal family is actually a set of agile processes that are useful for different tq es of projects. The agile team has to select the memebers of the crustal family that is most approapriate for their ongoing project and environment, 1.20.6 Agile Modeling (AM) © The agile modeling can be used for large and complex projects, By adopting agile modeling techniques the scope and complexity of the project can be understood. The problems can be partitioned effectively among the group of people. And the quality of the working model can be assessed at ever y step of development. © Scott Ambler described the Agile modeling as - “Agile modeling is a collection of values, principles and practices for modeling the software. Agile Modeling (AM) is a practice- based methodology for effective modeling and documentation of software-based systems. This modeling technique is more effective and light weight than the traditional modelin technique.” © Various features suggested by Scott Ambler for agile modeling are as follows - 1. Specify the purpose for the model : Prior to development of the software model the goals and objective of the mode! must be known to the developer. 2. Make use of multiple models : Various models can be used to gain the insight in the software product. Each model can have different perspective. A small amount of set of models can be useful for building the desired software product. 3. Follow a definite path : Use only those models that give long term value so that the defi ¢ direction. Every work produet must be maintained as work ean proceed changes occur. 4. Give importance to contents and not the presentation : The correct information in the model is more important than the flawed representation Understand the models and supporting too strengths and weaknesses of the model that are used and the tools that are used in It is necessary to understand the development process. TECHNICAL PUBLICATIONS®. An up thrust for knowledgeSoftware Engineering 1-42 Introduction to Software Engineering and Process Models 6. Adapt locally : The needs of modeling team must be satisfied by adopting appropriate modeling approach. Plan Driven and Agile Development © Normally there are two approaches of software development-plan driven development and agile development © Agile Development © In agile approach, the design and implementation are the central activities and other activities such as requirement elicitation and analysis, testing and so on are integrated with design and implementation. © The agile approach is not completely code focused, some necessary documents such as design specification can be produced in this approach, * Plan Driven Development : © On the hand, in plan driven development approach each activity is performed in separated stage and output of each stage is used for planning the next stage activity ©. Inplan driven approach the iterations occur within the activities. © The formal documents used to communicate between stages of software development process. The incremental delivery is possible in plan driven development. mae] [| anaysis q Requires anaiyele SRS ir 1 Design Designand |. T implementation Design specication Agile development Change in Implementaten reaulkements Plan based development Fig. 1.21.1 Plan driven development and Agile development TECHNICAL PUBLICATIONS®. An up thrust or knowledge
You might also like
Shadow Work Journal Free PDF
PDF
91% (163)
Shadow Work Journal Free PDF
30 pages
Solid Starts - First 100 Days
PDF
94% (18)
Solid Starts - First 100 Days
287 pages
Hourglass Workout Program by Luisagiuliet 2
PDF
76% (21)
Hourglass Workout Program by Luisagiuliet 2
51 pages
Book of Wisdom 2
PDF
87% (162)
Book of Wisdom 2
70 pages
Make Your CPN Instrctions
PDF
96% (200)
Make Your CPN Instrctions
21 pages
12 Week Program: Summer Body Starts Now
PDF
89% (45)
12 Week Program: Summer Body Starts Now
70 pages
Knee Ability Zero Now Complete As A Picture Book 4 PDF Free
PDF
94% (68)
Knee Ability Zero Now Complete As A Picture Book 4 PDF Free
49 pages
The Hold Me Tight Workbook - Dr. Sue Johnson
PDF
100% (16)
The Hold Me Tight Workbook - Dr. Sue Johnson
187 pages
GB Level Up Guide 3 Elevate PDF
PDF
79% (28)
GB Level Up Guide 3 Elevate PDF
115 pages
Read People Like A Book by Patrick King-Edited
PDF
62% (66)
Read People Like A Book by Patrick King-Edited
12 pages
Livingood, Blake - Livingood Daily Your 21-Day Guide To Experience Real Health
PDF
77% (13)
Livingood, Blake - Livingood Daily Your 21-Day Guide To Experience Real Health
260 pages
The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life
From Everand
The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life
Mark Manson
4/5 (6124)
Facial Gains Guide (001 081)
PDF
91% (45)
Facial Gains Guide (001 081)
81 pages
Cheat Code To The Universe
PDF
94% (77)
Cheat Code To The Universe
34 pages
No Grid Survival Projects - Sophia Hall
PDF
90% (10)
No Grid Survival Projects - Sophia Hall
126 pages
Curse of Strahd
PDF
95% (467)
Curse of Strahd
258 pages
The Psychiatric Interview - Daniel Carlat
PDF
91% (34)
The Psychiatric Interview - Daniel Carlat
473 pages
The Crystal Bible - Judy Hall PDF
PDF
94% (185)
The Crystal Bible - Judy Hall PDF
401 pages
The Ultimate Prepared Bug in Guide
PDF
100% (1)
The Ultimate Prepared Bug in Guide
149 pages
Mandate For Leadership Policy Recommendations
PDF
77% (62)
Mandate For Leadership Policy Recommendations
19 pages
The Borax Conspiracy
PDF
91% (57)
The Borax Conspiracy
14 pages
Combs Indictment
PDF
91% (11)
Combs Indictment
14 pages
Dare To Lead by Brené Brown
PDF
45% (11)
Dare To Lead by Brené Brown
2 pages
Couples Therapy Workbook
PDF
95% (43)
Couples Therapy Workbook
157 pages
Can't Hurt Me
PDF
68% (22)
Can't Hurt Me
10 pages
D&D Player Handbook 5e
PDF
96% (336)
D&D Player Handbook 5e
293 pages
Five Wishes (Rev 06.2011)
PDF
57% (7)
Five Wishes (Rev 06.2011)
12 pages
Workbook For Adult Children of Emotionally Immature Parents - How To Heal From Distant, Rejecting, or Self-Involved Parents
PDF
86% (14)
Workbook For Adult Children of Emotionally Immature Parents - How To Heal From Distant, Rejecting, or Self-Involved Parents
77 pages
34 Mystery of The Seven Keys Guide 1.0
PDF
100% (3)
34 Mystery of The Seven Keys Guide 1.0
108 pages
Shortcut To Shred Ebook Revised 9-9-2015 PDF
PDF
86% (7)
Shortcut To Shred Ebook Revised 9-9-2015 PDF
15 pages
Anastasia: The New Broadway Musical (LIBRETTO)
PDF
94% (174)
Anastasia: The New Broadway Musical (LIBRETTO)
117 pages
Trauma-Focused ACT - Russ Harris
PDF
95% (38)
Trauma-Focused ACT - Russ Harris
568 pages
COSMIC CONSCIOUSNESS OF HUMANITY - PROBLEMS OF NEW COSMOGONY (V.P.Kaznacheev,. Л. V. Trofimov.)
PDF
94% (212)
COSMIC CONSCIOUSNESS OF HUMANITY - PROBLEMS OF NEW COSMOGONY (V.P.Kaznacheev,. Л. V. Trofimov.)
212 pages
Raisin in The Sun
PDF
100% (32)
Raisin in The Sun
92 pages
I Hate You - Don't Leave Me
PDF
80% (54)
I Hate You - Don't Leave Me
6 pages
New Oxford Annotated Bible With Apocrypha (NRSV) 4e, The - Bible
PDF
95% (60)
New Oxford Annotated Bible With Apocrypha (NRSV) 4e, The - Bible
2,440 pages
TDA Birth Certificate Bond Instructions
PDF
97% (282)
TDA Birth Certificate Bond Instructions
4 pages
Principles: Life and Work
From Everand
Principles: Life and Work
Ray Dalio
4/5 (627)
Complaint - Ventura V Combs
PDF
91% (11)
Complaint - Ventura V Combs
35 pages
The Secret Language of Attraction
PDF
86% (107)
The Secret Language of Attraction
278 pages
Repair+manuals Chilton Manuales
PDF
39% (93)
Repair+manuals Chilton Manuales
26 pages
The Gifts of Imperfection: Let Go of Who You Think You're Supposed to Be and Embrace Who You Are
From Everand
The Gifts of Imperfection: Let Go of Who You Think You're Supposed to Be and Embrace Who You Are
Brené Brown
4/5 (1148)
How To Develop and Write A Grant Proposal
PDF
83% (541)
How To Develop and Write A Grant Proposal
17 pages
Workbook For The Body Keeps The Score
PDF
88% (52)
Workbook For The Body Keeps The Score
111 pages
Supreme Mathematics
PDF
79% (24)
Supreme Mathematics
1 page
Penis Enlargement Secret
PDF
61% (123)
Penis Enlargement Secret
12 pages
The Home Apothecary
PDF
93% (45)
The Home Apothecary
162 pages
Never Split the Difference: Negotiating As If Your Life Depended On It
From Everand
Never Split the Difference: Negotiating As If Your Life Depended On It
Chris Voss
4.5/5 (933)
Donald Trump & Jeffrey Epstein Rape Lawsuit and Affidavits
PDF
83% (1016)
Donald Trump & Jeffrey Epstein Rape Lawsuit and Affidavits
13 pages
PussyPrayers PDF
PDF
80% (110)
PussyPrayers PDF
108 pages
KamaSutra Positions
PDF
78% (69)
KamaSutra Positions
55 pages
Monster Manual
PDF
93% (76)
Monster Manual
354 pages
KamaSutra Positions
PDF
69% (83)
KamaSutra Positions
55 pages
Organizing Solutions For People With ADHD, 2nd Edition-Revised and Updated
PDF
95% (58)
Organizing Solutions For People With ADHD, 2nd Edition-Revised and Updated
221 pages
7 Hermetic Principles
PDF
93% (28)
7 Hermetic Principles
3 pages
The Glass Castle: A Memoir
From Everand
The Glass Castle: A Memoir
Jeannette Walls
4/5 (8214)
27 Feedback Mechanisms Pogil Key
PDF
75% (12)
27 Feedback Mechanisms Pogil Key
6 pages
Grit: The Power of Passion and Perseverance
From Everand
Grit: The Power of Passion and Perseverance
Angela Duckworth
4/5 (631)
Frank Hammond - List of Demons
PDF
92% (92)
Frank Hammond - List of Demons
3 pages
You Can Heal Your Life (Louise L. Hay)
PDF
94% (137)
You Can Heal Your Life (Louise L. Hay)
24 pages
Phone Codes
PDF
78% (27)
Phone Codes
5 pages
36 Questions That Lead To Love
PDF
91% (35)
36 Questions That Lead To Love
3 pages
Sample Mental Health Progress Note
PDF
96% (47)
Sample Mental Health Progress Note
3 pages
2025 MandateForLeadership FULL
PDF
70% (10)
2025 MandateForLeadership FULL
920 pages
How 2 Setup Trust
PDF
97% (307)
How 2 Setup Trust
3 pages
Shoe Dog: A Memoir by the Creator of Nike
From Everand
Shoe Dog: A Memoir by the Creator of Nike
Phil Knight
4.5/5 (860)
Hidden Figures: The American Dream and the Untold Story of the Black Women Mathematicians Who Helped Win the Space Race
From Everand
Hidden Figures: The American Dream and the Untold Story of the Black Women Mathematicians Who Helped Win the Space Race
Margot Lee Shetterly
4/5 (954)
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
From Everand
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
Ben Horowitz
4.5/5 (361)
How To Kiss A Woman's Breast
PDF
60% (114)
How To Kiss A Woman's Breast
14 pages
House of Leaves - Mark Z Danielewski
PDF
80% (20)
House of Leaves - Mark Z Danielewski
750 pages
(Psilocybin) How To Grow Magic Mushrooms A Simple Psilocybe Cubensis Growing Technique PDF
PDF
75% (8)
(Psilocybin) How To Grow Magic Mushrooms A Simple Psilocybe Cubensis Growing Technique PDF
48 pages
Singer's Anthology Master Song and Show Index 2008 PDF
PDF
37% (43)
Singer's Anthology Master Song and Show Index 2008 PDF
38 pages
Cellular Communication POGIL
PDF
80% (10)
Cellular Communication POGIL
5 pages
36 Questions To Fall in Love 1
PDF
97% (31)
36 Questions To Fall in Love 1
2 pages
Lundy - Why Does He Do That PDF
PDF
79% (42)
Lundy - Why Does He Do That PDF
1,020 pages
Steve Jobs
From Everand
Steve Jobs
Walter Isaacson
4/5 (2922)
100 Questions To Ask Your Partner
PDF
80% (35)
100 Questions To Ask Your Partner
2 pages
The 36 Questions That Lead To Love - The New York Times
PDF
94% (34)
The 36 Questions That Lead To Love - The New York Times
3 pages
Encyclopedia of Herbal Medicine - 3rd Edition (DK Publishing) (2016)
PDF
99% (162)
Encyclopedia of Herbal Medicine - 3rd Edition (DK Publishing) (2016)
338 pages
Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
From Everand
Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
Ashlee Vance
4.5/5 (484)
The Emperor of All Maladies: A Biography of Cancer
From Everand
The Emperor of All Maladies: A Biography of Cancer
Siddhartha Mukherjee
4.5/5 (277)
Satanic Calendar
PDF
25% (55)
Satanic Calendar
4 pages
DBT Assignment Workbook F0220
PDF
100% (64)
DBT Assignment Workbook F0220
218 pages
The 36 Questions That Lead To Love - The New York Times
PDF
95% (21)
The 36 Questions That Lead To Love - The New York Times
3 pages
7 Philosophies of Education
PDF
75% (8)
7 Philosophies of Education
8 pages
The Encyclopedia of Ancient and Forbidden Knowledge
PDF
94% (33)
The Encyclopedia of Ancient and Forbidden Knowledge
440 pages
Brooklyn: A Novel
From Everand
Brooklyn: A Novel
Colm Toibin
3.5/5 (2061)
Jeffrey Epstein39s Little Black Book Unredacted PDF
PDF
75% (12)
Jeffrey Epstein39s Little Black Book Unredacted PDF
95 pages
14 Easiest & Hardest Muscles To Build (Ranked With Solutions)
PDF
100% (7)
14 Easiest & Hardest Muscles To Build (Ranked With Solutions)
27 pages
Chart of Seasons and Months Around The World
PDF
83% (35)
Chart of Seasons and Months Around The World
1 page
Angela's Ashes: A Memoir
From Everand
Angela's Ashes: A Memoir
Frank McCourt
4.5/5 (444)
The Yellow House: A Memoir (2019 National Book Award Winner)
From Everand
The Yellow House: A Memoir (2019 National Book Award Winner)
Sarah M. Broom
4/5 (100)
The Little Book of Hygge: Danish Secrets to Happy Living
From Everand
The Little Book of Hygge: Danish Secrets to Happy Living
Meik Wiking
3.5/5 (447)
The World Is Flat 3.0: A Brief History of the Twenty-first Century
From Everand
The World Is Flat 3.0: A Brief History of the Twenty-first Century
Thomas L. Friedman
3.5/5 (2283)
Bad Feminist: Essays
From Everand
Bad Feminist: Essays
Roxane Gay
4/5 (1068)
The Book of Enoch
PDF
100% (79)
The Book of Enoch
265 pages
Yes Please
From Everand
Yes Please
Amy Poehler
4/5 (1987)
Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America
From Everand
Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America
Gilbert King
4.5/5 (278)
Starbucks Underfilled Latte Lawsuit
PDF
68% (75)
Starbucks Underfilled Latte Lawsuit
24 pages
The Self Confidence Workbook
PDF
96% (104)
The Self Confidence Workbook
139 pages
How To Come Up With Good Ideas For Startups - The Scribd Story and The Trip Method
PDF
87% (487)
How To Come Up With Good Ideas For Startups - The Scribd Story and The Trip Method
22 pages
The Outsider: A Novel
From Everand
The Outsider: A Novel
Stephen King
4/5 (1993)
Do You Like Big Girls V01
PDF
20% (20)
Do You Like Big Girls V01
161 pages
Independent Contractor Agreements
PDF
80% (839)
Independent Contractor Agreements
3 pages
The Sympathizer: A Novel (Pulitzer Prize for Fiction)
From Everand
The Sympathizer: A Novel (Pulitzer Prize for Fiction)
Viet Thanh Nguyen
4.5/5 (125)
ALCHEMIST
PDF
64% (14)
ALCHEMIST
4 pages
1001 Songs
PDF
71% (69)
1001 Songs
1,798 pages
Trademark License Agreement
PDF
78% (381)
Trademark License Agreement
3 pages
114 Conversation Starters For Couples
PDF
100% (2)
114 Conversation Starters For Couples
7 pages
The 4 Hour Workweek, Expanded and Updated by Timothy Ferriss - Excerpt
PDF
23% (954)
The 4 Hour Workweek, Expanded and Updated by Timothy Ferriss - Excerpt
38 pages
Zodiac Sign & Their Most Common Addictions
PDF
63% (30)
Zodiac Sign & Their Most Common Addictions
9 pages
Team of Rivals: The Political Genius of Abraham Lincoln
From Everand
Team of Rivals: The Political Genius of Abraham Lincoln
Doris Kearns Goodwin
4.5/5 (1912)
A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story
From Everand
A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story
Dave Eggers
3.5/5 (692)
Building Selfconfidence
PDF
92% (12)
Building Selfconfidence
23 pages
On Fire: The (Burning) Case for a Green New Deal
From Everand
On Fire: The (Burning) Case for a Green New Deal
Naomi Klein
4/5 (75)
Fear: Trump in the White House
From Everand
Fear: Trump in the White House
Bob Woodward
3.5/5 (830)
Rise of ISIS: A Threat We Can't Ignore
From Everand
Rise of ISIS: A Threat We Can't Ignore
Jay Sekulow
3.5/5 (143)
John Adams
From Everand
John Adams
David McCullough
4.5/5 (2530)
The Light Between Oceans: A Novel
From Everand
The Light Between Oceans: A Novel
M L Stedman
4.5/5 (790)
The Unwinding: An Inner History of the New America
From Everand
The Unwinding: An Inner History of the New America
George Packer
4/5 (45)
Related titles
Click to expand Related Titles
Carousel Previous
Carousel Next
Shadow Work Journal Free PDF
PDF
Shadow Work Journal Free PDF
Solid Starts - First 100 Days
PDF
Solid Starts - First 100 Days
Hourglass Workout Program by Luisagiuliet 2
PDF
Hourglass Workout Program by Luisagiuliet 2
Book of Wisdom 2
PDF
Book of Wisdom 2
Make Your CPN Instrctions
PDF
Make Your CPN Instrctions
12 Week Program: Summer Body Starts Now
PDF
12 Week Program: Summer Body Starts Now
Knee Ability Zero Now Complete As A Picture Book 4 PDF Free
PDF
Knee Ability Zero Now Complete As A Picture Book 4 PDF Free
The Hold Me Tight Workbook - Dr. Sue Johnson
PDF
The Hold Me Tight Workbook - Dr. Sue Johnson
GB Level Up Guide 3 Elevate PDF
PDF
GB Level Up Guide 3 Elevate PDF
Read People Like A Book by Patrick King-Edited
PDF
Read People Like A Book by Patrick King-Edited
Livingood, Blake - Livingood Daily Your 21-Day Guide To Experience Real Health
PDF
Livingood, Blake - Livingood Daily Your 21-Day Guide To Experience Real Health
The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life
From Everand
The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life
Facial Gains Guide (001 081)
PDF
Facial Gains Guide (001 081)
Cheat Code To The Universe
PDF
Cheat Code To The Universe
No Grid Survival Projects - Sophia Hall
PDF
No Grid Survival Projects - Sophia Hall
Curse of Strahd
PDF
Curse of Strahd
The Psychiatric Interview - Daniel Carlat
PDF
The Psychiatric Interview - Daniel Carlat
The Crystal Bible - Judy Hall PDF
PDF
The Crystal Bible - Judy Hall PDF
The Ultimate Prepared Bug in Guide
PDF
The Ultimate Prepared Bug in Guide
Mandate For Leadership Policy Recommendations
PDF
Mandate For Leadership Policy Recommendations
The Borax Conspiracy
PDF
The Borax Conspiracy
Combs Indictment
PDF
Combs Indictment
Dare To Lead by Brené Brown
PDF
Dare To Lead by Brené Brown
Couples Therapy Workbook
PDF
Couples Therapy Workbook
Can't Hurt Me
PDF
Can't Hurt Me
D&D Player Handbook 5e
PDF
D&D Player Handbook 5e
Five Wishes (Rev 06.2011)
PDF
Five Wishes (Rev 06.2011)
Workbook For Adult Children of Emotionally Immature Parents - How To Heal From Distant, Rejecting, or Self-Involved Parents
PDF
Workbook For Adult Children of Emotionally Immature Parents - How To Heal From Distant, Rejecting, or Self-Involved Parents
34 Mystery of The Seven Keys Guide 1.0
PDF
34 Mystery of The Seven Keys Guide 1.0
Shortcut To Shred Ebook Revised 9-9-2015 PDF
PDF
Shortcut To Shred Ebook Revised 9-9-2015 PDF
Anastasia: The New Broadway Musical (LIBRETTO)
PDF
Anastasia: The New Broadway Musical (LIBRETTO)
Trauma-Focused ACT - Russ Harris
PDF
Trauma-Focused ACT - Russ Harris
COSMIC CONSCIOUSNESS OF HUMANITY - PROBLEMS OF NEW COSMOGONY (V.P.Kaznacheev,. Л. V. Trofimov.)
PDF
COSMIC CONSCIOUSNESS OF HUMANITY - PROBLEMS OF NEW COSMOGONY (V.P.Kaznacheev,. Л. V. Trofimov.)
Raisin in The Sun
PDF
Raisin in The Sun
I Hate You - Don't Leave Me
PDF
I Hate You - Don't Leave Me
New Oxford Annotated Bible With Apocrypha (NRSV) 4e, The - Bible
PDF
New Oxford Annotated Bible With Apocrypha (NRSV) 4e, The - Bible
TDA Birth Certificate Bond Instructions
PDF
TDA Birth Certificate Bond Instructions
Principles: Life and Work
From Everand
Principles: Life and Work
Complaint - Ventura V Combs
PDF
Complaint - Ventura V Combs
The Secret Language of Attraction
PDF
The Secret Language of Attraction
Repair+manuals Chilton Manuales
PDF
Repair+manuals Chilton Manuales
The Gifts of Imperfection: Let Go of Who You Think You're Supposed to Be and Embrace Who You Are
From Everand
The Gifts of Imperfection: Let Go of Who You Think You're Supposed to Be and Embrace Who You Are
How To Develop and Write A Grant Proposal
PDF
How To Develop and Write A Grant Proposal
Workbook For The Body Keeps The Score
PDF
Workbook For The Body Keeps The Score
Supreme Mathematics
PDF
Supreme Mathematics
Penis Enlargement Secret
PDF
Penis Enlargement Secret
The Home Apothecary
PDF
The Home Apothecary
Never Split the Difference: Negotiating As If Your Life Depended On It
From Everand
Never Split the Difference: Negotiating As If Your Life Depended On It
Donald Trump & Jeffrey Epstein Rape Lawsuit and Affidavits
PDF
Donald Trump & Jeffrey Epstein Rape Lawsuit and Affidavits
PussyPrayers PDF
PDF
PussyPrayers PDF
KamaSutra Positions
PDF
KamaSutra Positions
Monster Manual
PDF
Monster Manual
KamaSutra Positions
PDF
KamaSutra Positions
Organizing Solutions For People With ADHD, 2nd Edition-Revised and Updated
PDF
Organizing Solutions For People With ADHD, 2nd Edition-Revised and Updated
7 Hermetic Principles
PDF
7 Hermetic Principles
The Glass Castle: A Memoir
From Everand
The Glass Castle: A Memoir
27 Feedback Mechanisms Pogil Key
PDF
27 Feedback Mechanisms Pogil Key
Grit: The Power of Passion and Perseverance
From Everand
Grit: The Power of Passion and Perseverance
Frank Hammond - List of Demons
PDF
Frank Hammond - List of Demons
You Can Heal Your Life (Louise L. Hay)
PDF
You Can Heal Your Life (Louise L. Hay)
Phone Codes
PDF
Phone Codes
36 Questions That Lead To Love
PDF
36 Questions That Lead To Love
Sample Mental Health Progress Note
PDF
Sample Mental Health Progress Note
2025 MandateForLeadership FULL
PDF
2025 MandateForLeadership FULL
How 2 Setup Trust
PDF
How 2 Setup Trust
Shoe Dog: A Memoir by the Creator of Nike
From Everand
Shoe Dog: A Memoir by the Creator of Nike
Hidden Figures: The American Dream and the Untold Story of the Black Women Mathematicians Who Helped Win the Space Race
From Everand
Hidden Figures: The American Dream and the Untold Story of the Black Women Mathematicians Who Helped Win the Space Race
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
From Everand
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
How To Kiss A Woman's Breast
PDF
How To Kiss A Woman's Breast
House of Leaves - Mark Z Danielewski
PDF
House of Leaves - Mark Z Danielewski
(Psilocybin) How To Grow Magic Mushrooms A Simple Psilocybe Cubensis Growing Technique PDF
PDF
(Psilocybin) How To Grow Magic Mushrooms A Simple Psilocybe Cubensis Growing Technique PDF
Singer's Anthology Master Song and Show Index 2008 PDF
PDF
Singer's Anthology Master Song and Show Index 2008 PDF
Cellular Communication POGIL
PDF
Cellular Communication POGIL
36 Questions To Fall in Love 1
PDF
36 Questions To Fall in Love 1
Lundy - Why Does He Do That PDF
PDF
Lundy - Why Does He Do That PDF
Steve Jobs
From Everand
Steve Jobs
100 Questions To Ask Your Partner
PDF
100 Questions To Ask Your Partner
The 36 Questions That Lead To Love - The New York Times
PDF
The 36 Questions That Lead To Love - The New York Times
Encyclopedia of Herbal Medicine - 3rd Edition (DK Publishing) (2016)
PDF
Encyclopedia of Herbal Medicine - 3rd Edition (DK Publishing) (2016)
Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
From Everand
Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
The Emperor of All Maladies: A Biography of Cancer
From Everand
The Emperor of All Maladies: A Biography of Cancer
Satanic Calendar
PDF
Satanic Calendar
DBT Assignment Workbook F0220
PDF
DBT Assignment Workbook F0220
The 36 Questions That Lead To Love - The New York Times
PDF
The 36 Questions That Lead To Love - The New York Times
7 Philosophies of Education
PDF
7 Philosophies of Education
The Encyclopedia of Ancient and Forbidden Knowledge
PDF
The Encyclopedia of Ancient and Forbidden Knowledge
Brooklyn: A Novel
From Everand
Brooklyn: A Novel
Jeffrey Epstein39s Little Black Book Unredacted PDF
PDF
Jeffrey Epstein39s Little Black Book Unredacted PDF
14 Easiest & Hardest Muscles To Build (Ranked With Solutions)
PDF
14 Easiest & Hardest Muscles To Build (Ranked With Solutions)
Chart of Seasons and Months Around The World
PDF
Chart of Seasons and Months Around The World
Angela's Ashes: A Memoir
From Everand
Angela's Ashes: A Memoir
The Yellow House: A Memoir (2019 National Book Award Winner)
From Everand
The Yellow House: A Memoir (2019 National Book Award Winner)
The Little Book of Hygge: Danish Secrets to Happy Living
From Everand
The Little Book of Hygge: Danish Secrets to Happy Living
The World Is Flat 3.0: A Brief History of the Twenty-first Century
From Everand
The World Is Flat 3.0: A Brief History of the Twenty-first Century
Bad Feminist: Essays
From Everand
Bad Feminist: Essays
The Book of Enoch
PDF
The Book of Enoch
Yes Please
From Everand
Yes Please
Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America
From Everand
Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America
Starbucks Underfilled Latte Lawsuit
PDF
Starbucks Underfilled Latte Lawsuit
The Self Confidence Workbook
PDF
The Self Confidence Workbook
How To Come Up With Good Ideas For Startups - The Scribd Story and The Trip Method
PDF
How To Come Up With Good Ideas For Startups - The Scribd Story and The Trip Method
The Outsider: A Novel
From Everand
The Outsider: A Novel
Do You Like Big Girls V01
PDF
Do You Like Big Girls V01
Independent Contractor Agreements
PDF
Independent Contractor Agreements
The Sympathizer: A Novel (Pulitzer Prize for Fiction)
From Everand
The Sympathizer: A Novel (Pulitzer Prize for Fiction)
ALCHEMIST
PDF
ALCHEMIST
1001 Songs
PDF
1001 Songs
Trademark License Agreement
PDF
Trademark License Agreement
114 Conversation Starters For Couples
PDF
114 Conversation Starters For Couples
The 4 Hour Workweek, Expanded and Updated by Timothy Ferriss - Excerpt
PDF
The 4 Hour Workweek, Expanded and Updated by Timothy Ferriss - Excerpt
Zodiac Sign & Their Most Common Addictions
PDF
Zodiac Sign & Their Most Common Addictions
Team of Rivals: The Political Genius of Abraham Lincoln
From Everand
Team of Rivals: The Political Genius of Abraham Lincoln
A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story
From Everand
A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story
Building Selfconfidence
PDF
Building Selfconfidence
On Fire: The (Burning) Case for a Green New Deal
From Everand
On Fire: The (Burning) Case for a Green New Deal
Fear: Trump in the White House
From Everand
Fear: Trump in the White House
Rise of ISIS: A Threat We Can't Ignore
From Everand
Rise of ISIS: A Threat We Can't Ignore
John Adams
From Everand
John Adams
The Light Between Oceans: A Novel
From Everand
The Light Between Oceans: A Novel
The Unwinding: An Inner History of the New America
From Everand
The Unwinding: An Inner History of the New America