Notice: file_put_contents(): Write of 4102 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 16384 of 20486 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
جنگولرن@djangolearn_ir P.609
DJANGOLEARN_IR Telegram 609
جنگولرن
سری مهندسی نرم‌افزار: پست 3 از لینکدین Saeed Shahrivari Joghan لینک پست در کامنت احتمالاً در صحبت با دوستان و همکاران یا در فضای مجازی به کتاب‌های پیشنهادی متعددی برای مطالعه (مثلاً کتاب کد تمیز) برخورد کرده باشید. با وجود اینکه مطالعه این کتاب‌ها مفیده…
سری مهندسی نرم افزار: پست 4
از لینکدین Saeed Shahrivari Joghan
لینک

تو پست‌های قبلی راجع به محورهای سه گانه این سری صحبت کردم یعنی: نرم‌افزار، مهندسی نرم‌افزار و مهندس نرم‌افزار. تو این پست می‌خوام راجع به مفهوم «نرم‌افزار خوب» صحبت کنم.

اول دو تا نکته ریز بگم خدمتتون:
۱- معمولاً اگه در کتاب‌ها یا وب بگردید به دو مفهوم بر می‌خورید یکی «نرم‌افزار خوب» (Good Software) و یکی هم «نرم‌افزار باکیفیت» (High Quality Software) که به نظر من تقریباً یه مفهوم دارند.
۲- کیفیت از دو دید قابل بحثه یکی کیفیت داخلی مثلاً معماری خوب و یکی هم کیفیت خارجی مثلا واسط کاربری خوب. معمولاً کاربر بیشتر کیفیت خارجی رو درک میکنه و مهندس نرم‌افزار هم ناخودآگاه بیشتر به کیفیت داخلی توجه میکنه. حالا کدوم باید اولویت داشته باشه؟ به نظر من هیچکدوم برتری نداره که الآن نمیخوام راجع بهش بحث کنیم.

حالا ویژگی‌های یه نرم‌افزار خوب چیه؟ معیارها خیلی متنوعه و پراکنده ولی اجازه بدید در این مورد اقتدا بکنیم به آقای سامرویل! از دید سامرویل ویژگی‌های یه نرم‌افزار خوب موارد زیره:
- کاربردی (Functional): یعنی عملکرد لازم رو به کاربر بده یا به عبارتی درست کار کنه و به درد بخور باشه.
- کارا (High Performance): یعنی کارایی لازم رو هم ارائه بده مثلاً کند نباشه.
- قابل استفاده (Usable): یعنی سهولت استفاده داشته باشه یا به عبارتی کاربرپسند باشه.
- قابل اعتماد (Reliable): یعنی بدون خطا و خرابی کار کنه به عبارتی باگ نداشته باشه و بشه روش حساب کرد.
- قابل نگهداشت (Maintainable): یعنی به راحتی بشه تغییر، ارتقا و بهبودش داد.
- امن (Secure): یعنی امنیت لازم رو برای کاربر فراهم کنه.
البته ویژگی‌های بیشتری هم هست مثل: Scalability یا Testablity‌ یا Compatibility و ... ولی به نظرم ۶ موردی که بالا مرور کردیم تقریباً تو هر نرم‌افزاری دیده میشه ولی موارد دیگه ممکنه تو بعضی نرم‌افزارها خیلی دغدغه نباشه مثلاً مقیاس‌پذیری. لطفاً این ۶ مورد و تعاریفش رو همیشه به خاطر داشته باشیم.

چند تا نکته کنکوری و پایانی:
۱- اینا ویژگی‌های نرم‌افزار خوبه یعنی: کد، داده و مستندات. پس صرفاً شامل کد نمیشه.
۲- نرم‌افزار شامل استهلاک نمیشه یعنی با گذشت زمان خرابی توش بوجود نمیاد برای مثال مقایسه بکنید با ماشین که به مرور زمان استهلاک پیدا میکنه و بیشتر خراب میشه.
۳- یه مهندس نرم‌افزار صرفاً نباید توجهش معطوف به ویژگی‌های کیفی داخلی باشه و باید به ویژگی‌های کیفی خارجی هم توجه کنه مثل قابل استفاده بودن.
۴- این ویژگی‌ها معمولاً مثل یه تار عنکبوت به هم تنیده شدند. یعنی اگه بخوایم یکی رو افزایش بدیم ممکنه به احتمال زیاد ویژگی‌های دیگه که در تعارض هستند کاهش پیدا کنند. برای مثال معمولاً تلاش برای افزایش کارایی سیستم باعث کاهش اتکاپذیری میشه. احتمالاً در آینده راجع این موضوع بیشتر صحبت می‌کنم اما فعلاً پیشنهاد میکنم برای این بحث مقاله بسیار عالی «The web of system performance» رو مطالعه بکنید:
https://lnkd.in/d9s998jA

حالا چه کنیم که نرم‌افزار خوب تولید کنیم؟ ایشالا به شرط حیات در پست‌های بعدی بهش می‌پردازیم😉
👍5



tgoop.com/djangolearn_ir/609
Create:
Last Update:

سری مهندسی نرم افزار: پست 4
از لینکدین Saeed Shahrivari Joghan
لینک

تو پست‌های قبلی راجع به محورهای سه گانه این سری صحبت کردم یعنی: نرم‌افزار، مهندسی نرم‌افزار و مهندس نرم‌افزار. تو این پست می‌خوام راجع به مفهوم «نرم‌افزار خوب» صحبت کنم.

اول دو تا نکته ریز بگم خدمتتون:
۱- معمولاً اگه در کتاب‌ها یا وب بگردید به دو مفهوم بر می‌خورید یکی «نرم‌افزار خوب» (Good Software) و یکی هم «نرم‌افزار باکیفیت» (High Quality Software) که به نظر من تقریباً یه مفهوم دارند.
۲- کیفیت از دو دید قابل بحثه یکی کیفیت داخلی مثلاً معماری خوب و یکی هم کیفیت خارجی مثلا واسط کاربری خوب. معمولاً کاربر بیشتر کیفیت خارجی رو درک میکنه و مهندس نرم‌افزار هم ناخودآگاه بیشتر به کیفیت داخلی توجه میکنه. حالا کدوم باید اولویت داشته باشه؟ به نظر من هیچکدوم برتری نداره که الآن نمیخوام راجع بهش بحث کنیم.

حالا ویژگی‌های یه نرم‌افزار خوب چیه؟ معیارها خیلی متنوعه و پراکنده ولی اجازه بدید در این مورد اقتدا بکنیم به آقای سامرویل! از دید سامرویل ویژگی‌های یه نرم‌افزار خوب موارد زیره:
- کاربردی (Functional): یعنی عملکرد لازم رو به کاربر بده یا به عبارتی درست کار کنه و به درد بخور باشه.
- کارا (High Performance): یعنی کارایی لازم رو هم ارائه بده مثلاً کند نباشه.
- قابل استفاده (Usable): یعنی سهولت استفاده داشته باشه یا به عبارتی کاربرپسند باشه.
- قابل اعتماد (Reliable): یعنی بدون خطا و خرابی کار کنه به عبارتی باگ نداشته باشه و بشه روش حساب کرد.
- قابل نگهداشت (Maintainable): یعنی به راحتی بشه تغییر، ارتقا و بهبودش داد.
- امن (Secure): یعنی امنیت لازم رو برای کاربر فراهم کنه.
البته ویژگی‌های بیشتری هم هست مثل: Scalability یا Testablity‌ یا Compatibility و ... ولی به نظرم ۶ موردی که بالا مرور کردیم تقریباً تو هر نرم‌افزاری دیده میشه ولی موارد دیگه ممکنه تو بعضی نرم‌افزارها خیلی دغدغه نباشه مثلاً مقیاس‌پذیری. لطفاً این ۶ مورد و تعاریفش رو همیشه به خاطر داشته باشیم.

چند تا نکته کنکوری و پایانی:
۱- اینا ویژگی‌های نرم‌افزار خوبه یعنی: کد، داده و مستندات. پس صرفاً شامل کد نمیشه.
۲- نرم‌افزار شامل استهلاک نمیشه یعنی با گذشت زمان خرابی توش بوجود نمیاد برای مثال مقایسه بکنید با ماشین که به مرور زمان استهلاک پیدا میکنه و بیشتر خراب میشه.
۳- یه مهندس نرم‌افزار صرفاً نباید توجهش معطوف به ویژگی‌های کیفی داخلی باشه و باید به ویژگی‌های کیفی خارجی هم توجه کنه مثل قابل استفاده بودن.
۴- این ویژگی‌ها معمولاً مثل یه تار عنکبوت به هم تنیده شدند. یعنی اگه بخوایم یکی رو افزایش بدیم ممکنه به احتمال زیاد ویژگی‌های دیگه که در تعارض هستند کاهش پیدا کنند. برای مثال معمولاً تلاش برای افزایش کارایی سیستم باعث کاهش اتکاپذیری میشه. احتمالاً در آینده راجع این موضوع بیشتر صحبت می‌کنم اما فعلاً پیشنهاد میکنم برای این بحث مقاله بسیار عالی «The web of system performance» رو مطالعه بکنید:
https://lnkd.in/d9s998jA

حالا چه کنیم که نرم‌افزار خوب تولید کنیم؟ ایشالا به شرط حیات در پست‌های بعدی بهش می‌پردازیم😉

BY جنگولرن


Share with your friend now:
tgoop.com/djangolearn_ir/609

View MORE
Open in Telegram


Telegram News

Date: |

Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading. On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. 5Telegram Channel avatar size/dimensions Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data.
from us


Telegram جنگولرن
FROM American