وبلاگ بلیان

Software Engineeering

معرفی کتاب «Software Engineeering» نوشتهٔ B. G. Geetha, Dutt Saikat, Chandramouli Subramanian, Chandramouli Seetharaman، منتشرشده توسط نشر Pearson Education در سال 2015. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Software Engineeering» در دستهٔ بدون دسته‌بندی قرار دارد.

This Book Addresses Basic And Advanced Concepts In Software Engineering And Is Intended As A Textbook For An Undergraduate-level Engineering Course. In Addition To Covering Important Concepts In Software Engineering, This Book Also Addresses The Perspective Of Decreasing The Overall Effort Of Writing Quality Software. It Covers The Entire Spectrum Of The Software Engineering Life Cycle Starting From The Requirement Analysis Until The Implementation And Maintenance Of The Project. Cover 1 Contents 4 Foreword 12 Preface 14 Acknowledgements 16 About the Authors 18 Section 1: Introduction to Software Engineering 20 1 Software Engineering – Introduction 20 1.1 Introduction to Software Engineering 20 1.2 Software Process 31 1.3 Software Process Models 39 1.4 Software Product 47 Section 2: Requirement Engineering 60 2 Requirements Engineering Principles 60 2.1 Introduction 60 2.2 What is Requirements Engineering? 60 2.3 Importance of Requirements 61 2.4 Types of Requirements 62 2.5 Steps Involved in Requirements Engineering 64 3 Requirement Analysis Modeling 102 3.1 Analysis Modeling Approaches 102 3.2 Structured Analysis 104 3.3 Object-Oriented Analysis 121 Section 3: Design and Architectural Engineering 126 4 Design and Architectural Engineering 126 4.1 Design Process and Concepts 126 4.2 Basic Issues in Software Design 127 4.3 Characteristics of a Good Design 127 4.4 Software Design and Software Engineering 127 4.5 Function-Oriented System vs Object-Oriented System 127 4.6 Modularity, Cohesion, Coupling, Layering 128 4.7 Real-Time Software Design (RTS Design) 132 4.8 Design Models 133 4.9 Design Documentation 141 5 Object-oriented Concepts 148 5.1 Introduction 148 5.2 Fundamental Parts of Object-oriented Approach 149 5.3 Data Hiding and Class Hierarchy Creation 153 5.4 Relationships 158 5.5 Role of Unifi ed Modeling Language (UML) in OO Design 160 5.6 Design Patterns 160 5.7 Frameworks 162 6 Object-oriented Analysis and Design 168 6.1 Introduction 168 6.2 Object-oriented Analysis 169 6.3 Object-oriented Design 171 7 User Interface Design 194 7.1 Introduction 194 7.2 Concepts of User Interface 195 7.3 Elements of the User Interface 196 7.4 Designing the User Interface 201 7.5 User Interface Evaluation (User Interface Design Evaluation) 204 7.6 Golden Rules of User Interface Design 204 7.7 User Interface Models (User Interface Design Models) 213 7.8 Usability 213 Section 4: Software Coding 218 8 Software Coding 218 8.1 Introduction 218 8.2 Programming Principles 219 8.3 Programming Guidelines 220 8.4 Coding Conventions (Programming Practices) 221 8.5 Key Concepts in Software Coding 229 Section 5: Software Metrics and Estimation 254 9 Introduction to Software Measurement and Metrics 254 9.1 Introduction 254 9.2 Measurement 254 9.3 Metrics 259 9.4 Other Concepts 268 10 LOC, Function Point, and Object-oriented Metrics 276 10.1 Introduction 276 10.2 Lines of Code 276 10.3 Function Point Count (Fp Estimation) 279 10.4 Extended Function Point Metrics 288 10.5 Object-oriented Metrics 293 10.6 DeMarco’s System BANG 298 11 Software Estimation Tools, Techniques and Models 310 11.1 Introduction 310 11.2 Defi nition of Estimation 310 11.3 Importance of Accurate Estimation 311 11.4 Eff orts and Duration 311 11.5 Estimation Process 311 11.6 Basic Estimation Principles 313 11.7 Estimation Techniques 313 11.8 Estimating Styles 318 11.9 Precision versus Accuracy 319 11.10 Tools for Analyzing Metrics and Estimations 319 11.11 Project Cost Estimation 323 11.12 Earned Value Management 333 11.13 Other Concepts in Costing 335 Section 6: Software Configuration 350 12 Software Confi guration Management 350 12.1 Introduction 350 12.2 Basic Concepts of Confi guration Management 350 12.3 Software Confi guration Management Process 351 12.4 Confi guration Identifi cation 351 12.5 Confi guration Control 352 12.6 Confi guration Status Accounting 352 12.7 Confi guration Authentication 352 12.8 Tools Used in Software Confi guration Management 352 12.9 SCM and SEI Capability Maturity Model 353 12.10 Confi guration Management Activities 353 12.11 Software Confi guration Management Plan (SCMP) 353 Section 7: Software Project Management 360 13 Project Management Introduction 360 13.1 Introduction 360 13.2 Process 360 13.3 Project 362 13.4 Environmental Factors that Mandate Projects in Organizations 368 13.5 Project Management 369 13.6 Program Management 371 13.7 Portfolio Management 371 13.8 Project Management Office 372 13.9 Project Planning and Monitoring 373 13.10 Project Scope Management 373 13.11 Project Quality Management 376 14 Risk Analysis and Management 384 14.1 Introduction 384 14.2 Software Risk 385 14.3 Types of Risk 385 14.4 Plan Risk Management 386 15 Communication and Team Management 404 15.1 Introduction 404 15.2 Dimensions of Communication 404 15.3 Forms of Communication 405 15.4 Process of Communication 406 15.5 Handling Communication in a Software Project 407 15.6 Project Performance Reports 410 15.7 Managing the Project Team 411 16 Project Time and Cost Management 418 16.1 Introduction 418 16.2 Time Management 418 16.3 Cost Management 435 17 Project Stakeholder Management 448 17.1 Introduction 448 17.2 Stakeholders and their Characteristics 448 17.3 Identifying the Stakeholders 449 17.4 Managing the Stakeholder Engagement 452 17.5 Procurement Process and Suppliers 453 18 Computer-aided Software Engineering 462 18.1 Introduction 462 18.2 Case Tool 462 18.3 Case-Building Blocks 463 18.4 Components of Case Tools 463 18.5 Quality of Case Tools 464 18.6 Productivity of Case Tools 464 18.7 Functions of A Case Tool 465 18.8 List of White Box Testing Commercial Tools and Their Purpose 468 18.9 Workbenches 469 Section 8: Software Testing 474 19 Introduction to Software Testing 474 19.1 Introduction 474 19.2 Psychology of Testing 475 19.3 Software Testing Scope 476 19.4 Software Testing Objectives 476 19.5 Strategic Approach to Software Testing 480 19.6 Types of Software Testing 482 20 Software Testing Plan and Test Case Preparation 504 20.1 Introduction 504 20.2 Test Plan 504 20.3 Introduction to Test Case 511 21 Test Automation 532 21.1 Introduction 532 21.2 Expectations from Test Automation 532 21.3 Limitations of Automation 534 21.4 Automation Strategy 535 21.5 Automation Frameworks 539 21.6 Automation Metrics 543 Section 9: Software Maintenance 548 22 Software Maintenance 548 22.1 Introduction 548 22.2 Maintenance Activities 549 22.3 Maintenance Process 551 22.4 Maintenance Cost 552 22.5 Software Evolution 553 22.6 Reverse Engineering 553 22.7 Re-engineering 554 22.8 Re-structuring 556 22.9 Maintenance Strategies 556 22.10 Maintenance Mind Set 556 22.11 Service Perspective to Software Maintenance 556 22.12 Gap Model - Service 557 22.13 Software Maintenance Tools 558 22.14 Issues in Software Maintenance 559 22.15 Diff erence between Software Maintenance and Support 560 22.16 Common Metrics in Software Maintenance and Support 560 Section 10: Web Engineering 572 23 Web Engineering 572 23.1 Introduction 572 23.2 Introduction to Web 572 23.3 General Web Characteristics 573 23.4 Web Applications Categories 575 23.5 How Web Application Work? 575 23.6 Advantages of Web Applications 576 23.7 Drawbacks of Web Applications 576 23.8 Web Engineering 576 Section 11: Emerging Trends in Software Engineering 588 24 Emerging Trends in Software Engineering 588 24.1 Introduction 588 24.2 Web 2.0 588 24.3 Rapid Delivery 590 24.4 Open Source Software Development 590 24.5 Security Engineering 591 24.6 Service-oriented Software Engineering 592 24.7 Web Service 592 24.8 Software as a Service 593 24.9 Service-oriented Architecture 594 24.10 Cloud Computing 594 24.11 Aspect-oriented Software Development (AOSD) 595 24.12 Test-driven Development (TDD) 595 24.13 Social Computing 595 Section 12: Introduction to Agile Software Development 598 25 Introduction to Agile Software Development 598 25.1 Introduction 598 25.2 What is Agile? 598 25.3 Various Characteristics of Agile Projects 600 25.4 Agile manifesto 602 25.5 Generic Agile Project Life Cycle 605 25.6 Agile-related Concepts 607 25.7 Epics, Features, User Stories 608 25.8 Communication in Agile Projects 609 25.9 Diff erent Agile Methodologies 611 26 Case Studies on Software Engineering Practices 628 Case Study 1: Software Project Management Lifecycle – A Product Development Case study 628 Case Study 2: Maintenance Project Case Study – Lifecycle and How it is Managed 637 Case Study 3: Agile Project Case Study – How it is Structured and Executed 640 Case Study 4: Testing Case Study – How the Testing Methodologies are Used in a Project 644 Case Study 5: Software SDLC Case Study 648 Model Question Paper 652 Model Solved Question Paper 654 Index 666
دانلود کتاب Software Engineeering