ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Software Engineering: A Methodical Approach

دانلود کتاب مهندسی نرم افزار: رویکردی روشمند

Software Engineering: A Methodical Approach

مشخصات کتاب

Software Engineering: A Methodical Approach

ویرایش: [2 ed.] 
نویسندگان: ,   
سری:  
ISBN (شابک) : 9780367746018, 0367746018 
ناشر: CRC Press 
سال نشر: 2021 
تعداد صفحات: [579] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 77 Mb 

قیمت کتاب (تومان) : 38,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 10


در صورت تبدیل فایل کتاب Software Engineering: A Methodical Approach به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب مهندسی نرم افزار: رویکردی روشمند نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Cover
Half Title
Title Page
Copyright Page
Brief Contents
Table of Contents
Preface
Acknowledgements
Part A: Fundamentals
	Chapter 1: Introduction to Software Engineering
		1.1 Definitions and Concepts
			1.1.1 System
			1.1.2 Software and Software Engineering
		1.2 The Organization as a System
		1.3 Information Levels in the Organization
			1.3.1 Top Management
			1.3.2 Middle Management
			1.3.3 Junior Management and Operational Staff
			1.3.4 Importance of Information Levels in Software Engineering
			1.3.5 Alternate Organizational Settings
		1.4 Software Life Cycle
			1.4.1 Waterfall Model
			1.4.2 Phased Prototype Model
			1.4.3 Iterative Development Model
			1.4.4 Rapid Prototype Model
			1.4.5 Formal Transformation Model
			1.4.6 Components-Based Model
			1.4.7 Agile Development Model
		1.5 Categories of Software
		1.6 Alternate Software Acquisition Approaches
		1.7 Software Engineering Paradigms
		1.8 Desirable Features of Computer Software
		1.9 The Software Engineering Dilemma
		1.10 Summary and Concluding Remarks
		1.11 Review Questions
		References and Recommended Readings
	Chapter 2: The Role of the Software Engineer
		2.1 Historical Role
		2.2 Modern Role of the Software Engineer
		2.3 Job Description of the Software Engineer
			2.3.1 Core Functions of the Software Engineer
			2.3.2 Desirable Qualities of the Software Engineer
		2.4 Tools Used by the Software Engineer
			2.4.1 Coding Systems
				2.4.1.1 Desirable Features of a Coding System
				2.4.1.2 Types of Coding Systems
			2.4.2 Forms Design
			2.4.3 Data Analysis Charts
			2.4.4 Technical Documents and Modeling Techniques
			2.4.5 Software Planning and Development Tools
			2.4.6 Object-Oriented Programming Languages
		2.5 Management Issues with Which the Software Engineer Must Be Familiar
		2.6 Summary and Concluding Remarks
		2.7 Review Questions
		References and Recommended Readings
Part B: Software Investigation and Analysis
	Chapter 3: Project Selection and the Initial System Requirements
		3.1 Project Selection
		3.2 Problem Definition
			3.2.1 Constraints of a System
			3.2.2 Aid in Identifying System Problems
			3.2.3 Identifying the System Void
		3.3 The Proposed Solution
		3.4 Scope and Objectives of the System
		3.5 System Justification
		3.6 Feasibility Analysis Report
			3.6.1 Technical Feasibility
			3.6.2 Economic Feasibility
			3.6.3 Operational Feasibility
			3.6.4 Evaluation of System Alternatives
				3.6.4.1 Evaluation Based on Quality
				3.6.4.2 Evaluation Based on Cost
				3.6.4.3 Putting the Pieces Together
		3.7 Alternate Approach to the Feasibility Analysis
		3.8 Summary of System Inputs and Outputs
		3.9 Initial Project Schedule
		3.10 Project Team
		3.11 Summary and Concluding Remarks
		3.12 Review Questions
		References and Recommended Readings
	Chapter 4: Overview of Fundamental Object-Oriented Methodologies
		4.1 Software Revolution and Rationale for Object-Oriented Techniques
		4.2 Information Engineering and the Object-Oriented Approach
		4.3 Integrating Hi-tech Technologies
		4.4 Characteristics of Object-Oriented Methodologies
		4.5 Benefits of Object-Oriented Methodologies
		4.6 Objects and Object Types
		4.7 Operations
		4.8 Methods
		4.9 Encapsulation and Classes
			4.9.1 Encapsulation
			4.9.2 Class
		4.10 Inheritance and Amalgamation
			4.10.1 Inheritance
			4.10.2 Amalgamation
		4.11 Requests
		4.12 Polymorphism and Reusability
		4.13 Interfaces
		4.14 Late Binding
		4.15 Multithreading
		4.16 Perception versus Reality
		4.17 Overview of the Object-Oriented Software Engineering Process
		4.18 Summary and Concluding Remarks
		4.19 Review Questions
		Sources and Recommended Readings
	Chapter 5: Object-Oriented Information Engineering
		5.1 Introduction
		5.2 Engineering the Infrastructure
		5.3 Diagramming Techniques
		5.4 Enterprise Planning
		5.5 Business Area Analysis
		5.6 Software System Design
		5.7 Software System Construction
		5.8 Summary and Concluding Remarks
		5.9 Review Questions
		References and/or Recommended Reading
	Chapter 6: The Requirements Specification
		6.1 Introduction
		6.2 Contents of the Requirements Specification
		6.3 Documenting the Requirements
		6.4 Requirements Validation
		6.5 How to Proceed
		6.6 Presentation of the Requirements Specification
		6.7 The Agile Approach
		6.8 Summary and Concluding Remarks
		6.9 Review Questions
		References and Recommended Readings
	Chapter 7: Information Gathering
		7.1 Rationale for Information Gathering
		7.2 Interviewing
			7.2.1 Steps in Planning the Interview
			7.2.2 Basic Guidelines for Interviews
		7.3 Questionnaires and Surveys
			7.3.1 Guidelines for Questionnaires
			7.3.2 Using Scales in Questionnaires
			7.3.3 Administering the Questionnaire
		7.4 Sampling and Experimenting
			7.4.1 Probability Sampling Techniques
			7.4.2 Non-Probability Sampling Techniques
			7.4.3 Sample Calculations
		7.5 Observation and Document Review
		7.6 Prototyping
		7.7 Brainstorming and Mathematical Proof
		7.8 Object Identification
			7.8.1 The Descriptive Narrative Approach
			7.8.2 The Rule-of-Thumb Approach
			7.8.3 Using Things to be Modeled
			7.8.4 Using the Definitions of Objects, Categories, and Interfaces
			7.8.5 Using Decomposition
			7.8.6 Using Generalizations and Subclasses
			7.8.7 Using OO Domain Analysis or Application Framework
			7.8.8 Reusing Hierarchies, Individual Objects, and Classes
			7.8.9 Using Personal Experience
			7.8.10 Using the Class-Responsibility-Collaboration Method
		7.9 End-User Involvement
		7.10 Summary and Concluding Remarks
		7.11 Review Questions
		References and Recommended Readings
	Chapter 8: Communicating Via Diagrams
		8.1 Introduction
		8.2 Traditional System Flowcharts
			8.2.1 Information-Oriented Flowchart
			8.2.2 Process-Oriented Flow Chart
			8.2.3 Hierarchy- Input–Process-Output Chart
		8.3 Procedure Analysis Chart
		8.4 Innovation: Topology Charts
			8.4.1 Information Topology Chart
			8.4.2 User Interface Topology Chart
		8.6 Object Flow Diagram
		8.7 Other Contemporary Diagramming Techniques
			8.7.1 State Transition Diagram
			8.7.2 Finite State Machine
		8.8 Program Flowchart
		8.9 Summary and Concluding Remarks
		8.10 Review Questions
		References and Recommended Readings
	Chapter 9: More Diagramming
		9.1 Introduction
		9.2 The Unified Modeling Language—A Cursory Introduction
		9.3 Object-Relationship Diagrams—A Cursory Introduction
		9.4 Fern Diagram
		9.5 Representing Details about Object Types
			9.5.1 Object Structure Diagram
			9.5.2 CRC Card
		9.6 Avoiding Multiple Inheritance Relationships
			9.6.1 Delegation Using Aggregation
			9.6.2 Delegation and Inheritance
			9.6.3 Nested Generalization
		9.7 Top-Down versus Bottom-Up
			9.7.1 Top-Down Approach
			9.7.2 Bottom-Up Approach
		9.8 Use-Cases
			9.8.1 Symbols Used in Use-case
			9.8.2 Types of Use-cases
			9.8.3 Information Conveyed by a Use-case
			9.8.4 Bundling Use-cases and Putting Them to Use
		9.9 Event Diagrams
			9.9.1 Basic Event Diagrams
			9.9.2 Event Types
		9.10 Triggers
		9.11 Activity Diagrams
		9.12 Sequence Diagrams and Collaboration Diagrams
		9.13 Summary and Concluding Remarks
		9.14 Review Questions
		References and Recommended Reading
	Chapter 10: Decision Models for System Logic
		10.1 Structured Language
		10.2 Decision Tables
			10.2.1 Constructing the Decision Table
			10.2.2 Analyzing and Refining the Decision Table
			10.2.3 Extended-Entry Decision Table
		10.3 Decision Trees
		10.4 Which Technique to Use
		10.5 Decision Techniques versus Flowcharts
		10.6 System Rules
			10.6.1 Rule Definition
			10.6.2 Declarative versus Procedural Statements
			10.6.3 Types of Rules
		10.7 Summary and Concluding Remarks
		10.8 Review Questions
		References and/or Recommended Readings
	Chapter 11: Project Management Aids
		11.1 PERT and CPM
			11.1.1 Step 1: Tabulate the Project Activities
			11.1.2 Step 2: Draw the PERT Diagram
			11.1.3 Step 3: Determine ES, EF, LS, and LF for Each Activity
			11.1.4 Step 4: Determine the Critical Path
			11.1.5 Step 5: Conduct a Sensitivity Analysis
		11.2 The Gantt Chart
		11.3 Project Management Software
		11.4 Summary and Concluding Remarks
		11.5 Review Questions
		References and Recommended Readings
Part C: Software Design
	Chapter 12: Overview of Software Design
		12.1 The Software Design Process
		12.2 Design Strategies
			12.2.1 Function-Oriented Design
			12.2.2 Object-Oriented Design
			12.2.3 Advantages of Object-Oriented Design
			12.2.4 Using Both FO and OO Strategies
		12.3 Architectural Design
			12.3.1 Approaches to Resource Sharing
				12.3.1.1 Repository Model
				12.3.1.2 Client-Server Model
				12.3.1.3 Abstract Machine Model
				12.3.1.4 Component Model
			12.3.2 System Controls
		12.4 Integration/Interface Design
		12.5 Software Design and Development Standards
			12.5.1 Advantages of Software Standards
			12.5.2 Issues That Software Standards Should Address
		12.6 The Design Specification
			12.6.1 Contents of the Design Specification
			12.6.2 How to Proceed
		12.7 Summary and Concluding Remarks
		12.8 Review Questions
		References and Recommended Readings
	Chapter 13: Database Design
		13.1 Introduction
		13.2 Approaches to Database Design
			13.2.1 Conventional Files
			13.2.2 Database Approach
			13.2.3 Identifying and Defining Entities or Object Types
			13.2.4 Identifying Relationships
			13.2.5 Developing the ERD or ORD
			13.2.6 Implementing Relationships
			13.2.7 Preparing the Database Specification
		13.3 Overview of File Organization
			13.3.1 Sequential File Organization
			13.3.2 Relative or Direct File Organization
			13.3.3 Indexed Sequential File Organization
			13.3.4 Multi-Access File Organization
		13.4 Summary and Concluding Remarks
		13.5 Review Questions
		References and Recommended Readings
	Chapter 14: User Interface Design
		14.1 Fundamental Concepts
			14.1.1 User Needs
			14.1.2 Human Factors
			14.1.3 Design Considerations
			14.1.4 User Interface Preparation
		14.2 Types of User Interfaces
		14.3 Steps in User Interface Design
			14.3.1 Menu or Graphical User Interface
			14.3.2 Command-Based User Interface
		14.4 Overview of Output Design
		14.5 Output Methods versus Content and Technology
			14.5.1 Printed Output
			14.5.2 Monitor Display
			14.5.3 Audio Output
			14.5.4 Microfilm/Microfiche
			14.5.5 Magnetic and Optical Storage
			14.5.6 Choosing the Appropriate Output Method
		14.6 Guidelines for Designing Output
			14.6.1 Guidelines for Designing Printed Output
			14.6.2 Guidelines for Designing Screen Output
		14.7 Overview of Input Design
		14.8 Guidelines for Designing Input
		14.9 Summary and Concluding Remarks
		14.10 Review Questions
		References and Recommended Reading
	Chapter 15: Operations Design
		15.1 Introduction
		15.2 Categorization of Operations
		15.3 Essentials of Operations Design
		15.4 Informal Methods for Specifying Operation Requirements
			15.4.1 Traditional Methods
			15.4.2 Warnier Orr Diagram
			15.4.3 UML Notations for Object Behavior
			15.4.4 Extended Operation Specification
		15.5 Formal Specifications
		15.6 Summary and Concluding Remarks
		15.7 Review Questions
		References and Recommended Reading
	Chapter 16: Other Design Considerations
		16.1 The System Catalog
			16.1.1 Contents of the System Catalog
			16.1.2 Building the System Catalog
			16.1.3 Using the System Catalog
		16.2 Product Documentation
			16.2.1 The System Help Facility
				16.2.1.1 Structure of the Help System
				16.2.1.2 Content of the Help System
			16.2.2 The User’s Guide and System Guide
		16.3 User Message Management
			16.3.1 Storage and Management of Messages
			16.3.2 Message Retrieval
		16.4 Design for Real-Time Systems
			16.4.1 Real-Time System Modeling
			16.4.2 Real-Time Programming
		16.5 Design for Reuse
		16.6 System Security
			16.6.1 Access to the System
			16.6.2 Access to System Resources
			16.6.3 Access to System Data
		16.7 The Agile Effect
		16.8 Summary and Concluding Remarks
		16.9 Review Questions
		References and Recommended Readings
	Chapter 17: Putting the Pieces Together
		17.1 How a Software Engineering Project Begins
		17.2 The First Deliverable
		17.3 The Second Deliverable
		17.4 The Third Deliverable
		17.5 Other Subsequent Deliverables
		17.6 Summary and Concluding Remarks
		17.7 Review Questions
Part D: Software Development
	Chapter 18: Software Development Issues
		18.1 Introduction
		18.2 Standards and Quality Assurance
			18.2.1 The Relationship between Quality and Standards
			18.2.2 Software Quality Factors
			18.2.3 Quality Assurance Evaluation
		18.3 Management of Targets and Financial Resources
			18.3.1 Managing Budget and Expenditure
				18.3.1.1 Budget Preparation
				18.3.1.2 Budget Monitoring
			18.3.2 Managing Software Cost and Value
		18.4 Leadership and Motivation
		18.5 Planning of Implementation Strategy
		18.6 Summary and Concluding Remarks
		18.7 Review Questions
		References and Recommended Readings
	Chapter 19: Human Resource Management
		19.1 Management Responsibilities
		19.2 Management Styles
			19.2.1 Autocratic Management
			19.2.2 Egalitarian (Democratic) Management
			19.2.3 Laissez Faire Management
			19.2.4 Path-Goal Leadership
			19.2.5 Transformational Leadership
			19.2.6 The Super Leader Approach
			19.2.7 Task-Oriented Leadership
			19.2.8 Relations-Oriented Leadership
			19.2.9 Contingency Leadership
		19.3 Developing Job Descriptions
		19.4 Hiring
		19.5 Maintaining the Desired Environment
			19.5.1 Effective Communication
			19.5.2 Conflict Resolution
			19.5.3 Treating Outstanding Achievements and Errant Actions
		19.6 Preserving Accountability
			19.6.1 Designing and Assigning Work
			19.6.2 Evaluating Performance
		19.7 Grooming and Succession Planning
		19.8 Summary and Concluding Remarks
		19.9 Review Questions
		References and Recommended Reading
	Chapter 20: Software Economics
		20.1 Software Cost versus Software Price
			20.1.1 Software Cost
			20.1.2 Software Price
		20.2 Software Value
		20.3 Evaluating Software Productivity
			20.3.1 Size-related Metrics
			20.3.2 Function-related Metrics
			20.3.3 Assessment Based on Value Added
		20.4 Estimation Techniques for Engineering Cost
			20.4.1 Algorithmic Cost Models
			20.4.2 The COCOMO Model
			20.4.3 The COCOMO II Model
				20.4.3.1 Application Composition Model
				20.4.3.2 Early Design Model
				20.4.3.3 Post-Architecture Model
		20.5 Summary and Concluding Remarks
		20.6 Review Questions
		References and Recommended Reading
Part E: Software Implementation and Management
	Chapter 21: Software Implementation Issues
		21.1 Introduction
		21.2 Operating Environment
			21.2.1 Central System
			21.2.2 Distributed System
			21.2.3 Other Environmental Issues
		21.3 Installation of the System
		21.4 Code Conversion
		21.5 Change Over
			21.5.1 Direct Change Over
			21.5.2 Parallel Conversion
			21.5.3 Phased Conversion
			21.5.4 Distributed Conversion
		21.6 Training
		21.7 Marketing of the Software
		21.8 Summary and Concluding Remarks
		21.9 Review Questions
		Recommended Readings
	Chapter 22: Software Management
		22.1 Introduction
		22.2 Software Maintenance
			22.2.1 Software Modifications
			22.2.2 Software Upgrades and Patches
			22.2.3 Maintenance Cost
		22.3 Legacy Systems
		22.4 Software Integration
		22.5 Software Re-engineering
		22.6 Summary and Concluding Remarks
		22.7 Review Questions
		References and/or Recommended Readings
	Chapter 23: Organizing for Effective Management
		23.1 Introduction
		23.2 Functional Organization
		23.3 Parallel Organization
		23.4 Hybrid (Matrix) Organization
		23.5 Organization of Software Engineering Firms
		23.6 Summary and Concluding Remarks
		23.7 Review Questions
		References and/or Recommended Readings
Part F: Advanced Software Engineering Concepts
	Chapter 24: Using Database Systems to Anchor Management Support Systems
		24.1 Overview of Management Support Systems
		24.2 Building System Security through Database Design
		24.3 Case Study: Dynamic Menu Interface Designer
			24.3.1 Database Requirements of the DMID
			24.3.2 Overview of the DMID’s User Interface Requirements
			24.3.3 Management of System Constraints via the DMID
			24.3.4 Access to System Resources
			24.3.5 Usefulness and Applicability of the DMID
		24.4 Selected MSS Project Ideas
			24.4.1 Electoral Management System
			24.4.2 Health Information Management System
			24.4.3 Strategic Education Management System
			24.4.4 Flight Information Management System
			24.4.5 Financial Information Management System
			24.4.6 Disease Recognition System
			24.4.7 Cognitive Leadership Analysis System
			24.4.8 Financial Status Assessment System
			24.4.9 College/University Administrative Information System
		24.5 Summary and Concluding Remarks
		24.6 Review Questions
		References and/or Recommended Readings
	Chapter 25: Software Architectures, Frameworks, and Patterns
		25.1 Software Architecture Tools
			25.1.1 Structural Frameworks
			25.1.2 Layered Architecture
			25.1.3 Hierarchical Architecture
			25.1.4 Publish/Subscribe Architecture
		25.2 Software Frameworks
			25.2.1 Structural Frameworks
			25.2.2 Augmenting Functionality of Existing Language
			25.2.3 Making Existing Functionality Easier
		25.3 The Model-View-Controller Framework
			25.3.1 Properties of the MVC Framework
			25.3.2 Benefits of the MVC Framework
		25.4 Software Patterns
			25.4.1 Creational Patterns
			25.4.2 Structural Patterns
			25.4.3 Concurrency Patterns
			25.4.4 Behavioral Patterns
		25.5 Summary and Concluding Remarks
		25.6 Review Questions
		References and/or Recommended Readings
	Chapter 26: New Frontiers in Software Engineering
		26.1 Empirical Software Engineering
			26.1.1 Rationale for Empirical Software Engineering
			26.1.2 Approaches to Empirical Software Engineering
		26.2 Data Science
			26.2.1 Big Data
			26.2.2 Data Warehousing
			26.2.3 Data Mining
		26.3 Bioinformatics
		26.4 Machine Learning
			26.4.1 Different Algorithms Used in Machine Learning
			26.4.2 Machine Learning Today
		26.5 Game Design
			26.5.1 The Peculiar Problem of Game Design
			26.5.2 Challenges of Integrating Software Engineering with Game Design
		26.6 Augmented and Virtual Reality
			26.6.1 What is Virtual Reality?
			26.6.2 What is Augmented Reality?
			26.6.3 Difference between Virtual Reality and Augmented Reality; Future Expectations
		26.7 Internet of Things
			26.7.1 What is the Internet of Things?
			26.7.2 Adapting Software Engineering Techniques to Handle Networking from the Start
		26.8 Cloud Computing
		26.9 Summary and Concluding Remarks
		26.10 Review Questions
		References and/or Recommended Readings
Part G: Appendices
	Appendix A: Project Proposal for a Generic Inventory Management System
		A.1 Problem Definition
		A.2 Proposed Solution
		A.3 Scope of the System
		A.4 System Objectives
		A.5 Expected Benefits
		A.6 Overview of Storage Requirements
		A.7 Anticipated Outputs
		A.8 Feasibility Analysis Report
			A.8.1 Feasibility of Alternative A
			A.8.2 Feasibility of Alternative B
			A.8.3 Feasibility of Alternative C
			A.8.4 Feasibility of Alternative D
			A.8.5 Evaluation of Alternatives
		A.9 Initial Project Schedule
	Appendix B: Requirements Specification for a Generic Inventory Management System
		B.1 System Overview
			B.1.1 Problem Definition
			B.1.2 Proposed Solution
			B.1.3 System Architecture
		B.2 Storage Requirements
			B.2.1 Acquisitions Management Subsystem
			B.2.2 Financial Management Subsystem
		B.3 Operational Requirements
		B.4 System Rules
			B.4.1 Data Integrity Rules
			B.4.2 Procedural and Derivation Rules
		B.5 Summary and Concluding Remarks
	Appendix C: Design Specification for a Generic Inventory Management System
		C.1 System Overview
			C.1.1 Problem Definition
			C.1.2 Proposed Solution
			C.1.3 System Architecture
		C.2 Database Specification
			C.2.1 Introduction
			C.2.2 Acquisitions Management Subsystem
			C.2.3 Financial Management Subsystem
			C.2.4 Systems Control Subsystem
		C.3 User Interface Specification
			C.3.1 User Interface Topology
			C.3.2 Utility Operations
			C.3.3 Message Specification
			C.3.4 Help Specification
		C.4 Operations Specification
			C.4.1 System Rules
			C.4.2 Procedural and Derivation Rules
			C.4.3 Generic Pseudo-codes
			C.4.4 Acquisitions Management Subsystem
			C.4.5 Financial Management Subsystem
			C.4.6 System Controls Subsystem
		C.5 Summary and Concluding Remarks
Index




نظرات کاربران