تبليغاتX
Softwaring

Softwaring

Software Engineering, Process and Management

سندروم پنجره شکسته (Broken Window Syndrome)

چند ماه پیش آینه کناری ماشین شما در اثر یک برخورد مختصر ترک خورده است اما به دلیل مشغله و اینکه چندان در میزان دید شما تغییری حاصل نشده است به تعویض آن اقدام نکرده اید. چندی بعد در یک خیابان پر ترافیک در اثر بی توجهی ماشین کناری روی گلگیر جلوی اتومبیل شما خط کوچکی افتاده است. مساله زیاد جدی نبوده و حتی خسارت هم نگرفته اید. این خط هم به همین شکل رها شده است. اخیرا احساس می کنید که اتومبیل در سرعت بالای 100 کیلومتر لرزش دارد و اصطلاحا فرمان آن گیج است اما مگر در ترافیک تهران چقدر پیش می آید که با آن سرعت تردد کنید؟ چند روز بعد صدای مختصری در موتور احساس می کنید اما هیچ تاثیری روی کارایی اتومبیل ندارد. احتمالا پیش خود می گویید که یک روز وقت می گذارید و ماشین را برای برطرف سازی همه اشکالات آن به مکانیکی خواهید برد. امروز دقت کرده اید و متوجه شده اید که پس از برف 3 هفته پیش تا حالا دستی به ماشین نکشیده اید و فقط برای دید بهتر از برف پاک کن جلو استفاده کرده اید.

 می دانید اگر آینه ترک خورده را همان روز تعویض کرده بودید احتمالا امروز ماشین شما هیچ یک از اشکالات مزبور را نداشت و به علاوه از تمیزی برق می زد؟

 داستان اشاره شده نمونه ای از نظریه پنجره شکسته بود. این نظریه محصول فکری دو جرم شناس آمریکائی (Criminologist) بود به اسامی جمس ویلسون (James Wilson) و جورج کلینگ (George Kelling). این دو استدلال می کردند که جرم نتیجه یک نابسامانی است. اگر پنجره ای شکسته باشد و مرمت نشود آنکس که تمایل به شکستن قانون و هنجارهای اجتماعی را دارد با مشاهده بی تفاوتی جامعه به این امر دست به شکستن شیشه دیگری می زند. دیری نمی پاید که شیشه های بیشتری شکسته می شود و این احساس آنارشی و هرج و مرج از خیابان به خیابان و از محله ای به محله دیگر می رود و با خود سیگنالی را به همراه دارد از این قرار که هر کاری را که بخواهید مجازید انجام دهید بدون آنکه کسی مزاحم شما شود.

 ویلیام برتون (William Bratton) سمت ریاست پلیس متروی نیویورک را برعهده داشت شد. برتون نیز از طرفداران تئوری "پنجره شکسته" بود و به آن ایمانی راسخ داشت. در این زمان ١٧٠٫٠٠٠ نفر در روز به نحوی از پرداخت پول بلیط می گریختند. از روی ماشین های دریافت ژتون می پریدند و یا از لای پره های دروازه های اتوماتیک خود را به زور بداخل می کشانیدند. در حالیکه کلی جرائم و مشکلات دیگر در داخل و اطراف ایستگاههای مترو در جریان بود برتون به مقابله مسئله کوچک و جزئی پرداخت بهاء بلیط و جلوگیری از فرار مردم از این مسئله کم بها پرداخت.

 وی در بدترین ایستگاهها تعداد مامورانش را چند برابر کرد. به محض اینکه تخلفی مشاهده می شد فرد را دستگیر می کردند و به سالن ورودی می آوردند و در همانجا در حالیکه همه آنها را با زنجیر به هم بسته بودند سرپا و در مقابل موج مسافران نگاه می داشتند. هدف برتون ارسال یک پیام به جامعه بود که پلیس در این مبارزه جدی و مصمم است. اداره پلیس را به ایستگاههای مترو منتقل کرد. ماشین های سیار پلیس در ایستگاهها گذاشت. همانجا انگشت نگاری انجام می شد و سوابق شخص بیرون کشیده می شد. از هر ٢٠ نفر یک نفر اسلحه غیر مجاز با خود حمل می کرد که پرونده خود را سنگین تر می کرد. هر بازداشت ممکن بود به کشف چاقو و اسلحه و بعضا قاتلی فراری منجر شود.

 مجرمین بزرگ بسرعت دریافتند که با این جرم کوچک ممکن است خود را به دردسر بزرگتری بیاندازند. اسلحه ها در خانه گذاشته شد و افراد شرّ نیز دست و پای خود را در ایستگاههای مترو جمع کردند. کمترین خطائی دردسر بزرگی می توانست در پی داشته باشد.

 قلب این نظریه اینجاست که تغییرات لازم نیست بنیادی و اساسی باشند بلکه تغییراتی کوچک می تواند تحولی سریع و ناگهانی و اپیدمیک را در جامعه بوجود آورده بناگاه جرائم بزرگ را نیز بطور باور نکردنی کاهش دهد. این تفکر در زمان خود پدیده ای رادیکال و غیر واقعی محسوب می شود. اما سیر تحولات، درستی نظریه ویلسون و کلینگ را به اثبات رساند.

 مطلب اخیر را به شکل کامل در اینجا بخوانید.

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

+ نوشته شده در  دوشنبه 30 دی1387ساعت 11:8  توسط علی نوبر  | 

25 خطای خطرناک در نرم افزار

در وبلاگ آقای مهندس مهرداد مطلب جالبی درج شده بود در مورد تحقیقی صورت گرفته در رابطه با ۲۵ خطای خطرناک و شایع در نرم افزارها که بسیاری از تیم های برنامه سازی مرتکب آن می شوند. خواندن آنرا به همه دوستان نرم افزارچی(!) توصیه می کنم:

The Top 25 Errors are listed below in three categories:
Category: Insecure Interaction Between Components (9 errors)
Category: Risky Resource Management (9 errors)
Category: Porous Defenses (7 errors)

CATEGORY: Insecure Interaction Between Components
CWE-20: Improper Input Validation
CWE-116: Improper Encoding or Escaping of Output
CWE-89: Failure to Preserve SQL Query Structure (aka 'SQL Injection')
CWE-79: Failure to Preserve Web Page Structure (aka 'Cross-site Scripting')
CWE-78: Failure to Preserve OS Command Structure (aka 'OS Command Injection')
CWE-319: Cleartext Transmission of Sensitive Information
CWE-352: Cross-Site Request Forgery (CSRF)
CWE-362: Race Condition
CWE-209: Error Message Information Leak
CATEGORY: Risky Resource Management
CWE-119: Failure to Constrain Operations within the Bounds of a Memory Buffer
CWE-642: External Control of Critical State Data
CWE-73: External Control of File Name or Path
CWE-426: Untrusted Search Path
CWE-94: Failure to Control Generation of Code (aka 'Code Injection')
CWE-494: Download of Code Without Integrity Check
CWE-404: Improper Resource Shutdown or Release
CWE-665: Improper Initialization
CWE-682: Incorrect Calculation
CATEGORY: Porous Defenses
CWE-285: Improper Access Control (Authorization)
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
CWE-259: Hard-Coded Password
CWE-732: Insecure Permission Assignment for Critical Resource
CWE-330: Use of Insufficiently Random Values
CWE-250: Execution with Unnecessary Privileges
CWE-602: Client-Side Enforcement of Server-Side Security

برای مشاهده اصل گزارش اینجا را کلیک کنید.

+ نوشته شده در  پنجشنبه 26 دی1387ساعت 8:27  توسط علی نوبر  | 

شکاف ارتباطی میان مشتری و توسعه دهندگان نرم افزار

در کنفرانس QCon سخنرانی یک ساعته ای حول شکاف ارتباطی موجود میان مشتری و توسعه دهندگان نرم افزار توسط Martin Fowler و Dan North ارائه شده است. دوستانی که نوشته های Martin Fowler را دنبال می کنند با لحن روان و شوخ طبع ایشان آشنایی دارند که در این سخنرانی نیز آنرا تجربه خواهند کرد.

Summary:
In this presentation filmed during QCon London 2007, Martin Fowler and Dan North talk about the communication gap existing between the developers and the customers or users. Closing this gap is extremely important in order to create successful software.


برای مشاهده آن اینجا را کلیک کنید.

+ نوشته شده در  دوشنبه 23 دی1387ساعت 15:15  توسط علی نوبر  | 

یک فیلم و یک موسیقی

چندی پیش فیلمی عمیق تحت عنوان In the Mood for Love محصول کشور چین با نام اصلی Fa yeung nin wa  را دیدم (آن هم چند مرتبه!). به تازگی به طور اتفاقی به موسیقی بخشی از فیلم مزبور دسترسی پیدا کردم که لینک دریافت آن در پایان این مطلب قرار داده شده است. احتمالا پس از شنیدن آن به دنبال پیدا کردن فیلم خواهید بود!

برای دریافت موسیقی این فیلم اینجا را کلیک کنید.

+ نوشته شده در  دوشنبه 23 دی1387ساعت 8:57  توسط علی نوبر  | 

Ever Changing Requirements

There's a refrain I've heard on every problem project I've run into. The developers come to me and say "the problem with this project is that the requirements are always changing". The thing I find surprising about this situation is that anyone is surprised by it. In building business software requirements changes are the norm, the question is what we do about it.

Martin Folwer: The New Methodology

http://martinfowler.com/articles/newMethodology.html

 

+ نوشته شده در  دوشنبه 23 دی1387ساعت 8:41  توسط علی نوبر  | 

SOA

بدون شرح:

بدون شرح

+ نوشته شده در  یکشنبه 8 دی1387ساعت 11:26  توسط علی نوبر  |