اول تحلیل، بعد کدنویسی

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

تحلیل و آنالیز پروژه

فقط لازمه بگم که  تحلیل و آنالیز داده ها، بیشترین  میزان استخدام رو  توی  لینکداین تو سال ۲۰۱۴ داشته !

متن اصلی مربوط به تحلیل رو با یه نقل قول شروع میکنم از معلمی که سال ها پیش در کلاس مبانی کامپیوتر اونو گفت :

واژه مهندس کامپیوتر به این معنا نیست که آن شخص،  یک کامپیوتر دارد و می تواند با آن کار بکند، بلکه شخصی را مهندس میگویند که یک قلم دارد و یک کاغذ و کار اصلی آنهم تحلیل است!

تحلیل پایه و اساس هر پروژه ایه به تحلیل بستگی داره  و خطا در اون میتونه به کل پروژه و حتی زمان بندی (Dead-line)  و خروجی پروژه از دیدگاه کارفرما تاثیر گذار باشه، زمانی که یک تحلیل مناسب از پروژه وجود نداشته باشه، در وسط پروژه، ممکن هر لحظه، کاربرد پروژه عوض بشه که در این صورت پروژه به یک مسئله غیر قابل حل تبدیل خواهد شد و هیچوقت اتمام پذیر نخواهد شد.

بخش تحلیل پروژه یک کار بسیار سخت و زمان بری ست که صرف انرژی زیادی رو میطلبه ولی اگه خوب انجام بشه و به صورت جامع و کامل به دست برنامه نویس برسه، برنامه نویسدیگه اصلا نیاز نیست وسط پروژه فکر بکنه و فقط دادهای تحلیل شده رو پیاده میکنه و کار بسیار بسیار سبک میشه، یکی از دوستان در مورد دستگاه های عابر بانک صحبت میکرد، میگفتش که تحلیل نرم افزاری دستگاه های ATM کار آسونی نبوده و تقریبا به کسی که این سیستم رو تحلیل کرده و جواب تحلیل رو به برنامه نویس داده، چندین برابر دستمزد به نسبت برنامه نویس گرفته! پس تحلیلگر همیشه و همه جا از برنامه نویس ها، مزد خیلی بیشتری را دریافت میکنند، هر چند که برنامه نویسان انرژی بسیار زیادی برای پروژه می گذراند ولی بدون تحلیل این انرزی میتونه خیلی بیشتر و به صورت الکی مصرف بشه.

 

بخش های تحلیل سیستم :

تحلیل سیستم و مبانی مهندسی اون میتونه مراحل خیلی زیادی داشته باشه، مثل تشکیل چارت Activity ، چارت Use Case و … والبته تحلیل پایگاه داده هم خودش نیاز به یه تخصص دیگریست! هر شرکت برنامه نویسی و توسعه دهنده نرم افزاری به نظر من باید یه گروهی برای تحلیل داشته باشه، چون به مرور به صورت ناخودگاه بهش اساس نیاز میکنه !

به طور مثال چارتی که پایین اومده یه چارت خیلی خیلی ساده از یه سیستم رستوران ( کپی رایت ویکی پدیا )

آنالیز و تحلیل سیستم

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

  • داشتن یک نمای کلی از پروژه
  • صرفه جویی در زمان و هزینه به خصوص در امر کد نویسی
  • عدم تغییر پروژه در وسط کار و پیاده سازی
  • وظایف هر بخش تیم تولید کاملا مشخص می شود و هر کدام میدانند باید چه کاری را انجام دهند
  • خروجی پروژه دقیقا همان چیزی میشه که کارفرما میخواد
  • و برطرف سازی خیلی دیگر مشکلاتی که قطعا در پروژه های خود با آنها سرو کله زده اید !…

نتیجه گیری :

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

این نوشته رو خیلی کوتاه نوشتم و فقط هدفم از ارائه ش، این بود که اهمیت تحلیل پروژه رو بیان کنم و بگم که چه مزیت هایی برای پروژه میتونه داشته باشه.

ممنون از اینکه وقت گذاشتید و این نوشته رو خوندید.

دیگر نوشته های مرتبط با این دسته بندی