ورود به حساب

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

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

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

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

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

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


09117307688
09117179751

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

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

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

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

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

پشتیبانی

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

دانلود کتاب The Essentials Of Modern Software Engineering: Free The Practices From The Method Prisons!

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

The Essentials Of Modern Software Engineering: Free The Practices From The Method Prisons!

مشخصات کتاب

The Essentials Of Modern Software Engineering: Free The Practices From The Method Prisons!

دسته بندی: برنامه نويسي
ویرایش:  
نویسندگان: , , , ,   
سری: ACM Books Vol. 25 
ISBN (شابک) : 1947487256, 9781947487277 
ناشر: ACM/Morgan & Claypool Publishers 
سال نشر: 2019 
تعداد صفحات: 402 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 33 مگابایت 

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



کلمات کلیدی مربوط به کتاب ملزومات مهندسی نرم‌افزار مدرن: تمرین‌ها را از روش زندان‌ها آزاد کنید!: مهندسی نرم افزار: تئوری



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

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


در صورت تبدیل فایل کتاب The Essentials Of Modern Software Engineering: Free The Practices From The Method Prisons! به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

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


توضیحاتی در مورد کتاب ملزومات مهندسی نرم‌افزار مدرن: تمرین‌ها را از روش زندان‌ها آزاد کنید!

اولین دوره در مهندسی نرم افزار حیاتی ترین دوره است. آموزش باید از درک قلب توسعه نرم افزار شروع شود، از زمینه آشنا که در همه تلاش های توسعه نرم افزار مشترک است. این کتاب مقدمه ای عمیق بر مهندسی نرم افزار است که از یک هسته سیستماتیک و جهانی برای آموزش عناصر ضروری همه روش های مهندسی نرم افزار استفاده می کند. این هسته، Essence، واژگانی برای تعریف روش‌ها و شیوه‌ها است. Essence توسط Ivar Jacobson و همکارانش پیش بینی و ایجاد شد، توسط روش و نظریه مهندسی نرم افزار (SEMAT) توسعه یافت و توسط گروه مدیریت اشیا (OMG) به عنوان یک استاندارد در سال 2014 تایید شد. Essence یک چارچوب مستقل از عمل برای تفکر و استدلال است. در مورد شیوه هایی که داریم و شیوه هایی که نیاز داریم. Essence یک درک مشترک و استاندارد از آنچه در قلب توسعه نرم افزار است ایجاد می کند. Essence نسبت به هر روش خاص، مستقل از چرخه حیات، مستقل از زبان برنامه نویسی، مختصر، مقیاس پذیر، توسعه پذیر و به طور رسمی مشخص شده است. اسانس اعمال را از زندان های روش آنها رها می کند. بخش اول کتاب Essence، عناصر ضروری برای کار، کارهای ضروری و شایستگی‌های ضروری را که هنگام توسعه نرم‌افزار نیاز دارید، شرح می‌دهد. سه بخش دیگر موارد استفاده پیشرفته‌تر و پیشرفته‌تری از Essence را شرح می‌دهند. با استفاده از مثال های واقعی اما قابل مدیریت، اصول اساسی Essence و استفاده نوآورانه از بازی های جدی برای پشتیبانی از مهندسی نرم افزار را پوشش می دهد. همچنین توضیح می‌دهد که چگونه می‌توان رویه‌های فعلی مانند داستان‌های کاربر، موارد استفاده، Scrum و میکرو سرویس‌ها را با استفاده از Essence توصیف کرد، و نشان می‌دهد که چگونه می‌توان فعالیت‌های آن‌ها را با استفاده از مفاهیم Essence کارت‌ها و چک لیست‌ها نشان داد. بخش چهارم این کتاب چشم‌اندازی را ارائه می‌دهد که چگونه Essence می‌تواند برای پشتیبانی از مهندسی سیستم‌های بزرگ و پیچیده مقیاس‌بندی شود. Essence توسط یک اکوسیستم توسعه یافته و نگهداری شده توسط جامعه ای از افراد با تجربه در سراسر جهان پشتیبانی می شود. از این اکوسیستم، اساتید و دانشجویان می‌توانند آنچه را که نیاز دارند انتخاب کنند و روش کار خود را ایجاد کنند، بنابراین یاد می‌گیرند که چگونه یک روش کاری ایجاد کنند که با شرایط و نیازهای خاص مطابقت داشته باشد.


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

The first course in software engineering is the most critical. Education must start from an understanding of the heart of software development, from familiar ground that is common to all software development endeavors. This book is an in-depth introduction to software engineering that uses a systematic, universal kernel to teach the essential elements of all software engineering methods. This kernel, Essence, is a vocabulary for defining methods and practices. Essence was envisioned and originally created by Ivar Jacobson and his colleagues, developed by Software Engineering Method and Theory (SEMAT) and approved by The Object Management Group (OMG) as a standard in 2014. Essence is a practice-independent framework for thinking and reasoning about the practices we have and the practices we need. Essence establishes a shared and standard understanding of what is at the heart of software development. Essence is agnostic to any particular method, lifecycle independent, programming language independent, concise, scalable, extensible, and formally specified. Essence frees the practices from their method prisons. The first part of the book describes Essence, the essential elements to work with, the essential things to do and the essential competencies you need when developing software. The other three parts describe more and more advanced use cases of Essence. Using real but manageable examples, it covers the fundamentals of Essence and the innovative use of serious games to support software engineering. It also explains how current practices such as user stories, use cases, Scrum, and micro-services can be described using Essence, and illustrates how their activities can be represented using the Essence notions of cards and checklists. The fourth part of the book offers a vision how Essence can be scaled to support large, complex systems engineering. Essence is supported by an ecosystem developed and maintained by a community of experienced people worldwide. From this ecosystem, professors and students can select what they need and create their own way of working, thus learning how to create ONE way of working that matches the particular situation and needs.



فهرست مطالب

Contents

Foreword by Ian Sommerville xvii

Foreword by Grady Booch xix

Preface xxi

PART I THE ESSENCE OF SOFTWARE ENGINEERING 1

Chapter 1 From Programming to Software Engineering 3
1.1 Beginning with Programming 4
1.2 Programming Is Not Software Engineering 6
1.3 From Internship to Industry 8
1.4 Journey into the Software Engineering Profession 12
What Should You Now Be Able to Accomplish? 15

Chapter 2 Software Engineering Methods and Practices 17
2.1 Software Engineering Challenges 17
2.2 The Rise of Software Engineering Methods and Practices 18
2.3 The SEMAT Initiative 28
2.4 Essence: The OMG Standard 29
What Should You Now Be Able to Accomplish? 30

Chapter 3 Essence in a Nutshell 31
3.1 The Ideas 32
3.2 Methods Are Compositions of Practices 32
3.3 There Is a Common Ground 34
3.4 Focus on the Essentials 37
3.5 Providing an Engaging User Experience 37
What Should You Now Be Able to Accomplish? 38

Chapter 4 Identifying the Key Elements of Software Engineering 41
4.1 Getting to the Basics 41
4.2 Software Engineering Is about Delivering Value to Customers 43
4.3 Software Engineering Delivers Value through a Solution 45
4.4 Software Engineering Is Also about Endeavors 48
What Should You Now Be Able to Accomplish? 50

Chapter 5 The Language of Software Engineering 53
5.1 A Simple Practice Example 53
5.2 The Things to Work With 54
5.3 Competencies 61
5.4 Things to Do 62
5.5 Essentializing Practices 63
What Should You Now Be Able to Accomplish? 65

Chapter 6 The Kernel of Software Engineering 67
6.1 Organizing with the Essence Kernel 67
6.2 The Essential Things to Work With: The Alphas 69
6.3 The Essential Things to Do: The Activities 72
6.4 Competencies 75
6.5 Patterns 77
What Should You Now Be Able to Accomplish? 81

Chapter 7 Reflection on Theory 83
7.1 Where’s the Theory for Software Engineering? 84
7.2 Uses of Theory 87
7.3 Essence Is a General, Descriptive Theory of Software Engineering 87
7.4 Toward a General Predictive Theory of Software Engineering 91
7.5 A Theoretical Foundation Helps You Grow 93
What Should You Now Be Able to Accomplish? 94
Postlude to Part I 94
Recommended Additional Reading 95

Chapter 8 Applying Essence in the Small—Playing Serious Games 97
8.1 Progress Poker 99
8.2 Chasing the State 105
8.3 Objective Go 108
8.4 Checkpoint Construction 111
8.5 Reflection 113
What Should You Now Be Able to Accomplish? 114

PART II DEVELOPING SOFTWARE WITH ESSENCE 115

Chapter 9 Kick-Starting Development Using Essence 117
9.1 Understand the Context Through the Lens of Essence 118
9.2 Agreeing on the Development Scope and Checkpoints 122
9.3 Agreeing on the Most Important Things to Watch 124
What Should You Now Be Able to Accomplish? 126

Chapter 10 Developing with Essence 127
10.1 Planning with Essence 132
10.2 Doing and Checking with Essence 138
10.3 Adapting a Team’s Way of Working with Essence 140
10.4 How the Kernel Helps Adapt Their Way of Working 141
What Should You Now Be Able to Accomplish? 143

Chapter 11 The Development Journey 145
11.1 Visualizing the Journey 145
11.2 Ensuring Progress and Health 146
11.3 Dealing with Anomalies 148
What Should You Now Be Able to Accomplish? 149

Chapter 12 Reflection on the Kernel 151
12.1 Validity of the Kernel 151
12.2 Applying the Kernel Effectively 151
What Should You Now Be Able to Accomplish? 152
Postlude 153
Recommended Additional Reading 153

PART III SMALL-SCALE DEVELOPMENT WITH PRACTICES 155

Chapter 13 Kick-Starting Development with Practices 157
13.1 Understand the Context Through the Lens of Essence 158
13.2 Agree upon Development Scope and Checkpoints 159
13.3 Agree upon Practices to Apply 165
13.4 Agree upon the Important Things to Watch 167
13.5 Journey in Brief 169
What Should You Now Be Able to Accomplish? 170

Chapter 14 Running with Scrum 171
14.1 Scrum Explained 171
14.2 Practices Make a Software Engineering Approach Explicit and Modular 173
14.3 Making Scrum Explicit Using Essence 174
14.4 Scrum Lite Alphas 179
14.5 Scrum Lite Work Products 182
14.6 Scrum Lite Roles 184
14.7 Kick-Starting Scrum Lite Usage 187
14.8 Working with Scrum Lite 188
14.9 Reflecting on the Use of Scrum with Essence 198
What Should You Now Be Able to Accomplish? 202

Chapter 15 Running with User Story Lite 203
15.1 User Stories Explained 204
15.2 Making the User Story Lite Practice Explicit Using Essence 207
15.3 User Story Lite Alphas 208
15.4 User Story Lite Work Products 209
15.5 Kick-Starting User Story Lite Usage 211
15.6 Working with User Story Lite 211
15.7 The Value of the Kernel to the User Story Lite Practice 215
What Should You Now Be Able to Accomplish? 218

Chapter 16 Running with Use Case Lite 221
16.1 Use Cases Explained 222
16.2 Making the Use Case Lite Practice Explicit Using Essence 227
16.3 Use Case Lite Alphas 230
16.4 Use Case Lite Work Products 233
16.5 Kick-Starting Use Cases Lite to Solve a Problem Our Team Is Facing 237
16.6 Working with Use Cases and Use-Case Slices 240
16.7 Visualizing the Impact of Using Use Cases for the Team 244
16.8 Progress and Health of Use-Case Slices 245
16.9 User Stories and Use Cases—What Is the Difference? 246
What Should You Now Be Able to Accomplish? 248

Chapter 17 Running with Microservices 249
17.1 Microservices Explained 250
17.2 Making the Microservice Practice Explicit Using Essence 252
17.3 Microservices Lite 256
17.4 Microservices Lite Alphas 257
17.5 Microservices Lite Work Products 259
17.6 Microservices Lite Activities 267
17.7 Visualizing the Impact of the Microservices Lite Practice on the Team 270
17.8 Progress and Health of Microservice Development 271
What Should You Now Be Able to Accomplish? 272

Chapter 18 Putting the Practices Together: Composition 275
18.1 What Is Composition? 276
18.2 Reflecting on the Use of Essentialized Practices 282
18.3 Powering Practices through Essentialization 283
What Should You Now Be Able to Accomplish? 284
Recommended Additional Reading 284

PART IV LARGE-SCALE COMPLEX DEVELOPMENT 287

Chapter 19 What It Means to Scale 289
19.1 The Journey Continued 289
19.2 The Three Dimensions of Scaling 291
What Should You Now Be Able to Accomplish? 294

Chapter 20 Essentializing Practices 295
20.1 Practice Sources 295
20.2 Monolithic Methods and Fragmented Practices 296
20.3 Essentializing Practices 298
20.4 Establishing a Reusable Practice Architecture 299
What Should You Now Be Able to Accomplish? 303

Chapter 21 Scaling Up to Large and Complex Development 305
21.1 Large-Scale Methods 306
21.2 Large-Scale Development 308
21.3 Kick-Starting Large-Scale Development 309
21.4 Running Large-Scale Development 315
21.5 Value of Essence to Large-Scale Development 322
What Should You Now Be Able to Accomplish? 324

Chapter 22 Reaching Out to Different Kinds of Development 325
22.1 From a Practice Architecture to a Method Architecture 326
22.2 Establishing a Practice Library within an Organization 328
22.3 Do Not Ignore Culture When Reaching Out 330
What Should You Now Be Able to Accomplish? 331

Chapter 23 Reaching Out to the Future 333
23.1 Be Agile with Practices and Methods 335
23.2 The Full Team Owns Their Method 337
23.3 Focus on Method Use 337
23.4 Evolve Your Team’s Method 338
What Should You Now Be Able to Accomplish? 339
Recommended Additional Reading 339

Appendix A A Brief History of Software and Software Engineering 341

References 349

Index 353

Author Biographies 369




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