سعید صفایی | SAEED SAFAEE

طراحي خوب و ويژگي طراحان خوب در نرم افزار

سعید صفایی دیدگاه
طراحي خوب و ويژگي طراحان خوب در نرم افزار

طراحي خوب و ويژگي طراحان خوب در نرم افزار

چرا مي گوييم طراح خوب!!!!!

نيروي تغيير در نرم افزار ها امري اجتناب ناپذير است و هميشه طراحان نرم افزار با آن مواجه هستند

هميشه تغيير در نرم افزار ها پيامد هايي به دن دارد از جمله:
۱- هزينه
۱-۱ هزينه هاي مالي
۱-۲ هزينه هاي رواني
۲- ترس
۳- استرس

طراح خوب کسي است که اين پيامد ها را به حداقل برساند


ويژگی طراحان خوب

۱- نداشتن تعصب به طرح و مانع نبودن براي تغيير آن
۲- تجربه کافي در حوزه نرم افزار
۳- شناخت دامنه کار و اصول طراحي
۴- نگاه انتقادي به طرح خودش
۵- خودش را باهوش جلوه ندهد



بررسی ۳ اصل بنيادی طراحی



 ۱- اصل بنيادی YAGNI(You Aren`t Gonna Need it)

در اين اصل مواردي ياد شده که حتما يه طراح خوب به آن مسلط است

۱- حتما بايد نياز اصلي نرم افزار طراحي شود و احتمالا آينده در وحله اول در طراحي نيست(مطمئن باشيد که فيچر مربوطه را لازم داريد)
۲- حتما ديتاي کافي در رابطه با موضوع داشته باشد، اگر فردا ديتاي بهتري دارد بايد فردا طراحي کند
۳- داشتن Feedback loop


چرا بايد احتمالات در وحله اول در نظر گرفته نشود؟
در نظر داشته باشيد که اگر احتمالي را پياده سازي کرديم و آن احتمال درست نبود و خلاف تصور ما پيش رفت آن وقت:

۱- هزينه طراحي فيچير هاي احتمالي را بايد بپردازيم
۲- هزينه طراحي هاي عقب افتاده در فيچر اصلي
۳- هزينه توليد فيچر هاي احتمالي که اشتباه توليد کرديم و بايد عوض کنيم



۲- اصل سادگی

(keep it simple stupid)

ميل به باهوش جلوه دادن باعث ميشود که پيچيده طراحي کنيم(گاهي اوقات تصور ما بر اين است که راه حل ساده افتخار آميز نيست)
اين موضوع را ميتوان با ماشين روب گلدبرگ درک کرد

روب گلد برگ


اين پيچيدگي مناسب طراحي نرم افزار نيست

طراحي ساده کاملا با مخاطب حرف ميزند و تمرکز کاربر را حفظ ميکند

کم کردن وابستگي ها در اصل سادگي موضوع مهمي به شمار ميرود(ارتباط شفاف ميان بخش ها يا ساير اجزا يک محصول)

طراحي ساده داراي انسجام کافي و مفاهيم مرتبط را کنار هم نشان ميدهد



3- اصل DRY

Don’t Repeat Yourself

"خودت را تکرار نکن" یک اصل از توسعه نرم افزار است که با هدف کاهش تکرار اطلاعاتی که احتمال تغییر آنها وجود دارد.

جایگزینی آن با انتزاعی هایی است که احتمال تغییر کمتری دارند، یا استفاده از نرمال سازی داده ها که از افزونگی جلوگیری می کند.





دیدگاه های پست

user
1400/07/20
علی نیازی

سلام خوب توضیح دادید ممنون

user
1402/04/05
منصور

سلام. عالی بود مهندس

دیدگاه خود را بگذارید