علی‌آقا سگ پز در اينترنت

  • یوسف مهرداد بی‌بالان

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

يکی از دوستان، دکتر علی کيانی،از کانادا آدرسی را در wikimapia.org فرستاد که عکسهای دانشگاه شريف و فضای اطراف آن را نشان می‌داد. نکته جالب آن که، کلبه خوراک علی‌آقا سگ‌پز جزو جاهايی بود که کاملاً مشخص شده بود.

دوستان شريفی حتماً آن را ملاحظه نماييد وتا بهياد دوران خوب دانشگاه، لبخندی به لبتان بيايد.

http://wikimapia.org/#y=35703494x=51353831z=17l=0m=a

به اميد ديدار.

اولین جلسه گروه نشریه شی گرایی

  • یوسف مهرداد بی‌بالان

بسیاری از دوستانیراکه در چند روز اخیر ملاقات کرده‌ام، گله‌مند بودند که چرا دیر به دیر مطلب جدیدیرا به وبلاگم اضافه می‌کنم. دلیل آن این است که “اوضاع من بین عالی و محشر در نوسان است”[نقل قول از آقای احسانی]. از تأخیری که در بروزرسانی وبلاگم دارم، عذرخواهی می‌کنم.
خیلی سعی می‌کنم که بروزرسانی وبلاگ طبق قانون پارتو در بیست درصد کارهایم قرار گیرد، ولی خیلی اوقات این امر مقدور نمی‌گردد.
موضوع دیگر آن است که نوشتن مطلبی که برای خواننده متخصص، باب جدیدی را باز کند، کار راحتی نیست. بگذریم.

شنبه هفته جاری جلسه نشریه شیءگرایی با حضور دوستان جدید در محل شرکت مدار گسترش تشکیل شد.
این عزیزان عبارت بودند از:

  1. خانم مهندسی صبا بزرگی
  2. خانم مهندس نیوشا قریشی
  3. خانم مهندسی حمیده مطهریان
  4. آقای مهندس مهدی هنرمند

غایبان نیز عبارت بودند از:

  1. آقای مهندس ابوالفضل هادی (به صورت پیش فرض، غایب فرض شود)
  2. آقای مهندس علیرضا خیرخواه

بین این که اننتشار شماره اول به دلیل افزایش کیفیت آن به تأخیر انداخته شود و این که با هر کیفیتی در تاریخ مقرر انتشار یابد، تصمیم جمع این شد که نشریه در تاریخ مقرر منتشر گردد(یعنی فردا).
تصمیم دیگری که اتخاذ شد این بود که برای شماره بعد، جلسات حضوری بیشتری داشته باشیم تا هماهنگی‌ها، سریع‌تر و راحت‌تر انجام گیرد.
خانم مهندس بزرگی به عنوان دبیر انتخاب گردید که مسئولیت هماهنگی هیأت تحریریه و داوران را به عهده خواهد داشت.
امیدوارم که شماره به شماره، کیفیت نشریه بهتر و بهتر گردد.

جديدترين گفت وگو با آلوين تافلر:نگاه تازه به آينده

  • یوسف مهرداد بی‌بالان

آلوين تافلر را از زمانی که دانشجو بودم، به ياد دارم. زمانی که استادم عزیزم، آقای مهندس ابطحی به کرات از ایشان نقل قول می‌کرد. کتاب معروف موج سوم اثر ارزنده این نویسنده و اندیشمند بزرگ است.
حين گشت‌زنی در اينترنت به جديدترين گفت وگو با آلوين تافلر:نگاه تازه به آيندهبرخورد کردمو آن را مطالعه کردم. مطالعه آن رابه شما نیزتوصيه می‌کنم.

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

  • یوسف مهرداد بی‌بالان

شرکت مدار گسترش فن‌آوری که منعضو کوچکی از آن هستم، برای تيمهای توسعه سيستمهای مبتنی برJ2EE و NET. خود از عزيزان باتجربه و بادانش دعوت به همکاری می‌نمايد. متن آگهی دعوت به همکاری شرکت به شرح زير است:

دوست عزيز سلام
ما در جستجوی همکارانی با استعدادهای متنوع، خلاق، دارای مهارتهای چندگانه و برخوردار از يک يا چند مورد از شرايط زير هستيم.

  • داراي توانايی در تحليل، طراحی، پياده‌سازی و آزمون سيستمهای نرم‌افزاری (J2EE يا NET.)
  • دارای تجربه در توليد سيستمهای مبتنی بر تکنولوژی‌های .NET يا J2EE در يکی از سمتهای تحليل‌گر، طراح، برنامه‌ساز و آزمونگر
  • دارای روحيه تحقيق و پشتکار در حصول به نتيجه مطلوب
  • علاقمند به فراگيری مباحث جديد در حوزه مهندسی نرم‌افزار

شما بايد به عنوان یک عضو، واقعاً در خدمت تيم باشيد. مهارتهای عالی در زمينه روابط فردی و هم چنين انگيزه برای کار در يک محيط مشارکتی داشته باشيد.ما دوست داريم با شما طولانی مدت و به عنوان يک هم‌تيمی تمام وقت همکاری نماييم.
شرايط و مشخصات خود را به آدرس info@itorbit.net بفرستيد و يا به سايت ما www.itorbit.net مراجعه نماييد.
شماره تلفن را ضميمه کنيد. ما به همه تقاضاها پاسخ خواهيم داد.

به اميد ديدارتان در شرکت مدارگسترش فناوری

يکی از بهترين لحظات کاری

  • یوسف مهرداد بی‌بالان

کارهايی که در طول روز انجام می‌دهم، به خصوص بخش فنی آن، قشنگ و دوست داشتنی است.
اما يکی از بهترين لحظاتم در طول روز، زمانی است که با آقای مهندس رهنمافر، متدولوژی بذرافشانی(ITO Seeding) را برای ديگران از دوستان گرفته تا شرکای تجاری و نيز مشتريان ارائه می‌دهيم.
اين متدولوژی، هر چند ايده‌های بکری در زمينه توليد نرم‌افزار دارد اما متدولوژی توليد نرم‌افزار نيست، بلکه روشی است جهت حل مشکلات ورود نرم‌افزار و تکنولوژی اطلاعات به سازمان.
اين متدولوژی که ماحصل کار همکاران عزيزم در شرکت مدار گسترش فن‌آوری (IT Orbit) است، برگرفته از تجارب بومی و نيز تفکرات علمی و تحت تأثير نگاه نوينی به رابطه نرم‌افزار و سازمان است.
يکی از مشکلاتی که ما در کشور داريم، ورود تکنولوژی‌هايی است که در اثر تبليغات وارد کشور می‌شوند و بدون آن که دانش استفاده از آنها و نيز فرهنگ لازم جهت بهره‌گيری از آنها، وارد گردد تنها خود محصول وارد کشور می‌شود. در نتيجه رقابت ما تنها بر سر اين است که ما
فلان تکنولوژی را بيشتر می‌دانيم يا تجربه استفاده از آن را داريم. هر از گاهی يکی از اينان، مد روز می‌شود و ما که تمامی نظراتمان مبتنی بر “شنيده‌ها و برداشتهای شخصی” است، آنها را علم می‌کنيم و روز ديگر آن را که در اثر کاربری نادرست، از مد افتاده، دور می‌اندازيم.
اما متدولوژی و روش بذرافشانی (ITO Seeding) به هيچ عنوان اين گونه نيست. يعنی اين گونه نيست که روشی موجود با رنگ و لعاب به نامی ديگر ارائه شده باشد. از اين رو لذت ارائه آن برای من و همکارانم دو صد چندان می‌شود و به خصوص وقتی که همه مخاطبين ما را تشويق به ادامه راهی که در پيش گرفته‌ايم، می‌نمايند و با نظرات تکميلی خود به بهبود آن کمک می‌نمايند.
خيلی دوست دارم زمانی برسد که شرکت بتواند ايده آن را انتشار دهد تا دانشگاه‌ها و مراکز تحقيقاتی و نيز تيم‌ها و شرکتهای نرم‌افزاری نيز از آن بهره‌مند شده و آن را بهبود داده و به تکامل برسانند و در پروژه‌های بهبود سازمانی از ان استفاده نمايند. تنها مانع سر راه انتشار آن، نداشتن فرصت کافی جهت تهيه منابع قابل ارائه است و نه چيز ديگر.
به اميد آن روز.

معماری نرم‌افزار – بخش دوم

  • یوسف مهرداد بی‌بالان

هر چقدر منتظر ماندم تا عزيزان راجع به مبجث معماری نظری بدهند تا به بهانه آن، مباحث را از سر بگيرم، نظری نيامد که نيامد. انگار دوستان علاقه‌ای به اين بحث ندارند يا شايد ….
به هر حال سعی می‌کنم اين نوشته‌ها را تا تکميل شدن ادامه دهم. برگرديم به بحث اصلی.
برای اين که معماری نرم‌افزار را بتوان مورد استفاده قرار دهيم و با آن اخت بگيريم، نیاز داریم تا تکليف چند موضوع را روشن کنيم:
1- تعريف معماری نرم‌افزار چيست؟
2- چرا به معماری نرم‌افزار نياز داريم؟
3- معماری نرم‌افزار تحت تأثير چه چيزهايی است؟
4- معماری نرم‌افزار روی چه چيزهايی تأثيرگذار است؟
5- چگونه به يک معماری نرم‌افزار خوب (مطلوب) دست پيدا کنيم؟
5- معماری نرم‌افزار را چگونه نمایش دهيم؟
6- کدام فرآيند توليد نرم‌افزار، مفهوم معماری نرم‌افزار را در خود به وضوح بيان کرده و ما را مجبور به انجام آن می‌کند؟

بخش اول: تعريف معماری نرم‌افزار
واقعيت اين است که تعاريف متفاوتی در کتابها و منابع مختلف از معماری نرم‌افزار ارائه شده است. اين مفهوم در انستيتو مهندسی نرم‌افزار دانشگاه کارنگی‌ملون به بلوغ رسيد و پس از آن توسط ديگران بسط داده شد.
وقتی صحبت از معماری نرم‌افزار می‌شود، اولين چيزی که می‌شنويد، مبحث لايه‌بندی(Layering) است. تا چند سال پيش، کلمه معماری معادل سيستمهای دو لايه و سه لايه بود و امروز سيستمهای سه لايه و گاه پنج لايه و گاه چهار به علاوه يک لايه و گاه برای هم‌خوانی با ضرب المثل معروف، به هفت لايه نيز منجر می‌شود.(آفتابه، لگن هفت دست. …)
اما آيا واقعاً معماری جز لايه‌بندی، چيز ديگری نيست؟
در جواب اين سوال، دوستان موارد ديگری را نيز مطرح می‌کنند و آن مسائلی مثل مانايی(Persistance)، تراکنشها (Transaction) و از اين قبيل است.
خوب سوال ديگری که مطرح می‌شود آن است که اگر مسائل مطرح شده بالا شامل مانايی، تراکنش و از اين دست را برای يک سيستم حل کنيم، آيا برای سيستم ديگر، بحث معماری نخواهم داشت؟ آيا می‌توانم ادعا کنم که معماری نرم‌افزار را يک بار برای هميشه حل کرده‌ام؟
لطفاً جوابهايتان را برايم ارسال کنيد. (آزموده را آزمودن خطاست )

برگرديم به بحث خودمان، تعريف معماری نرم‌افزار چيست؟ در اينجا از مراجع موجود استفاده کرده و تعاريفی ارائه می‌دهيم.
“معماری نرم‌افزار برنامه يا سيستم کامپيوتری، در برگيرنده ساختار سيستم است که شامل مولفه‌ها، خصوصيات قابل رويت مولفه‌ها و روابط بين آنها می‌باشد”[سايت SEI(انستيتو مهندسی نرم‌افزار)].
همچنين “معماری نرم‌افزار شامل:
– تصميم‌گيری‌هايی در مورد سازمان سيستم نرم‌افزار
– انتخاب عناصر ساختاری و واسطهای آنها به نحوی که سيستم از ترکيب رفتار اين عناصر شکل گرفته باشد.
– سازمان‌دهی عناصر ساختاری و رفتاری در قالب زيرسيستمها
– سبکهای معماری مورد استفاده
علاوه بر ساختار و رفتار سيستم، معماری نرم‌افزار شامل سبک و سنگين کردن و پوشش دادن مواردی از قبيل سهولت کاربری، کارکردی، کارايی، انعطاف، استفاده مجدد، سهولت درک و فهم، محدوديتهای اقتصادی و تکنولوژيکی نيز می‌گردد.” [RUP]

در اين مورد بيشتر توضيح خواهم داد.

قانون پارتو و معماری نرم‌افزار (Software Architecture and Pareto’s Principle) – بخش اول

  • یوسف مهرداد بی‌بالان

بالاخره نسخه شماره صفر نشريه امروز با يک روز تأخير انتشار يافت. در دو هفته‌ اخیر، روزهای پرمشغله‌ای را پشت سر گذاشتم و نتوانستم نه در وبلاگم مطلب جديدی بنويسم و نه نشريه شیءگرايی مدار را سر وقت منتشر کنيم.
از همه دوستان و خوانندگان عزيز بابت تأخيرهای مذکور عذرخواهی می‌کنم.

ايده‌ام اين است که درباره اصول فرآيندهای نرم‌افزار که در مطالب قبلی آنها را فهرست کردم، در ادامه توضيحاتی ارائه دهم. برای اين کار ابتدا به سراغ معماری می‌رويم. برای شروع بحث قانون پارتو، اين قانون زيبا و دوست‌داشتنی را نقل خواهم کرد.
“اين قانون بيان مي‌نمايد كه ۸۰ درصد از نتايجی كه شما بدست می‌آورد نتيجه ۲۰ درصد از فعاليت‌های شماست. به‌عبارت ديگر به‌واسطه عدم تعيين اهداف و برنامه ريزی دقيق، زمان‌ها را از دست داده و دچار كمبود وقت و زمان كه بزرگ‌ترين سرمايه هر فردی است خواهيم شد. [http://mohammadtaha.persianblog.com]”
“در سال 1906 اقتصاددان ايتاليايي ويلفردو پارتو[1] يك فرمول رياضي براي توصيف توزيع نابرابر ثروت در كشور خود ابداع كرد. او مشاهده كرده بود كه بيست درصد از مردم بيش از هشتاد درصد ثروت را در اختيار دارند. در سال‌هاي پاياني دهه 1940، دكتر ژوزف جوران[2] به اشتباه قانون 20/80 را به پارتو نسبت داد و آنرا اصل پارتو خواند (كه نه يك اصل بلكه يك حقيقت اجتماعي در آن سال‌هاي ايتاليا بود). … بعد از اينكه پارتو مشاهدات خود را انجام داده و فرمول خويش را ابداع نمود، بسياري از محققين پديده هاي مشابهي را در زمينه تخصصي خويش مورد بررسي قرار دادند. پيشتاز مديريت كيفيت دكتر ژوزف جوران كه در سال‌هاي دهه 1930 و 1940 در آمريكا زندگي مي‌كرد، يك اصل جهان‌شمول را شناسايي كرد كه آنرا “اندك‌هاي حياتي و بسيارهاي كم اهميت[3]” ناميد و بصورت مكتوب در آورد. فقدان دقت كافي در كار اوليه اي كه انجام داده بود باعث شد، آنرا بسط نظرات اقتصادي پارتو در زمينه اي وسيع‌تر بدانند. نام اصل، پارتو باقي‌ماند، شايد به اين علت كه از نام‌گذاري دكتر جوران براي گوش خوشايندتر بود.
در نتيجه، مشاهدات دكتر جوران از “اندك‌هاي حياتي و بسيارهاي كم اهميت”، يعني اين اصل كه بيست درصد چيزي اغلب مسئول 80 درصد نتايج است، تحت عنوان اصل پارتو يا قاعده 20/80 باقي ماند.
قاعده 20/80 بدين معنا است كه در هرچيزي، ميزان اندكي (20 درصد) داراي اهميت حياتي و بسياري (80 درصد) كم اهميت و يا داراي اهميت ناچيز است. در مورد پارتو اين قاعده بدين معناست كه 20 درصد مردم 80 درصد ثروت را در اختيار دارند. در كار اوليه جوران چنين بيان شده است كه 20 درصد نواقص باعث 80 درصد مشكلات مي‌شوند. مديران پروژه‌ها مي‌دانند كه 20 درصد كار (اولين ده درصد و آخرين ده درصد) 80 درصد زمان و منابع را صرف مي‌كند. مي‌توانيم قاعده 20/80 را در مورد تقريباً هرچيزي بكار ببريم، از علم مديريت گرفته تا جهان فيزيك.
بعنوان مثال، شايد توجه كرده باشيد كه 20 درصد از لوازم شما بيش از 80 درصد فضاي انبار خانه را اشغال مي‌كنند و نيز 80 درصد لوازم را 20 درصد از فروشندگان عرضه كرده‌اند. همچنين 80 درصد فروش ناشي از فعاليت 20 درصد كاركنان بخش فروش است. بيست درصد كاركنان شما مسئول 80 درصد مشكلات هستند اما بيست درصد ديگر، هشتاد درصد توليد را فراهم مي‌كنند. اين قاعده در هر دو مورد صادق است.
اصل پارتو و يا بعبارتي قاعده 20/80 مي‌تواند بعنوان يك يادآوري روزانه در خدمت ما باشد و به‌ما يادآور شود كه 80 درصد زمان و انرژي خود را بر 20 درصد آنچه واقعاً مهم است، متمركز كنيم. تنها هوشمندانه كار نكنيد، بلكه هوشمندانه بر روي چيزهاي درست و مهم كار كنيد. [http://www.tdins.org/featured/2/pareto.htm]”

 

اما در نرم‌‎افزار:
80% کارمهندسی صرف 20% درصد نيازمندی‌ها می‌شود.
80% هزينه صرف 20% مؤلفه‌های سيستم می‌شود.
عامل 80% خطاهای سيستم نرم‌افزاری، 20% مؤلفه‌ها هستند.
عامل 80% دوباره‌کاری‌ها و دورريختنی‌ها تنها 20% تغييرات هستند.
80% درصد منابع سيستم (شامل حافظه، بانک، زمان و ..)صرف 20% مؤلفه‌ها می‌شود.
80% درصد پيشرفت پروژه توسط 20% تيم انجام می‌شود.

اگر اين 20 درصدها را کنار هم بگذاريد(نيازمندی‌ها، مؤلفه‌ها، آدمها و …)، موضوعات مهم سيستم و پروژه نرم‌افزاری مشخص می‌گردد. اين موضوعات، موضوعات مرتبط با معماری هستند.

آیا شما مثالی برای موارد بالا دارید؟ برایم ارسال نمایید. منتظرم

برای خروج از جستجو کلید ESC را بفشارید