انجمن علمی برنامه‌نویسی: post #91 — TG.ME

⚡️از کدنویس تا مهندس نرم‌افزار 💻تصویر بزرگ سیستم: طراحی سطح بالا (High-Level Design) بعد از تعیین نیازمندی‌ها، نوبت به طراحی کلان سیستم می‌رسد. کتاب Beginning Software Engineering این مرحله را به معماری خانه تشبیه می‌کند؛ قبل از انتخاب دستگیره درها (کدنویسی جزئیات)، باید جای اتاق‌ها و لوله‌کشی اصلی (ساختار کلی) مشخص شود. اگر High-Level_Design اشتباه باشد، سیستم در آینده انعطاف‌پذیر نخواهد بود و با یک تغییر کوچک، کل پروژه فرو می‌ریزد. 🌐۳ محور اصلی طراحی سطح بالا: 1️⃣تفکیک وظایف (Functional Decomposition): تقسیم پروژه به ماژول‌های مستقل. هر بخش فقط یک وظیفه دارد. مثال کتاب: تفکیک بخش «احراز هویت»، «سبد خرید» و «درگاه پرداخت» در یک فروشگاه، تا تغییر در یکی باعث خرابی دیگری نشود. 2️⃣انتخاب سبک معماری (Architecture Styles): تصمیم‌گیری درباره نحوه توزیع پردازش و ذخیره داده‌ها (مثل معماری چندلایه n-Tier یا کلاینت-سرور). 3️⃣طراحی واسط‌ها (Interfaces): تعریف دقیق نحوه ارتباط و انتقال داده بین ماژول‌ها (مثلاً از طریق API) برای جلوگیری از تداخل. ◀️ «هدف طراحی سطح بالا، تبدیل یک پروژه بزرگ و مبهم به تکه‌های کوچک، منطقی و قابل‌مدیریت است.» ⚙️نگاه مهندسی ❌کدنویس: «سریع همه‌چیز را در یک پکیج بزرگ می‌نویسم و کلاس‌ها را به هم وصل می‌کنم.» ✔️مهندس: «سیستم را به لایه‌های مجزا (رابط کاربری، منطق تجاری، داده) تقسیم می‌کنم تا وابستگی‌ها به حداقل برسد.» 💡تکنیک عملی کتاب: سیستم را به صورت نمودار بلوکی (Block Diagram) رسم کنید. هر جعبه یک ماژول است و فلش‌ها مسیر جریان داده را نشان می‌دهند. اگر فلش‌های بین جعبه‌ها بیش از حد درهم‌تنیده باشد، یعنی وابستگی (Coupling) بالاست و طراحی نیاز به بازبینی دارد. 📝تمرین: پروژه فعلی خود را به ۳ لایه اصلی (کاربر، محاسبات، دیتابیس) تقسیم کنید و مرز ارتباطی آن‌ها را روی کاغذ بکشید. 📚منبع: کتاب Beginning Software Engineering 👨‍💻در کانال انجمن علمی برنامه‌نویسی با ما همراه باشید… | @Programming_Association |

❤‍🔥6❤2👏1👌1
June 23, 2026 1.8K 21