• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کدنویسی تکاملی و مرحله ای
#1
شما برنامه ای که میخواید بنویسید، اگر یک برنامهء جدیدی باشه که تاحالا تجربش رو نداشتید و درمورد ساختار و الگوریتم ها و جزییاتش دید کامل و مطمئن قبلی ندارید، آیا از بدو شروع کدنویسی تمام به شکل شیء گرا و با پیروی از الگوهایی مثل MVC کار رو انجام میدید و یا نه و طور دیگه. توضیح بدید.

من مثلا پروژهء سیستم رجیستر و لاگین امن خودم رو که نوشتم از شیء گرایی و الگوی خاصی پیروی نکردم و تمام روی الگوریتم و امنیت و منطقش متمرکز شدم.

البته نمیتونم بگم چیزی که ساختم Prototype بوده، چون یک برنامه ای هست که از الگوریتم و امنیت و امکانات کاملا قابل استفاده برخورداره و از این نظر چیزی کم نداره.

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

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

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

از نظر عملی هم این مسئله و کارایی این روش رو در کدنویسی واقعا لمس کردم. چون وقت و انرژی و تمرکزم تقریبا 100% روی کد و الگوریتم و نکات امنیتی متمرکز بود و از نظر ساختار و الگو و استانداردهای کدنویسی فقط درحدی که کد رو برام خوانا و قابل مدیریت و سرعت کار جاری رو بهینه بکنه اکتفا کرده بودم و مجبور نبودم درحالیکه کلی مسائل و روشهای الگوریتمیک و امنیتی و منطقی و امکانات مختلف برای پرداختن وجود داشتن و باید منابع مختلفی رو بابت اونها میخوندم و روی اونها فکر و تحلیل و محاسبه میکردم روی چیزهای متفرقه که درحال حاضر کارایی عملی نداشتن فکر و تمرکز کنم.

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

اگر قبلا روی یک برنامه ای کار کرده باشیم طبیعتا میدونیم چه بخشهایی داره و چطوری کار میکنه و چه ساختار کلی ای داره، و بنابراین میتونیم همزمان که کد میزنیم ساختار و نقشهء کلی اون رو هم از قبل در ذهن درنظر داشته و ازش تبعیت کنیم. میدونیم حدودا چه فایلهایی و چه بخشهایی داره و چه روش و اینترفیس و ارتباطهایی و غیره.
  پاسخ
تشکر شده توسط :
#2
من باهات موافق نیستم . البته همه مثل هم نیستن
من الان 4-5 ماه هست که یه erp رو شروع کردم . کار خیلی کند پیش میره چون مراحل کار رو از اول نمیدونستم و قرار بود این erp فقط یک دفترچه تلفن باشه که 3 روزه نوشته بشه ولی پروژه هر روز بزرگتر شد .
خلاصه بگم که روز اول به هوای دفترچه تلفن بیس نویسی کردم و اون موقع pdo بلد نبودم .
ولی دقیقا 2-3 ماه میشه که میخوام بیس سیستم رو pdo کنم ولی هم وقتش رو ندارم و هم وقتش رو ندارم و بازم وقتش رو ندارم .

حس درونیم میگه زمانی که بخوام رو pdo بزارم به اندازه یه ماژول کامل کار میبره .
ولی اگه روز اول pdo مینوشتم هم زمان کمتری ازم میگرفت و هم دیگه به این مرحله نمیرسیدم که تو دوراهی اصلاح بمونم

کلا حرفم اینه که از اول باید اصولی فکر کرد . اصولی همه جانبه . چه تو مهندسی نرم افزار چه کد نویسی چه ....
  پاسخ
تشکر شده توسط :
#3
(۱۳۹۱ اردیبهشت ۲۵, ۰۴:۴۱ ب.ظ)hamid_xever نوشته: حس درونیم میگه زمانی که بخوام رو pdo بزارم به اندازه یه ماژول کامل کار میبره .
ولی اگه روز اول pdo مینوشتم هم زمان کمتری ازم میگرفت و هم دیگه به این مرحله نمیرسیدم که تو دوراهی اصلاح بمونم
حس درونی؟
بنظرم این یه اصطلاح تخصصی و قابل انتقال و اتکا نیست. هیچ سند و استدلالی نداره.
بنده بعکس فکر نمیکنم اینطورها هم باشه که شما میگی.
یه تغییر شکل و تطبیق نباید اینقدر سخت باشه. البته ممکنه اینطور بنظر بیاد و بخصوص که خسته و زده شده باشی از کار.
برای خود من هم مواردی بوده که فکر میکردم سخت و زمانبر هستن اما واقعا اونقدر هم مشکل نبودن.

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

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

البته اونی که من میگم فکر نمیکنم دقیقا Prototype باشه. چون هدف ساخت برنامه ای بوده که از نظر عملیاتی کامل و قابل استفادهء واقعی باشه. هرچند شاید بشه تعریف Prototype رو شامل این نوع هم دونست.
  پاسخ
تشکر شده توسط :
#4
امیدوارم بحث به بیراحه و ناراحتی نکشه .

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

و بعد هم باید دید این پروژه قراره کیا روش کار کنن. کار گروهی هست یا نیست. شما وقتی می خوای کار گروهی انجام بدی یا می خوای یک نرم افزار بنویسی و بعدا یک فرد جدید یا خودت بعد از ۱ سال از پروژه روش کار کنی (ما این دیدگاه رو داریم که خود فرد هم بعد از گذشت مدت زمان زیادی از پروژه مثل فرد جدیدی هست که می خواد روی پروژه کار کنه) تاثیر زیادی رو در ارتباط بین افراد و و درک بهتر توسعه بهتر اون می تونه داشته باشه.
شما یک نگاهی به برخی از پروژه های موفق که گروه زیادی در توسعه اون داشتن بندازین می بینین که این اصول به خوبی توشون رعایت شده.


حالا اینکه تا چه حدی و از کی ما باید مثلا به صورت شی گرا کد نویسی بکنیم. از دید و تجربه من از همون اول. شما باید شی گرا کد نویسی بکنین. البته شما هیچ وقت نمی تونید و لازم نیست از اول کامل شی گرا کدها رو بنویسید ولی باید از اول شی گرا شروع بکنید. اینکه به صورت رویه ای کد نویسی کنید و بعد بخوایید شی گرا کنید من که هر وقت انجام دادم گند کاری شد.
پس از دید من از ابتدا شی گرا بنویسید ممکنه اصولش رو از ابتدا رعایت نکنید اما بعد می تونید برگردید و با تغییرات اندکی اون تغییرات رو انجام بدید.
البته یک نکته دیگه که می خوام بگم هم اینه که تا جایی که می تونید از امکانات خود php در زمینه شی گرایی و مخصوصا SPL ها استفاده کنید.
  پاسخ
تشکر شده توسط : Y.P.Y undefined
#5
دوست عزیز از این به بعد تلاش میکنم جملات تخصصی بگم . شما ببخش که تخصصم نمیرسه و از حس درونیم استفاده میکنم .
من واست مثال کارمم زدم که متوجه منظورم بشی .
پروژه من در یه سطح خیلی کوچک بود که قرار بود 3 روز تموم شه و 3 روزه هم تموم شد . لازم نمیدیدم واسه یه دفترچه تلفن ساده از 100% شی گرایی استفاده کنم .
و وقتی که پروژه تغییر کرد و بزرگ شد برگشت به روز اول واسم سخته .
و ترجیح میدم از اول با تمام تخصصم شروع به کار کنم . نه اینکه فرضا یه google engine بنویسم بعد که تموم شد برم شی گراش کنم .
  پاسخ
تشکر شده توسط :
#6
@وحید
ببین تاریخچهء خیلی برنامه های معروف و موفق رو اگر بررسی کنی میبینی که اونا هم از اول از همه نظر کامل نبودن و حتی شیء گرایی و الگوهای خاصی رو هم رعایت نکردن. اما همینا چون به موقع نیاز و با سرعت و راحتی و هزینهء در دسترس تولید شدن تونستن بقا پیدا کنن و بعدها تکامل تدریجی پیدا کردن و سرفرصت و با تجربه و ثبات بیشتری که بدست اومد گسترش و تکمیل و اصلاح شدن. یکیش خود PHP. خیلی از نرم افزارهای دیگه هم همینطور بودن و حتی هنوزم خیلی نرم افزارها و پروژه ها کم و بیش با همین محدودیت ها، حالا به شکلهای مختلف و در سطوح و حدهای مختلف، شروع میکنن.

کلا هم کامل کار کردن یک نرم افزار کار واقعا گسترده و سختیه و نیاز به توسعه دهنده یا توسعه دهندگانی دارای دانش و توانایی های گسترده ای دارن که چنین افرادی زیاد نیستن.
شاید الان شما بگی فلان برنامه اصولیه، مثلا جوملا، چون شما از دید خودت و از نظر دانش و مهارت خودت که شیء گرایی و الگوهای مختلف مثل MVC هست میبینی، اما من اگر بررسیش کنم شاید بیام بگم حالم بهم خورد اینا خجالت نمیکشن بعد از این همه مدت مثلا فلان کارها رو برای امنیتش نکردن و فلان اصول علمی و الگوریتم ها رو بکار نبردن!

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

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



(۱۳۹۱ اردیبهشت ۲۵, ۰۵:۰۷ ب.ظ)hamid_xever نوشته: من واست مثال کارمم زدم که متوجه منظورم بشی .
پروژه من در یه سطح خیلی کوچک بود که قرار بود 3 روز تموم شه و 3 روزه هم تموم شد . لازم نمیدیدم واسه یه دفترچه تلفن ساده از 100% شی گرایی استفاده کنم.
خب دیگه پس مشکل چیه.

نقل قول:و وقتی که پروژه تغییر کرد و بزرگ شد برگشت به روز اول واسم سخته .
شاید مشکل از شما نبوده و از عوامل خارجی بوده.
نباید که مثلا کارفرما بیاد با هر شرایطی در هر موقعی بگه فلان کار رو در فلان زمان و با فلان دستمزد بکن و مثلا یه چیزی رو هم بیاد تدریجی بهت بگه و مدام زیاد و گنده کنه.

ضمنا حالا چه اصراری داری که مثلا PDO کنی؟
نقل قول:و ترجیح میدم از اول با تمام تخصصم شروع به کار کنم . نه اینکه فرضا یه google engine بنویسم بعد که تموم شد برم شی گراش کنم .
گوگل هم فکر میکنی خودش از روز اول چطوری درست شده؟
فکر میکنی از اول یک نقشهء کامل و تمام دقیق و طبق تمام استاندارد و اصول و الگوهای پیشرفته بوده؟ اصلا کسی اینقدر نابغه هست که بتونه کل یک چیزی اینقدر پیچیده و بزرگ رو از اول در ذهن طراحی بکنه بدون هیچ اشتباه و محدودیت و بن بست و تغییری؟
ضمنا گوگل خودش مسلما ده ها نسل و طراحی رو پشت سر گذاشته و اول خیلی کوچکتر و ساده تر بوده.
موقعی که توسعه دهندگان مدتها روی یک چیزی کار میکنن، و اول هم در مقیاس و امکانات محدودتر و ساده تر، و کلی تجربه و ایده رو به مرور بررسی و تحلیل و تست میکنن، بعدش مسلما توانایی خیلی بیشتر پیدا میکنن، بخصوص نسبت به اون برنامهء خاص.
فکر نکن مثلا شما فرضا با 5 برنامه نویس نابغهء دیگه مثل خودت هم تیم تشکیل دادی این کار شدنیه که بیای از صفر و بدون هیچ تجربه و اطلاعات و کمکی یک چیزی از همه لحاظ کامل و پیشرفته و دقیق رو کاملا نقشه کشی و طراحی کنی و بعدهم پیاده سازی و تموم! نه عزیز جان واضحا به این سادگی نیست.
شاید یکی از دلایلی که پروژه های ادعایی و بخصوص تیمی ملت ما هم اکثرا از مراحل اولیه فراتر نمیرن و درشون تخته میشه همین تفکرها و روشهای اشتباه باشه و اینکه از ابتدا یک کار بزرگ و سنگین رو میخوان بصورت کامل و دقیق و با مقایسه کردن خودشون با برنامه نویسان و برنامه های معروف و با تجربه انجام بدن.

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

اونایی که گوگل رو توسعه دادن سالها تجربه و تکامل و تست و تحقیق پشتش بوده. خب الان اونا میتونن مثلا یک موتور جستجوی دیگه یا چیزی مشابه یا دارای مشترکات مهم/اساسی رو خیلی راحتتر و سریعتر و از مرحلهء پیشرفته تری شروع و تموم کنن، اما فکر کردی برای بقیه شدنیه؟ مطمئن باش اینقدر وقت و انرژیشون پخش میشه و اینقدر کار براشون گسترده و سنگینه که به احتمال زیاد شکست میخورن. ولی اگر همون کار رو به اندازهء واقعیت منابع خودشون محدود و ساده میکردن احتمالا به نتایج خیلی بهتری میرسیدن و حداقل یک کارهایی میکردن و میتونستن در آینده مسیر تکامل و موفقیت رو طی کنن.
  پاسخ
تشکر شده توسط :
#7
ببین کسی نمیگه که شی گرایی اصولی هست. اصلا شاید برای یک برنامه شی گرا بودن ضرر هم داشته باشه. بحث ما اصلا این نیست.
ببین ما اول از همه باید RFC از نرم افزار داشته باشیم . چی می خواییم از این نرم افزار . چرا یه همچین چیزی رو می خواییم. بایدها و نباید های نرم افزار رو در بیاریم. بعدش باید بیاییم متد توسعه رو براش مشخص کنیم. اینطور نباشه که بگیم حالا توسعه می دم بعدا شی گرا می کنم. اگر قراره بعدا شی گرا و می دونی باید بعدا شی گرا بشه از الان شی گرا بنویس هر چند همه مواردش رو رعایت نکرده باشی.

ما روشهای مهندسی نرم افزار زیاد داریم که هر نرم افزاری بر اساس نیاز از یکی استفاده می کنه.
http://www.macromediax.com/learn/archive.asp?id=191
و همینطور روشهای توسعه نرم افزار که بر اساس نیاز از یکیش استفاده میشه.
وقتی ما مگیم اصولی منظور اصلا این نیست که برای اینکه یک نرم افزار اصولی باشه باید شی گرا باشه. منظور این هست که روند توسعه اون مدیریت شده و با برنامه ریزی باشه. اینکه مثلا الان عادی بنویسیم و می دونیم باید شی گرا باشه و بعد شی گرا کنیم یعنی اصولی نیست. اینکه می دونیم این نرم افزار نیازی به شی گرایی نداره و شی گرا می نویسیم یعنی اصولی نیست. چرا؟ چون داریم منابع خودمون که زمان و انرژی و می تونه منابع مالی هم باشه به هدر میدیم. توی حالت اول چون تقریبا دوباره کاری هایی رو خواهد داشت و توی حالت دوم هم چون نیازی نبوده.
  پاسخ
تشکر شده توسط :
#8
یه مطلب دیگه در مورد برنامه های موفق رو ببینی هر کدوم از اول اصولیتر پیش رفتن موفق تر بودن. نمونه خیلی خوبش prestashop بوده. هر چند همش رو رعایت نکرده ولی زیرساخت و اصول پایه رو به خوبی رعایت کرد و به شدت هم موفق بوده. یا مثلا YII هم به همین ترتیب.
  پاسخ
تشکر شده توسط :
#9
منم حرف وحید رو 100% تایید میکنم
و نمیگم گوگل از اول نشسته فکر کرده که 10 سال بعد چی میخواد و اونو اماده کرده . ولی 100% فکر کرده که مثلا شی گرایی میخواد بعدا پس از اول شی گرا نوشته .
فکر کن یه سایت داری که فروم ، پورتال ، فروشگاه و .... داره . تو میای اول مینویسی بعد شی گرا میکنی ؟
2 سال طول میکشه نوشتنش . بعد از 2 سال هر کسی هم که ادعا کنه که کدهاش یادش نمیره مطمئنن بخش قابل توجهی از کدهاش یادش رفته حالا فرض کن با این اوضاع بخواد یه تغییر عمده هم بده . من فکر میکنم زیر 6-7 ماه زمان نبره .
در حالی که اگه از اول شی گرا باشه زمان کل پروژه میشه مثلا 2 سال و 1 ماه
  پاسخ
تشکر شده توسط :
#10
(۱۳۹۱ اردیبهشت ۲۵, ۰۵:۲۵ ب.ظ)admin نوشته: یه مطلب دیگه در مورد برنامه های موفق رو ببینی هر کدوم از اول اصولیتر پیش رفتن موفق تر بودن. نمونه خیلی خوبش prestashop بوده. هر چند همش رو رعایت نکرده ولی زیرساخت و اصول پایه رو به خوبی رعایت کرد و به شدت هم موفق بوده. یا مثلا YII هم به همین ترتیب.
PHP یکی از موفقترین و مهمترین برنامه های بازمتن نیست؟
فکر میکنی خیلی اصولی بوده؟
همین الانش هم از بعضی جهات هنوز لنگ میزنه!

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

ضمنا خیلی از مواردی که من گهگاه دیدم و چیزایی راجع بهشون خوندم دیدم که توسعه دهنده هاش قبلا پروژه های کوچک و بزرگ مشابهی داشتن یا حتی یه پروژه ای که از همون نوع بوده و اون رو رها کردن (حتی گاهی بخاطر رسیدن به بن بست - و حتی بعد از سالها کار روش) و بعدش با تجربه و دستاوردهایی که بدست آوردن یکی دیگه رو شروع کردن.

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


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان