دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: Fourth نویسندگان: Barbara Bernal, Orlando Karam, Frank F. Tsui سری: ISBN (شابک) : 9781284106008, 1284106004 ناشر: سال نشر: 2018 تعداد صفحات: 353 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 4 مگابایت
در صورت تبدیل فایل کتاب Essentials of software engineering به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب ملزومات مهندسی نرم افزار نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
نسخه چهارم که برای دوره کارشناسی، دوره یک ترم، Essentials of Software Engineering نوشته شده است، رویکرد مهندسی سیستماتیک به اصول و روش های مهندسی نرم افزار را به دانشجویان ارائه می دهد. نسخه چهارم جامع و در عین حال مختصر، حاوی اطلاعات جدیدی در زمینههای مورد علاقه دانشمندان کامپیوتر، از جمله Big Data و توسعه در فضای ابری است.
Written for the undergraduate, one-term course, Essentials of Software Engineering, Fourth Edition provides students with a systematic engineering approach to software engineering principles and methodologies. Comprehensive, yet concise, the Fourth Edition includes new information on areas of high interest to computer scientists, including Big Data and developing in the cloud.
Cover Title Page Copyright Contents Preface CHAPTER 1 Creating a Program 1.1 A Simple Problem 1.1.1 Decisions, Decisions 1.1.2 Functional Requirements 1.1.3 Nonfunctional Requirements 1.1.4 Design Constraints 1.1.5 Design Decisions 1.2 Testing 1.3 Estimating Effort 1.4 Implementations 1.4.1 A Few Pointers on Implementation 1.4.2 Basic Design 1.4.3 Unit Testing with JUnit 1.4.4 Implementation of StringSorter 1.4.5 User Interfaces 1.5 Summary 1.6 Review Questions 1.7 Exercises 1.8 References and Suggested Readings CHAPTER 2 Building a System 2.1 Characteristics of Building a System 2.1.1 Size and Complexity 2.1.2 Technical Considerations of Development and Support 2.1.3 Nontechnical Considerations of Development and Support 2.2 Building a Hypothetical System 2.2.1 Requirements of the Payroll System 2.2.2 Designing the Payroll System 2.2.3 Code and Unit Testing the Payroll System 2.2.4 Integration and Functionally Testing the Payroll System 2.2.5 Release of the Payroll System 2.2.6 Support and Maintenance 2.3 Coordination Efforts 2.3.1 Process 2.3.2 Product 2.3.3 People 2.4 Summary 2.5 Review Questions 2.6 Exercises 2.7 References and Suggested Readings CHAPTER 3 Engineering of Software 3.1 Examples and Characteristics of Software Failures 3.1.1 Project Failures 3.1.2 Software Product Failures 3.1.3 Coordination and Other Concerns 3.2 Software Engineering 3.2.1 What Is Software Engineering? 3.2.2 Definitions of Software Engineering 3.2.3 Relevancy of Software Engineering and Software 3.3 Software Engineering Profession and Ethics 3.3.1 Software Engineering Code of Ethics 3.3.2 Professional Behavior 3.4 Principles of Software Engineering 3.4.1 Davis’s Early Principles of Software Engineering 3.4.2 Royce’s More Modern Principles 3.4.3 Wasserman’s Fundamental Software Engineering Concepts 3.5 Summary 3.6 Review Questions 3.7 Exercises 3.8 References and Suggested Readings CHAPTER 4 Software Process Models 4.1 Software Processes 4.1.1 Goal of Software Process Models 4.1.2 The “Simplest” Process Model 4.2 Traditional Process Models 4.2.1 Waterfall Model 4.2.2 Chief Programmer Team Approach 4.2.3 Incremental Model 4.2.4 Spiral Model 4.3 A More Modern Process 4.3.1 General Foundations of Rational Unified Process Framework 4.3.2 The Phases of RUP 4.4 Entry and Exit Criteria 4.4.1 Entry Criteria 4.4.2 Exit Criteria 4.5 Process Assessment Models 4.5.1 SEI’s Capability Maturity Model 4.5.2 SEI’s Capability Maturity Model Integrated 4.6 Process Definition and Communication 4.7 Summary 4.8 Review Questions 4.9 Exercises 4.10 References and Suggested Readings CHAPTER 5 New and Emerging Process Methodologies 5.1 What Are Agile Processes? 5.2 Why Agile Processes? 5.3 Some Process Methodologies 5.3.1 Extreme Programming (XP) 5.3.2 The Crystal Family of Methodologies 5.3.3 The Unified Process as Agile 5.3.4 Scrum 5.3.5 Kanban Method: A New Addition to Agile 5.3.6 Open Source Software Development 5.3.7 Summary of Processes 5.4 Choosing a Process 5.4.1 Projects and Environments Better Suited for Each Kind of Process 5.4.2 Main Risks and Disadvantages of Agile Processes 5.4.3 Main Advantages of Agile Processes 5.5 Summary 5.6 Review Questions 5.7 Exercises 5.8 References and Suggested Readings CHAPTER 6 Requirements Engineering 6.1 Requirements Processing 6.1.1 Preparing for Requirements Processing 6.1.2 Requirements Engineering Process 6.2 Requirements Elicitation and Gathering 6.2.1 Eliciting High-Level Requirements 6.2.2 Eliciting Detailed Requirements 6.3 Requirements Analysis 6.3.1 Requirements Analysis and Clustering by Business Flow 6.3.2 Requirements Analysis and Clustering with Object-Oriented Use Cases 6.3.3 Requirements Analysis and Clustering by Viewpoint-Oriented Requirements Definition 6.3.4 Requirements Analysis and Prioritization 6.3.5 Requirements Traceability 6.4 Requirements Definition, Prototyping, and Reviews 6.5 Requirements Specification and Requirements Agreement 6.6 Summary 6.7 Review Questions 6.8 Exercises 6.9 References and Suggested Readings CHAPTER 7 Design: Architecture and Methodology 7.1 Introduction to Design 7.2 Architectural Design 7.2.1 What Is Software Architecture? 7.2.2 Views and Viewpoints 7.2.3 Meta-Architectural Knowledge: Styles, Patterns, Tactics, and Reference Architectures 7.2.4 A Network-based Web Reference Architecture—REST 7.3 Detailed Design 7.3.1 Functional Decomposition 7.3.2 Relational Database Design 7.3.3 Designing for Big Data 7.3.4 Object-Oriented Design and UML 7.3.5 User-Interface Design 7.3.6 Some Further Design Concerns 7.4 HTML-Script-SQL Design Example 7.5 Summary 7.6 Review Questions 7.7 Exercises 7.8 References and Suggested Readings CHAPTER 8 Design Characteristics and Metrics 8.1 Characterizing Design 8.2 Some Legacy Characterizations of Design Attributes 8.2.1 Halstead Complexity Metric 8.2.2 McCabe’s Cyclomatic Complexity 8.2.3 Henry-Kafura Information Flow 8.2.4 A Higher-Level Complexity Measure 8.3 “Good” Design Attributes 8.3.1 Cohesion 8.3.2 Coupling 8.4 OO Design Metrics 8.4.1 Aspect-Oriented Programming 8.4.2 The Law of Demeter 8.5 User-Interface Design 8.5.1 Good UI Characteristics 8.5.2 Usability Evaluation and Testing 8.6 Summary 8.7 Review Questions 8.8 Exercises 8.9 References and Suggested Readings CHAPTER 9 Implementation 9.1 Introduction to Implementation 9.2 Characteristics of a Good Implementation 9.2.1 Programming Style and Coding Guidelines 9.2.2 Comments 9.3 Implementation Practices 9.3.1 Debugging 9.3.2 Assertions and Defensive Programming 9.3.3 Performance Optimization 9.3.4 Refactoring 9.3.5 Code Reuse 9.4 Developing for the Cloud 9.4.1 Infrastructure as a Service 9.4.2 Platform as a Service 9.4.3 Cloud Application Services 9.4.4 Cloud Services for Developers 9.4.5 Advantages and Disadvantages of the Cloud 9.5 Summary 9.6 Review Questions 9.7 Exercises 9.8 References and Suggested Readings CHAPTER 10 Testing and Quality Assurance 10.1 Introduction to Testing and Quality Assurance 10.2 Testing 10.2.1 The Purposes of Testing 10.3 Testing Techniques 10.3.1 Equivalence-Class Partitioning 10.3.2 Boundary Value Analysis 10.3.3 Path Analysis 10.3.4 Combinations of Conditions 10.3.5 Automated Unit Testing and Test-Driven Development 10.3.6 An Example of Test-Driven Development 10.4 When to Stop Testing 10.5 Inspections and Reviews 10.6 Formal Methods 10.7 Static Analysis 10.8 Summary 10.9 Review Questions 10.10 Exercises 10.11 References and Suggested Readings CHAPTER 11 Configuration Management, Integration, and Builds 11.1 Software Configuration Management 11.2 Policy, Process, and Artifacts 11.2.1 Business Policy Impact on Configuration Management 11.2.2 Process Influence on Configuration Management 11.3 Configuration Management Framework 11.3.1 Naming Model 11.3.2 Storage and Access Model 11.4 Build and Integration and Build 11.5 Tools for Configuration Management 11.6 Managing the Configuration Management Framework 11.7 Summary 11.8 Review Questions 11.9 Exercises 11.10 References and Suggested Readings CHAPTER 12 Software Support and Maintenance 12.1 Customer Support 12.1.1 User Problem Arrival Rate 12.1.2 Customer Interface and Call Management 12.1.3 Technical Problem/Fix 12.1.4 Fix Delivery and Fix Installs 12.2 Product Maintenance Updates and Release Cycles 12.3 Change Control 12.4 Summary 12.5 Review Questions 12.6 Exercises 12.7 References and Suggested Readings CHAPTER 13 Software Project Management 13.1 Project Management 13.1.1 The Need for Project Management 13.1.2 The Project Management Process 13.1.3 The Planning Phase of Project Management 13.1.4 The Organizing Phase of Project Management 13.1.5 The Monitoring Phase of Project Management 13.1.6 The Adjusting Phase of Project Management 13.2 Some Project Management Techniques 13.2.1 Project Effort Estimation 13.2.2 Work Breakdown Structure 13.2.3 Project Status Tracking with Earned Value 13.2.4 Measuring Project Properties and GQM 13.3 Summary 13.4 Review Questions 13.5 Exercises 13.6 References and Suggested Readings CHAPTER 14 Epilogue and Some Contemporary Issues 14.1 Security and Software Engineering 14.2 Reverse Engineering and Software Obfuscation 14.3 Software Validation and Verification Methodologies and Tools 14.4 References and Suggested Readings APPENDIX A Essential Software Development Plan (SDP) Appendix B Essential Software Requirements Specifications (SRS) Example 1: Essential SRS—Descriptive Example 2: Essential SRS—Object Oriented Example 3: Essential SRS—IEEE Standard Example 4: Essential SRS—Narrative Approach Appendix C Essential Software Design Example 1: Essential Software Design—UML Example 2: Essential Software Design—Structural Appendix D Essential Test Plan Glossary Index