برنامه‏ نویسی با #C، بخش دو

امتیاز کاربران

حال که اندکی با C#  آشنا شده‌ایم بهتر است مبانی نوشتن یک نرم افزار را یاد بگیرید و کد های خودتان را در کنار هم قرار دهید.

اساس فعالیت همه‌ی نرم افزارها الگوریتم آن‌ها است قبل از این که بتوانید برنامه ای بنویسید تا مسئله‏ای حل کند ابتدا باید ان را به چند مسئله کوچک‌تر تقسیم کنید,  الگوریتم برنامه‌ها کاملاً مستقل از زبان برنامه نویسی است که برای نوشتن برنامه از ان استفاده می‌کنید.


 برای کار کردن یک نرم افزار یک سری داده نیاز است که روی آن‌ها پردازش شود نرم افزار این داده‌ها را دریافت می‌کند و به فرمی دیگر تبدیل کرده و ارائه می‌کند.

بنابراین بهتر است در ابتدا با چند اصطلاح آشنا شویم:

متغیرها

متغیر مکانی است که شما در طول کار الگوریتم خود مقداری را در ان ذخیره می‌کنید که بعدها می‌توان بر اساس مقدار ان متغیر تصمیم گیری کنید.

بهتر است برنامه‌ی ساده ای اجرا کنیم تا با این مفهوم بیشتر آشنا شوید:

  • برنامهC#  visual   را اجرا کنید
  • در قسمت template  سمت راست گزینه  windows application  را انتخاب کنید.سپس روی  ok  کلیک کنید.
  •  از جعبه ابزار( جعبه ابزار شامل کنترل‌ها و کامپوننت هایی است که می‌توانید بر روی فرم خود قرار دهید) یک کنترل  button  روی پنجره form 1  قرار دهید.(در مورد پنجره‌ها در  IDE  ویژوال استودیو به تدریج توضیح می‌دهیم).
  • خاصیت  text  مربوط به  button  را به  Add 1 to intNumber تغییر دهید.(با استفاده از پنجره  properties  می‌توانید خاصیت‌های یک کنترل را به راحتی تغییر دهید خاصیت‌ها معمولاً رفتار یا ظاهر یک شی را توصیف می‌کنند. )
  • خاصیت  name  ان را به  btnAdd  تغییر دهید.
  • روی button  در بار کلیک کنید تا تابع مربوط به رویداد click  با نام  btnAdd_click   ایجاد شود.
  • کد های زیر را به ان اضافه کنید.

c02

  • برنامه را اجرا کنید و بر روی دکمه  Add 1 to intNumber   کلیک کنید.

 

برنامه از بالاترین خط شروع می‌شود، یکی یکی خط‌ها را ایجاد می‌کند و به سمت پایین میاید. خط اول یک متغیر جدید به نام  intNumber  ایجاد می‌کند.

 Int در C#  یک کلمه کلیدی است( کلمه کلیدی کلمه ای است که برای ویژوال C#  معنای خاصی دارد). Int  مخفف  integer  به معنای عدد صحیح است و  نوع مقداری که می‌خواهیم  در این متغیر ذخیره کنیم را به  C#  می‌گوید.

این کلمات که برای مشخص کردن نوع داده مورد نظر استفاده می‌شوند به  " نوع داده ای " معروف هستند که رفته رفته بیشتر با آن‌ها آشنا خواهیم شد.

اگر از دید ریاضی به این دستور نگاه کنید ممکن است اشتباه به نظر برسد اما در حقیقت کاری که این دستور انجام می‌دهد این است که مقدار متغیر intNumber  را با عدد 1 جمع می‌کند و حاصل را مجدداً در  intNumber  ذخیره می‌کند.

توجه به چند نکته حائز اهمیت است:

  • هنگامی که کد یک نرم افزار را می‌نویسید باید بدانید که شما یا شخص دیگری ممکن است در آینده بخواهید این کد را تغییر دهید بنابراین باید تا جایی که ممکن است کد را قابل فهم کنید.
  • در هر جا که لازم است از فاصله و توضیح (توضیحات بخشی از برنامه است که توسط کامپایلر نادیده گرفته می‌شود و می‌توانید هر چه می‌خواهید را بعد از علامت //  بنویسید) استفاده کنید.
  • احتمالاً متوجه شده‌اید که کنترلی که ایجاد کرده‌ایم ساختار نام جالبی دارد تمام آن‌ها دارای یک پیشوند هستند که نوع آن‌ها را مشخص می‌کند. این کار باعث می‌شود که هنگام کد نویسی به راحتی نوع کنترلی که با ان کار می‌کنید را تشخیص دهید.

تعدادی از این پیشوندها و کنترل‌ها به قرار زیرند:

c02-02

آشنایی با UML

امتیاز کاربران

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


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

شی، مسئولیت و سناریو

1- شی: انسان، مکان یا هر چیزی نظیر: دانشجو، استاد، وسیله نقلیه، خانه، اتاق، میز، خودکار و ... یک شی است.

2- مسئولیت: چیزی است که به شی اختصاص داده می‏شود و سه جنبه دارد‏:

1-2- آنچه که شی راجع به خودش می‏داند، که به آنها صفت گفته می‏شود. به عنوان مثال شی "دانشجو"، نام، نام خانوادگی، نام پدر، شماره شناسنامه، شماره دانشجویی و .. را راجع به خودش می‏داند.به هر یک از این موارد یک صفت گفته می‏شود.

2-2- کسانی را که شی می شناسد. در حوزه مساله اشیا زیادی وجود دارد. تمام کسانی ( اشیایی) را که شی مورد نظر، آنها را میشناسد، با آنها ارتباط برقرار می‏کند. به عنوان مثال شی "دانشجو" بر اساس رابطه "دانشجو در درس ثبت‏نام می‏کند" شی "درس" را می‏شناسد و با آن ارتباط دارد. در ادامه انواع ارتباطات درون یک مدل شی‏گرا تعریف می‏گردد.

3-2- کارهایی را که شی انجام می‏دهد. به عنوان مثال شی "دانشجو" کارهایی نظیر:" ثبت نام، حذف و اضافه، فارغ‏التحصیل شدن و ..." را انجام میدهد. به هر یک از این موارد یک عمل گفته می‏شود.

3- سناریو: عبارت از یک مجموعه عمل پشت سر هم یا متوالی می‏باشد که منجر به انجام یک کار خاص می‏گردد. به عنوان مثال شی "دانشجو" دارای سناریو" ثبت نام در نیم سال تحصیلی" می‏باشد. این سناریو توالی اعمال زیر است:" دریافت برگ ثبت‏نام از آموزش‏، سپس انتخاب دروس نیم‏سال جدید و درج در برگ ثبت‏نام ، و پس از آن دریافت تایید و امضای استاد راهنما و نیز تایید و مهر دانشکده و در نهایت تایید اداره آموزش و دریافت برگ ثبت‏نام توسط اداره آموزش."

4- کلاس: مجموعه اشیایی که دارای صفات، اعمال و ارتباطات یکسان هستند، در یک کلاس قرار می‏گیرند و هر یک از این اشیا به عنوان نمونه‏ای از آن کلاس به حساب می‏ایند. به عنوان مثال کلاس "دانشجو" دارای صفات" نام، نام خانوادگی، شماره دانشجویی، ..." و اعمال "ثبت‏نام، حذف و اضافه، فارغ‏التحصیل شدن،... " میباشد.

محدوده UML

زبان مدلسازی یکپارچه (UML) زبانی است برای مشخص‏سازی، ساخت، مجسم‏سازی و مستند‏سازی دست‏آوردهای یک سیستم متمرکز نرم‏افزاری. اول آنکه این زبان از مفاهیم Booch,OMT و OOSE که متدولوژیهای متداول OO می‏باشند منتج شده است. دوم، UML بر انچه که در حال حاضر توسط روش‏های موجود قابل انجام هستند، بنا شده است. سوم، زبان مدلسازی یکپارچه ، بر یک زبان مدلسازی استاندارد تمرکز می‏کند و نه یک فرایند استاندارد. اگر چه UML بایستی در زمینه یک فرایند به کارگیری شود، تجربه نشان می‏دهد که در سازمان‏های مختلف و با حوزه‏های مسئله متفاوت، فرآیندهای متفاوتی مورد نیاز است. بنابراین تلاش بر این است که ابتدا بر یک فرا‏مدل مشترک ( که معانی را یکپارچه می‏کند) تمرکز شود و در درجه دوم بر یک علامت‏گذاری مشترک (که برای فرد، استنباط این معانی را فراهم می‏کند) تمرکز گردد. ابداع‏کنندگان UML بر فرایند توسعه‏ای تاکید می‏کنند که مورد کاربردگرا، معماری گرا، تکراری و افزایشی است.

UML، یک زبان مدلسازی را مشخص میکند که اتفاق نظر جماعت شی‏گرا بر مفاهیم اساسی مدلسازی است.

در UML برای ایجاد مدلها و نمودارهای حوزه مساله هیچ توصیه‏ای نمی‏شود و این تجربیات و یادگیری افراد است که تشخیص استفاده از کدام نمودارها و مدلها را به ایشان می‏دهد. در یک دیدگاه مدل‏سازی، UML نمودارهای گرافیکی زیر را تعریف می‏کند:

نمودارهای مورد کاربرد                            (Use Case Diagram)

نمودار کلاس                                       (Class Diagram)

نمودارهای رفتار:                                  (Behavior Diagrams)

  • · نمودار حالت                           (State chart Diagram)
  • · نمودار فعالیت                         (Activity Diagram)

نمودارهای تعامل:                                (Interaction Diagrams)

  • · نمودار توالی                           (Sequence Diagram)
  • · نمودار همکاری                        (Collaboration Diagram)

نمودارهای پیاده‏سازی                          (Implementation Diagrams)

  • · نمودار اجزا                            (Component Diagram)
  • · نمودار استقرار                       (Deployment Diagram)

برنامه ‏نویسی با #C، بخش چهار

امتیاز کاربران

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

ادامه مطلب: برنامه ‏نویسی با #C، بخش چهار

برنامه ‏نویسی با #C، بخش هفتم

امتیاز کاربران

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

ادامه مطلب: برنامه ‏نویسی با #C، بخش هفتم

آموزش UML، بخش یک

امتیاز کاربران

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


 اولین سؤالی که ذهن توسعه­دهندگان و دانشجویان مرتبط با این بحث را به خود جلب می‌کند این موضوع است که چرا ما به مدل سازی نرم افزار نیاز داریم؟

در جواب باید گفت که یک مدل سازی خوب به عنوان یک ابزار بصری قدرتمند می‌تواند نقش بسیار مهمی در درک بهتر توسعه دهندگان از کسب‌وکار موجود ایفا نماید. زیرا که توسعه دهندگان با تأییدیه گرفتن از ذینفعان در درست یا غلط بودن نتایج تحلیل خود اطمینان حاصل می­نمایند.

و در ضمن می­توانند نتایج خود تحلیل را به صورتی موثر و ساختارمند به برنامه‌نویسان منتقل کنند.

برای تحلیل و توسعه نرم­افزار متدلوژی‌های متنوعی وجود دارد. فارغ از نوع متدولوژی همه آن‌ها دارای 3 مرحله اصلی هستند: تحلیل، طراحی و اجرا. و مدل سازی که مد نظر ماست، همان مدل سازی مورد استفاده در بخش تحلیل و طراحی می‌باشد.

امروزه متدلوژی‌های پر کاربرد در زمینه تحلیل نرم­افزار متدلوژی‌های شیءگرا هستند و RUP هم یکی از این متدلوژی‌ها می­باشد. همان­طور که در تعریف متدولوژی آمده برای به نتیجه رساندن یک متدولوژی از ابزاری که در آن تعریف شده استفاده می­کنیم. ابزار مدل سازی پیش­بینی شده در  این متدولوژی UMLمی­باشد.

تاریخچه UML:

مفاهیم شیء گرا مدت نسبتاً زیادی است که شناخته شده و به کار می‌روند. تاریخچه شیء گرایی به دهه 60 میلادی بر می‌گردد، زمانی که اولین زبان برنامه نویسی شیء گرا به نام Simula ابداع گردید. به تدریج این روش برنامه نویسی متداول گشت و در دهه زبان Smaltak موجب گسترش بیشتر این نوع برنامه نویسی و جدید شد.

تا قبل از دهه ۹۰ افرادی از قبیل بوچ ، یوردان ، رامبا ، کد ، جانسن ، ملو ، مارتین ، اورل ، هندرسون و ... دیدگاه‌های مختلف و راه حل‌های مختلفی را در این خصوص ارائه کردند. در اوایل دهه ۹۰ میلادی و در ادامه این مباحث به نقاط مشترک خوبی نزدیک شدند. در این دهه روش‌های بوچ و رامبا متداول‌تر شدند و در نهایت در سال ۱۹۹۵ میلادی بوچ و رامبا شروع به ترکیب روش‌های خود نمودند و UML یا زبان مدل سازی یکپارچه (Unfied Modeling Language ) ایجاد شد. بعد از مدتی جاکسن نیز به این گروه پیوست و روش‌های آن‌ها در کلیه محافل شناخته شده و مشهور شد.

بالاخره در سال 1997 روایت 1.1 زبان UML به گروه مدیریت شیء برای استانداردسازی ارائه شد و مورد قبول این گروه قرار گرفت. در نهایت UML2.0 تحت بررسی OMG آخرین نسخه زبان مدل سازی یکپارچه می‌باشد.

اجزای مختلف UML:

اجزای UML نمودارهای مختلف آن هستند. این نمودارها به دسته اصلی تقسیم می­شوند: نمودارهای ساختاری و نمودارهای رفتاری.

نمودارهای ساختاری: نمودار کلاس، نمودار شی، نمودار جز و نمودار استقرار.

نمودارهای رفتاری: نمودار مورد کاربرد، نمودار فعالیت، نمودار، نمودار و نمودار حالت.

نرم افزار­های مورد استفاده در مدسازی UML:

Visio

Rational Rose

Argo UML

Visual Paradigm

فرستاده شده توسط: احمدرضا مرزوقی