وبلاگ

صفحه اصلی >وبلاگ > تولید سیستم های پیچیده ی نرم افزاری


تولید سیستم های پیچیده ی نرم افزاری

به تاریخ •1399/5/10 تولید سیستم های پیچیده ی نرم افزاری

سوال ؟!

 

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

 

جواب : 

 

در یک کلام «برنامه نویسی ماژولار»

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

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

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

نرم افزار نیز به همین صورت عمل می کند. شما متدها، متغیرها و کلمات کلیدی در داخل کلاس ها دارید. شما اشیاء را از این کلاس ها نمونه سازی می کنید. شما اشیایی دارید که کارخانه‌هایی هستند که می‌توانند اشیاء دیگری ایجاد کنند، اشیایی که مجموعه‌ای از اشیاء دیگر را دستکاری می‌کنند، شی‌هایی که به عنوان پراکسی عمل می‌کنند و غیره.

شما یاد می گیرید که چگونه این سیستم های بزرگتر را با یادگیری نحوه نوشتن برنامه های کوچکتر (یا قسمت های کوچکتر از سیستم های بزرگتر) ابتدا و سپس ترکیب آن قسمت های کوچکتر در سیستم های بزرگتر یاد بگیرید.