PDA

View Full Version : گفتگو: مهارت هاي تحليل گر و طراح



saghar13
شنبه 14 دی 1387, 09:45 صبح
با وجود اين كه در ايران تحليل و طراحي فازهاي چندان مهمي نيستند و تحليل گر و طراح آدم هاي مهمي در شركت هاي نرم افزاري محسوب نمي شوند و همه كارها حول برنامه نويس ها مي گردد اما به نظرم بد نيست اگر تكنيك ها و تكنولوژي و متدهاي مختلف تحليل و طراحي جهان در اين تاپيك بحث شود.
براي اين منظور من خودم شروع مي كنم و از دوستان ديگري كه تجربه كاري دارند يا اين كه بصورت تئوريك مطلبي به گوششان خورده دعوت مي كنم در اين مورد اطلاعات خودشان را به اشتراك بگذارند.

saghar13
شنبه 14 دی 1387, 09:49 صبح
تحليلگر نرم افزار كيست و چه مهارت هايي بايد داشته باشد؟
تحليلگر در واقع گيرنده حرف هاي مشتري (كارفرما) و تبديل كننده آن به زبان مهندسي است.

مراحل كلي اجراي تحليل شي گرا:



روشن كردن خواسته هاي مشتري
شناسايي سناريو يا موارد كاربرد
انتخاب كلاسها و اشياء
شناسايي صفات و عمليات مربوط به هر يك از اشياء
تعريف ساختار و سلسله مراتب كلاسها
ساخت يك مدل شيء رفتار
باز بيني مدل تحليلOO


براي اين منظور هم در هر مرحله تكنولوژي ها، ابزارها و متدهاي مختلفي مورد استفاده قرار مي گيرد:
مثلا در استخراج نيازمندي ها (Requirment Elicitation) مي توان به روشهاي زير اشاره كرد :


مصاحبه
مطالعه اسناد
مشاهده
Requirements Workshop ( كارگاه نيازمندي ها )
طوفان فكر (Brainstorming)
Storyboards
Prototyping


يا در مرحله درآوردن كلاس ها و شناسايي opperation , property ها از كارت هاي CRC (Class Responsibilites Collaboration) استفاده مي كنيم.

اگر دوستان پايه كار باشند هر كدام از اين موارد بتدريج مورد بحث قرار خواهد گرفت و بقيه متدها و ابزارها و خلاصه هر چي كه يه طراح بايد از كليت كارش بدونه مطرح مي كنيم

cups_of_java
شنبه 14 دی 1387, 16:45 عصر
غایت علم تحلیل و طراحی (اگه تازه محدودش کنیم به شیگرایی) مطالطه کتاب های زبادی رو می طلبه و نهایتن تجربه زیادی می خواد.
بحث جالبی کردید، ولی مطمئن نیستم بشه جمعش کرد. این حوزه رو اگه محدود نکنید خیلی باز می شه و از کنترل خارج! اون وقت بحث هدفمند از آب در نمیاد.

saghar13
شنبه 21 دی 1387, 08:29 صبح
محدوده بحث من هم بیشتر مهارت های عمومی که باید تو شرایط فعلی داشت (در ایران, با ساختار شرکت های فعلی, پروژه های فعلی و ...) البته نمی خوام بحث خیلی عوامانه باشه و باید یک نگاهی هم به جلوتر داشته باشیم اما تا وقتی مهارت های اولیه و مورد استفاده ای که باید تو رزومه ات داشته باشی رو ندونی چیه؟ نمی توونی ادعای تکنولوژیهای جدید و دهن پرکن رو بکنی که یکبار هم تو عمرت استفاده نکردی.
مثلا تا حالا کدوم تحلیل گر ایرانی می توونه ادعا کنه جلسه brainstorming برگزار کرده و تونسته جلسه رو جمع کنه ؟ البته بدون در نظر گرفتن این درد که تو خیلی شرکتا نقشی به اسم تحلیل گر وجود نداره!
حالا از دوستان می خوام که در مورد مهارت های عمومی صحبت کنند الیته اگه کسی تجربه کاری درست و حسابی داره که عالیه!

sina_teacher
شنبه 21 دی 1387, 19:20 عصر
با سلام
با توجه به اينكه دوستان بيشتر مايلند مباحثي در زمينه كاربردي و عملي تحليل مطرح بشه لازم ديدم مواردي رو خدمتون عرض كنم .
البته با اندك تجربه 14 ساله در زمينه تحليل و طراحي سيستم موارد ذيل گلچين و خدمت شما عرض مي شود .

در مراحل تحليل يك سيستم اونهم در ايران كه امكانات و ابزارهاي اصولي براي عملياتي چنين مهم استفاده كاربردي نداشته و بيشتر عزيزاني كه در زمينه تحليل گام برميدارند مبتني بر ضريب هوشي و قدرت همزاد پنداري هستند .
از مهمترين عوامل تحليل با شيوه ايراني اين است كه شما قدرت درك مطلب بالا داشته باشيد و بتوانيد تجربه و فعاليتهاي گذشته خود را در يك سيستم جديد كه براي تحليل به شما ارائه مي شود پياده سازي نماييد .
البته يكي از بهترين راه هاي اينست كه خود بر طراحي بانكهاي اطلاعاتي و برنامه نويسي مسلط باشيد .
قدرت تجسم و انتقال انچه در ذهن شما مي گذرد براي كسانيكه كارفرما ناميده ميشوند نيز كم اهميت نيست .
قدرت بيان داشته باشيم
اگر مي خواهيد يك تحليل گر خوب باشيد بايد نقاش خوبي باشيد تا بتوانيد در يك مباحصه طوفان افكاري تمامي آنچه در ذهن كارفرما بعنوان ريكورمنت مي گذرد بشكل تصوير در آوريد تا چنانچه آنچه در ذهن او با مطالب تفهيم شده براي شما مغايرت داشت بازنگري و بازسازي شود .
مهمترين گام در تحليل شناخت اوليه شما از سيستمي است كه قرار به تحليل مي باشد ، ار اين رو توصيه مي شود در جلسات مذاكره از روش نگرش دوسويه استفاده كنيد .
به اين معني كه نيازهاي كاربر را براي ديتا اينتري بررسي و خروجي هاي يك سيستم را از نگاه كارفرما ارزيابي كنيد .
چنانچه ورودي و خروجي در نقطه مشتركي طلاقي داشته باشند به اين معني است كه شما توانسته ايد سيستم را شناخته و نياز كارفرما را با روش صحيح پاسخ دهيد .
محيط واقعي پياده سازي سيستم را ببينيد و در ذهن نمودار جرايان داده ها را ترسيم نماييد و با پرسش و پاسخ هاي متعدد پرده از ابهامات خويش برداريد .
اين مطالب ادامه دارد ! البته اگر دوست داشته باشيد .

saghar13
یک شنبه 22 دی 1387, 09:36 صبح
به همه مهارت هاي بالا، مهارت كنترل كارفرما را اضافه كنيد، در اكثر مواقع شما با كارفرمايي مواجهيد كه از نرم افزار، مهندسي نرم افزار و ... سر در نمي آورد و از شما توقع حل همه مشكلات خودش را دارد.
اصلاح قلعه هاي تو در تو رو شنيديد؟ اين رو وقتي استفاده مي كنند كه كارفرماي شما فكر مي كنه شما اومديد تا تمام نيازهاي اون رو برطرف كنيد.
مثلا تعريف سيستم شما اول يك دفترچه تلفن ساده است يعد كارفرما مي گه آدرس ها رو هم اگه ذخيره كنه بد نيست.
بعد مي گه ايميل را هم ذخيره كند و اتوماتيك به اوت لوك وصل شود.
بعد مي گه حالا كه اتومات به اينترنت براي ارسال ايميل وصل مي شه، بتونم نتايج سرچ رو توش ذخيره كنم،
بعد ...
اين جاست كه تحليل گر بايد نيازمندي ها رو جمع كنه وگرنه هيج وقت سيستم درست نمي شه.

يه سوال ديگه:
در مورد تكنيك هاي استخراج نيازمندي ها چي بلديد؟
يعني اين كه چجوري بفهميم اين سيستم كه بايد بسازيم دقيقا چه كار بايد بكند؟

m_Naderi
سه شنبه 24 دی 1387, 03:16 صبح
درباره اینکه تحلیل گران وطراحان در شر کتهای نرم افزاری (حتی ایران) آدم های مهمی نیستند با شماموافق نیستم (با عرض معذرت پیشاپیش)
تحلیل درست اساس تولید یک نرم افزار خوب است. با تحلیل اشتباه و یا ناقص همه زحمات سایر تیم ها به هدر می رود.
تحلیل گر کسی است که خشت اول را می گذارد و اگر کج باشد تا ثریا ...
تحلیل گر باید سالها تجربه در Domain مورد نظر داشته باشد و اینکه یک نفر در همه زمینه ها تحلیل گر باشد تفکر درستی نیست.
دو تخصص اصلی یک تحلیل گر:
دانش مدل سازی
دانش در domain که نرم افزار آن قرار است تولید شود

sina_teacher
سه شنبه 24 دی 1387, 09:01 صبح
باسلام
همانطور كه مبحث اين بخش بسيار گسترده و عظيم است ، بايد قبول كرد كه نمي توان در چند خط يا صفحه حق مطلب را ادا نمود .
اگر به موضوع با دو ديدگاه جدا نظر داشته باشيم اميد مي رود كه مطالب بيشتر مفيد فايده واقع گردد .

ابتدا در خصوص تحليل يك سيستم بحث را گسترش دهيم
دوم در خصوص تحليلگر و توانمندي ها و تكنيك هاي مورد نياز براي حل يك مسئل را بررسي نماييم .

در ضمن بايد عرض كنم كه تحليلگر عنصر اصلي پياده سازي يك نرم افزار است ولي رسم بر اين شده كه برنامه نويس خود را تحليلگر مي داند و گاهي از پس حل مشكل برآمده و گاهي ناكام مي ماند .
اينجا ايران است
ليسانس كشاورزي مدير كارخانه صنعتي است !
متخصص بيهوشي اتاق عمل بساز بفروش دارد !
وكيل پايه 1 دادگستري بوتيك دارد و . . .

باعث تعجب نيست كه در جامعه ما همه ، خود را همه فن حريف مي دانند

sina_teacher
سه شنبه 24 دی 1387, 09:23 صبح
قبل از شروع لازم مي دانم مطلبي را از دكتر . . . عضو گروه تحقيقاتي انرژي اتمي ايران و استاد اينجانب در دانشگاه بيان نمايم .

مردم ايران مادر زاد سه كار را بلدند : اول همه مكانيكند ، كافيست كنار يك خيابان درب موتور خودروي خود را بالا بزنديد و ....
دوم همه دكترند : كافيست در جمعي ناراحتي خود را بيان كنيد همه برايتان نسخه مينويسند . . .
سوم همه افسر راهنمايي و رانندگي هستند : حتما تا بحال در خيابان تصادف ديده ايد . . .

من همه به مطالب فوق اضافه مي كنم كه همه . . . ادعاي تحليل هم دارند . البته خداي ناكرده توهين نباشد ، بعضي از عزيزان بواقع توامندي انجام وضيفه محوله را دارند و به زيبايي مي توانند حل مسئله نمايند .


در خصوص مطلب بيان شده از سوي دوستان بايد عرض كنم كه قلعه هاي تو در تو يكي از رويكردهاي اصلي يك تحليل گر است .
اينطور بايد عرض كنم كه چنانچه اين بخش از ديد تحليلگر دور بماند به معني شكست حتمي برنامه خواهد بود .
ياد آوري : در سال 1372 آخرين مدل كامپوتر رو خريدم 80486 DX4 با سرعت پردازش 100 با 8 مگابايت رم و هارد 3.1 گيگابايت بود و امروز حداقل سيستم موجودي كه دارم 6400 با 4 گيگا بايت رم و 2 ترابايت هارد .
هر نرم افزاري چنانچه با رويكرد مقطعي نوشته و عرضه شود مطمئن باشيد كه با پيشرفت سريع در دنياي اطراف و بالا رفتن ميل به تكامل و نياز ها با شكست مواجه خواهد شد .
تحليلگر چنانچه 10 نياز از سوي كارفرما را بررسي مي كند بايد اين قابليت را داشته باشد كه 10 خواسته دور مانده از چشم كارفرما را خود به سيستم اضافه نموده تا هميشه برگ برنده اي براي مبارزه و مقابله در بازار مكاره نرم افزار امروز داشته باشد .
اين ماجرا همچنان ادامه دارد . . .

sina_teacher
سه شنبه 24 دی 1387, 09:30 صبح
اجازه بدهيد بحث كمي داغ بشه ! حتما براي اين درد دل شما هم مطالب و تجربياتي ناچيز براي عرضه دارم . مطمئن باشد در چند سال اخير كه n تعداد نرم افزار سفارشي از 100 هزار تومان تا 100 ميليون نوشتم و تحليل كردم دلم پر تر از شماست .

Elham_gh
سه شنبه 24 دی 1387, 14:19 عصر
جناب sina_teacher
من اصلا متوجه نشدم كه شما چرا مطالبتون رو به جاي 1 پست در 3 پست آوردين.
اينجوري خوانايي مطالب خوب كم مي شه.