ورود به حساب

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

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

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

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

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

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


09117307688
09117179751

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

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

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

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

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

پشتیبانی

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

دانلود کتاب Agile Software Engineering Skills

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

Agile Software Engineering Skills

مشخصات کتاب

Agile Software Engineering Skills

ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 3031054687, 9783031054686 
ناشر: Springer 
سال نشر: 2023 
تعداد صفحات: 327
[328] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 5 Mb 

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



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

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


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

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


توضیحاتی در مورد کتاب مهارت های مهندسی نرم افزار چابک

این کتاب در مورد کار گروهی برای ایجاد نرم افزارهای کاربردی است. این مهارت ها در روش های توسعه نرم افزار چابک، کار تیمی، کنترل نسخه و ادغام مداوم را پوشش می دهد و به خوانندگان نشان می دهد که چگونه برخی از جدیدترین ایده های ناب، چابک و Kanban را اعمال کنند. بخش اول، که بر روی افراد متمرکز است، نقش های مختلف پروژه و مهارت های مورد نیاز برای اجرای هر نقش را توضیح می دهد. این شامل اعضای تیم های خودسازمانده، استادان اسکرام، صاحبان محصول و فعالیت هایی برای مدیریت سایر ذینفعان می شود. مهارت های مورد نیاز برای ایجاد مصنوعات محصول در قسمت دوم به تفصیل آمده است. اینها شامل مهارت‌هایی برای ایجاد نیازمندی‌های چابک، معماری، طرح‌ها و همچنین توسعه و مصنوعات امنیتی است. فرآیند توسعه چابک برای هماهنگی با همکاران در قسمت سوم توضیح داده شده است. مهارت های مورد نیاز برای تسهیل فرآیند افزایشی و استفاده از ابزارهای نرم افزاری برای کنترل نسخه و تست خودکار را معرفی می کند. در نهایت برخی از موضوعات پیشرفته تر در بخش چهارم توضیح داده شده است. این موضوعات شامل پروژه های بزرگ متشکل از چندین تیم همکاری، استقرار خودکار، خدمات نرم افزار ابری، DevOps و سیستم های زنده در حال تکامل است. این کتاب درسی به شایستگی های قابل توجهی در گروه ویژه برنامه درسی محاسباتی IEEE/ACM 2020 می پردازد. این کتاب شامل نزدیک به 100 تمرین برای آزمایش و به کارگیری مهارت های مورد نیاز برای توسعه نرم افزار چابک است. نکات، راهنمایی‌ها و توصیه‌های بیشتر در مورد مقابله با تمرین‌ها در پایان هر فصل ارائه شده است، و یک پروژه مطالعه موردی، با کد منبع قابل دانلود از یک مخزن آنلاین، مهارت‌های آموخته شده در فصل‌ها را ادغام می‌کند. علاوه بر این، نمونه پروژه های نرم افزاری بیشتری نیز در آنجا موجود است. به این ترتیب، این کتاب یک راهنمای عملی برای کار بر روی یک پروژه توسعه به عنوان بخشی از یک تیم ارائه می‌کند و از نیازهای متخصصان اولیه شغلی و همچنین دانشجویان مهندسی نرم‌افزار در مقطع کارشناسی و علوم کامپیوتر الهام گرفته شده است.


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

This textbook is about working in teams to create functioning software. It covers skills in agile software development methods, team working, version control and continuous integration and shows readers how to apply some of the latest ideas from lean, agile and Kanban. Part I, which focuses on People, describes various project roles and the skills needed to perform each role. This includes members of self-organizing teams, scrum masters, product owners and activities for managing other stakeholders. The skills needed to create Product artefacts are detailed in Part II. These include skills to create agile requirements, architectures, designs as well as development and security artefacts. The agile development Process to coordinate with co-workers is described in Part III. It introduces the skills needed to facilitate an incremental process and to use software tools for version control and automated testing. Eventually some more advanced topics are explained in Part IV. These topics include large projects comprising multiple cooperating teams, automating deployment, cloud software services, DevOps and evolving live systems. This textbook addresses significant competencies in the IEEE/ACM Computing Curricula Task Force 2020. It includes nearly 100 exercises for trying out and applying the skills needed for agile software development. Hints, tips and further advice about tackling the exercises are presented at the end of each chapter, and a case study project, with downloadable source code from an online repository, integrates the skills learned across the chapters. In addition, further example software projects are also available there. This way, the book provides a hands-on guide to working on a development project as part of a team, and is inspired by the needs of early career practitioners as well as undergraduate software engineering and computer science students.



فهرست مطالب

Preface
	Book Structure
	IEEE/ACM Computing Curriculum Competencies
	Exercises
	How to Use This Book
	Learning Journal
	Tabby Cat Project
	Student Group Projects and Hackathons
	Prior Knowledge
Acknowledgements
Contents
1 Introduction and Principles
	1.1 Agile Software Skills
		1.1.1 People
		1.1.2 Product
		1.1.3 Process
		1.1.4 Advanced Skills
	1.2 Engineering Software
	1.3 Tabby Cat Project
	1.4 Supporting Resources
	1.5 Evidence Underpinning the Book
	1.6 Software HackCamp
	1.7 Create Yourself a Livelihood
	References
Part I People
	Other Book Parts
	2 Self-Organising Teams
		2.1 Introduction
		2.2 Self-Organising Teams
			2.2.1 Attributes of Self-Organising Teams
		2.3 Groups and Teams
			2.3.1 Building Team Performance
		2.4 Agile Principles
			2.4.1 Sustainable Pace
			2.4.2 Collective Code Ownership
		2.5 Forming Teams
			2.5.1 Accelerating Team Formation
			2.5.2 Handling Difference and Conflict
			2.5.3 Accelerating Norming
		2.6 Collaboration Activities Within Self-Organising Teams
			2.6.1 Mentor
			2.6.2 Co-ordinator
			2.6.3 Translator
			2.6.4 Champion
			2.6.5 Promoter
			2.6.6 Terminator
		2.7 Virtual Teams
			2.7.1 Principles for Virtual Team Management
			2.7.2 Preparation for Team Success
				2.7.2.1 Cultural Diversity
				2.7.2.2 Remote Pair Programming
			2.7.3 Launch
			2.7.4 Performance Management
		2.8 Communities of Practice
		2.9 Exercises
		2.10 Hints, Tips and Advice on Exercises
		2.11 Chapter Summary
		References
	3 Agile Roles
		3.1 Introduction
		3.2 Scrum Master
			3.2.1 Process Anchor
			3.2.2 Iteration Planner
			3.2.3 Stand-up Facilitator
			3.2.4 Impediment Remover
			3.2.5 Integration Anchor
		3.3 Product Owner/On-site Customer
			3.3.1 Product Grooming
			3.3.2 Prioritiser
			3.3.3 Release Master
			3.3.4 Communicator
			3.3.5 Traveller
			3.3.6 Intermediary
		3.4 Product Owner Behaviours
			3.4.1 Favour Face-to-Face Interactions
			3.4.2 Understand and Focus on Real Goals
			3.4.3 Make Product Owner Teams Well Defined
		3.5 Other Roles: For Larger Projects
			3.5.1 Product Sponsor
			3.5.2 Technical Architect
		3.6 Exercises
		3.7 Hints, Tips and Advice on Exercises
		3.8 Chapter Summary
		References
	4 Managing Stakeholders
		4.1 Introduction
		4.2 Managing Upwards
			4.2.1 Set Expectations
			4.2.2 Confess to Catastrophe
			4.2.3 Share Success
			4.2.4 Unreasonable Demands
		4.3 Managing Outwards
		4.4 Contracts
			4.4.1 Contracts and Change Requests
			4.4.2 Time and Materials Contracts
			4.4.3 Outsourcing Contracts
			4.4.4 Offshoring Contracts
			4.4.5 Academic Contracts
			4.4.6 Negotiating Contracts
		4.5 Communication Quality
			4.5.1 Audience
			4.5.2 Narrative
			4.5.3 Language
			4.5.4 Process
		4.6 Communication Tools
			4.6.1 Reports
				4.6.1.1 Report Composition
				4.6.1.2 Report Content
			4.6.2 Presentations
				4.6.2.1 Presentation Types
				4.6.2.2 Presentation Content
				4.6.2.3 Presentation Delivery
				4.6.2.4 Presentation Rehearsal
			4.6.3 Blogs and Wikis
			4.6.4 Videos
		4.7 Exercises
		4.8 Hints, Tips and Advice on Exercises
		4.9 Chapter Summary
		References
	5 Ethics
		5.1 Introduction
		5.2 What Went Wrong?
			5.2.1 Algorithms and Inequality
			5.2.2 Platforms and Fake Markets
			5.2.3 Errors, Faults and Failures
			5.2.4 Criminal and Unethical Behaviour
		5.3 Copyright and Patents
		5.4 Professional Bodies
			5.4.1 BCS Codes of Conduct
			5.4.2 ACM Codes of Ethics
			5.4.3 Problems with Codes of Ethics
		5.5 Activism
			5.5.1 Whistle-Blowing
			5.5.2 Unions
		5.6 Professional Development
			5.6.1 Initial Professional Development
			5.6.2 Continuing Professional Development
			5.6.3 Skills Framework for the Information Age
			5.6.4 Other Training and Development
		5.7 Exercises
		5.8 Hints, Tips and Advice on Exercises
		5.9 Chapter Summary
		References
	6 Tabby Cat Project, Getting Started
		6.1 Introduction
		6.2 Online Repository Activities
		6.3 Actually Getting Started
		6.4 Sprint Zero
		6.5 Subsequent Sprints
		6.6 Chapter Summary
		Reference
Part II Product
	Other Book Parts
	7 Requirements
		7.1 Introduction
		7.2 Types of Requirements
			7.2.1 Functional Requirements
			7.2.2 Non-functional Requirements
			7.2.3 Incremental Requirements
		7.3 Requirements Quality
			7.3.1 Requirements Precision
			7.3.2 Requirements Consistency
			7.3.3 Requirements Completeness
		7.4 Use Cases
			7.4.1 Use Case Diagrams
			7.4.2 Use Case, Descriptions
		7.5 User Stories
		7.6 User Story Mapping
		7.7 Personas
		7.8 Exercises
		7.9 Hints, Tips and Advice on Exercises
		7.10 Chapter Summary
		References
	8 Architecture
		8.1 Introduction
		8.2 Architecture in Agile
			8.2.1 Refactoring
			8.2.2 Rework
			8.2.3 Planned Refactoring
			8.2.4 Architectural Abstraction
		8.3 Design Styles
			8.3.1 Client-Server
			8.3.2 Repository Architecture
			8.3.3 Pipe and Filter
			8.3.4 Layered Architecture
			8.3.5 Clean Architecture
		8.4 Reference Architectures
		8.5 Design Principles
			8.5.1 KISS Principle
			8.5.2 DRY (Do Not Repeat Yourself)
			8.5.3 YAGNI (You Aren't Gonna Need It)
			8.5.4 GRASP
			8.5.5 SOLID
		8.6 Architecture Implementation
		8.7 Exercises
		8.8 Hints, Tips and Advice on Exercises
		8.9 Chapter Summary
		References
	9 Design
		9.1 Introduction
		9.2 Feature-Driven Development
		9.3 System Modelling
		9.4 Class Diagrams
			9.4.1 Deriving Class Diagrams
				9.4.1.1 Noun and Noun Phrases
				9.4.1.2 Verb and Verb Phrases
			9.4.2 Domain Models
			9.4.3 High-Level Design Class Diagrams
			9.4.4 Detailed Design Class Diagrams
		9.5 Object Sequence Diagrams
		9.6 Design Patterns
			9.6.1 Singleton Pattern
			9.6.2 Model View Controller
			9.6.3 Factory Pattern
		9.7 Technology Stack Selection
		9.8 Model-Driven Engineering
		9.9 Exercises
		9.10 Hints, Tips and Advice on Exercises
		9.11 Chapter Summary
		References
	10 Development
		10.1 Introduction
		10.2 Planning Artefacts
			10.2.1 Kanban Boards
			10.2.2 Product Backlog
			10.2.3 Test Plan
		10.3 Iteration Artefacts
			10.3.1 Iteration Backlog
			10.3.2 User Story Estimates
			10.3.3 Burn Down Chart
		10.4 Feature Artefacts
			10.4.1 Prototypes
			10.4.2 Source Code
			10.4.3 Unit Tests
			10.4.4 Issues
		10.5 Release Artefacts
			10.5.1 Release Code Binaries
			10.5.2 Regression Tests
		10.6 Exercises
		10.7 Hints, Tips and Advice on Exercises
		10.8 Chapter Summary
		References
	11 Security
		11.1 Introduction
		11.2 Security Analysis
			11.2.1 Security Objectives
			11.2.2 Threat Model
		11.3 Security Requirements
			11.3.1 Security Mitigation Requirements
			11.3.2 Abuse Stories
			11.3.3 Security Personas and Anti-personas
			11.3.4 Risk and Risk Management
		11.4 Security Design
			11.4.1 Security Patterns
		11.5 Security Implementation
			11.5.1 Abuse Story Implementation
			11.5.2 OWASP Top Ten
			11.5.3 Authentication
		11.6 Security Evaluation
			11.6.1 Manual Security Inspections and Reviews
			11.6.2 Automated Security Testing
		11.7 Agile Security Processes
			11.7.1 Roles
			11.7.2 Artefacts
			11.7.3 Ceremonies
		11.8 Exercises
		11.9 Hints, Tips and Advice on Exercises
		11.10 Chapter Summary
		References
	12 Tabby Cat Project: Getting Building
		12.1 Introduction
		12.2 Requirements
			12.2.1 Functional Requirements
			12.2.2 Non-functional Requirements
		12.3 Architecture
			12.3.1 Architectural Style
			12.3.2 Client-Server
		12.4 Design
			12.4.1 Back-End Design
			12.4.2 Front-End Design
		12.5 Development
			12.5.1 Back-End Technologies
			12.5.2 Front-End Technologies
			12.5.3 Code Organisation
		12.6 Security
		12.7 Illustrative Implementation
		References
Part III Process, Tools and Automation
	Other Book Parts
	13 Agile Ceremonies
		13.1 Introduction
		13.2 Iteration Planning
			13.2.1 Prioritisation
			13.2.2 Features and Technical Tasks
			13.2.3 Estimation
				13.2.3.1 Story Point Estimation
				13.2.3.2 T-Shirt Sizing
			13.2.4 Task Assignment
		13.3 Coordination Meetings
			13.3.1 Virtual Stand-Up Meetings
			13.3.2 Kanban Boards
		13.4 Customer Demonstrations
			13.4.1 Retrospectives
		13.5 Pair Programming
		13.6 Test-Driven Development
		13.7 Specialist Agile Ceremonies
			13.7.1 Spikes
			13.7.2 Swarm Programming
			13.7.3 Mob Programming
		13.8 Exercises
		13.9 Hints, Tips and Advice on Exercises
		13.10 Chapter Summary
		References
	14 Lean
		14.1 Introduction
			14.1.1 Respecting People
			14.1.2 Create Knowledge
			14.1.3 Build Quality In
		14.2 Value
			14.2.1 Non-monetary Value
			14.2.2 Value Stream Mapping
			14.2.3 Definition of Done
		14.3 Waste
			14.3.1 Partially Done Work
			14.3.2 Superfluous Features
			14.3.3 Rework
			14.3.4 Hand-Offs
			14.3.5 Task Switching
			14.3.6 Delays
			14.3.7 Defects
		14.4 Speed
			14.4.1 Work-in-Progress Limits
			14.4.2 Work Item Variability
		14.5 Lean Start-Up
			14.5.1 Bootstrapping
			14.5.2 Minimum Viable Product
			14.5.3 Pivot
		14.6 Exercises
		14.7 Hints, Tips and Advice on Exercises
		14.8 Chapter Summary
		References
	15 Version Control
		15.1 Introduction
		15.2 Content Management
			15.2.1 Create a Local Git Repository
		15.3 Source Code History
			15.3.1 Stage Files for Inclusion in the Version Control Repository
			15.3.2 Commit Files into the Version Control Repository
			15.3.3 Making and Removing a Change
		15.4 Source Code Remote Archiving
			15.4.1 Version Control Remote Server Archiving
		15.5 Source Code Sharing
			15.5.1 Trunk and Branches
		15.6 Exercises
		15.7 Hints, Tips and Advice on Exercises
		15.8 Chapter Summary
		References
	16 Testing and Test Automation
		16.1 Introduction
		16.2 Test Planning
		16.3 Testing Levels
			16.3.1 Unit Testing
			16.3.2 Integration Testing
			16.3.3 System Testing
			16.3.4 Acceptance Testing
		16.4 Testing Techniques
			16.4.1 Regression Testing
			16.4.2 User Experience Testing
			16.4.3 Performance Testing
			16.4.4 Security Testing
			16.4.5 A/B Testing
		16.5 Test Automation
			16.5.1 Unit Test Automation
			16.5.2 Acceptance Test-Driven Development
			16.5.3 Behaviour-Driven Development
		16.6 Exercises
		16.7 Hints, Tips and Advice on Exercises
		16.8 Chapter Summary
		References
	17 Tabby Cat Project: Process, Tools and Automation
		17.1 Introduction
		17.2 Agile Ceremonies and Lean Thinking
		17.3 Version Control
		17.4 Testing and Test Automation
		References
Part IV Advanced Skills
	Other Book Parts
	18 Large-Scale Agile
		18.1 Introduction
		18.2 Distance
			18.2.1 Geographical Distance
			18.2.2 Temporal Distance
			18.2.3 Cultural Distance
		18.3 Large-Scale Artefacts
			18.3.1 Risk Register
			18.3.2 Architecture Standards
		18.4 Large-Scale Scrum Master Activities
			18.4.1 Scrum-of-Scrums Facilitator
			18.4.2 Agile Coach
		18.5 Large-Scale Product Owner Activities
			18.5.1 Product Sponsor
			18.5.2 Risk Assessor
			18.5.3 Governor
			18.5.4 Technical Architect
			18.5.5 Technical Product Owner
			18.5.6 Product Owner: Market Trends
		18.6 Spotify Culture
			18.6.1 Squads
			18.6.2 Chapters
			18.6.3 Tribes
			18.6.4 Guilds
			18.6.5 Architectural Alignment
		18.7 Other Frameworks
			18.7.1 Large-Scale Scrum
			18.7.2 SAFe
		18.8 Chapter Summary
		References
	19 Cloud Deployment
		19.1 Introduction
		19.2 Cloud Service Models
			19.2.1 Infrastructure-as-a-Service
			19.2.2 Platform-as-a-Service
			19.2.3 Software-as-a-Service
			19.2.4 Serverless Computing
		19.3 Cloud-Hosted Application Patterns
			19.3.1 Scalability
			19.3.2 Multi-Tenancy
			19.3.3 Automated Customer On-Boarding
			19.3.4 Revenue Generation
			19.3.5 `n'-Tier Architectures
		19.4 Automated Deployment
		19.5 Containerisation
		19.6 Chapter Summary
		References
	20 Technical Debt, Software Evolution and Legacy
		20.1 Introduction
		20.2 Technical Debt
			20.2.1 Technical Debt and Agile
			20.2.2 Refactoring
		20.3 Software Evolution
			20.3.1 Wrappering
			20.3.2 Re-engineering
		20.4 Legacy Systems
		20.5 Chapter Summary
		References
	21 DevOps
		21.1 Introduction
		21.2 Build and Deployment Pipelines
			21.2.1 Conventional Deployment Team Structures
			21.2.2 Self-Organising Deployment Team Structures
		21.3 Pipeline Automation
		21.4 Test Integration
			21.4.1 Testing New Features
			21.4.2 Regression Testing Legacy Features
		21.5 Continuous Integration
		21.6 DevOps and DevSecOps
		21.7 Continuous Delivery and Deployment
		21.8 Chapter Summary
		References
A Research Methods
	A.1 Research Sites
	A.2 Data Collection
	A.3 Data Analysis
		A.3.1 Open Coding
		A.3.2 Memo Writing
		A.3.3 Constant Comparison
		A.3.4 Saturation
	References
B Further Reading
	B.1 Core Reading
	B.2 More Specialist Topics
	B.3 Software Engineering Research
	References
Index




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