دانلود تحقیق طراحی و پیاده سازی

Word 594 KB 32128 97
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • هر چه قابلیت ابزار را بشناسیم ابزار شناسی بهتر می شود .

    الگو ریتم های بهینه تر می شود .

    قدرت انتخاب زبانها بالا تر می رود .

    یادگیری زبانهای جدید آسان تر می شود .

    برای طراحی زبان جدید می توان از قابلیتهای زبانهایی که شناختیم استفاده کنیم و نقاط ضعف را رفع کنیم .

    (مانند java ) Attributes of a good language : ساختار زبان ساده و روشن و واضح (کد نویسی راحت باشد) سنخیت با آن طبیعت مسئله.

    orthognaliy (تعامل) قابلیت ترکیب دستور العمل ها و استفاده ازساختاریدر ساختارهای دیگر .

    مثال : A=b>3; if (a=b) استفاده یکassignment در ساختار if :Support for abstraction .4 data مجرد که ساخته میشود مهم نیست در کجا کار میکند و از محیط خارج مستقل است و محیط خارج هیچ دخل و تصرفی در بر نامه ندارد .

    به data type یک زبان هر چه لازم است می توان اضافه کرد .

    مثال : link list یک تایپ data type مجرد است .

    5.

    Ease of program verificatin ( تشخیص صحت برنامه ) : 6.

    programming enviroment : ( محیط مجتمع توسعه IDE که محیط های user friendly هستند ) 7.

    portability of programs : ( قابلیت حمل ) از یک دستگاه به دستگاه دیگر کار کند مانند زبان java .

    8.

    cost of use : ( هزینه اجرا ، هزینه ترجمه ، هزینه تولید ، هزینه نگهداری ) cost of program execution : برنامه سریع اجرا شود و کد بهینه وقت زیادی برای اجرا از cpu نگیرد .

    cost of program translation:مدت زمانی که compile کد تولید می کند زمان کمی باشد .

    مثال : pascal سریع تر اجرا می شود و کند تر compile می شود زیرا پاسکال بهینه سازی کد انجام می دهد ، زمان بیشتری می برد ولی c بر عکس .

    cost of program creation , testing and use : برنامه نویس سریعتر تویط زبان ، برنامه را تولید کند و تعداد برنامه نویس کمتری لازم باشد .

    cost of program maintenance : زبانی که توسعه و خوانایی بالاتری داشته باشد .

    مثال : pascal هزینه نگهداری کمتری دارد چون ، چند ماه بعد قابل فهم تر است .

    زبان خوب برای دانشجو زبانی است که هزینه compile پایین باشد .

    بستگی به معیارهای زبان برنامه نویسی مناسب مشخص می شود .

    Language paradiagms : Imperative languages : زبانهایی مانند : PLI ، Pascal ، c ، fortran زبانهایی که الگو ریتم ها را در غالب function ، procedure می نویسیم و هر procedure یک شرح وظیفه ای دارد که برنامه نویس کد آنرا می نویسد و مجموعه دستور العمل ها ، state ماشین ( موقعیت cpu و حافظه ) را تغببر می دهد .

    بعد از انجام هر دستور العمل نتیجه را در جایی بریزیم و ببینیم .

    ( procedural languages ) Applicative languages : زبانهایی مانند ML ، Lisp اساس کار function است و زبان با کار کردن این function به نتیجه کار می رسد.

    object- oriented programming : محور اصلی این زبان شی ها هستند و با استفاده از این زبان می توان data type پیچیده را از ترکیب data type های جدیدی بدست آورد .(link list : مجموعه ای از data type های ساده بدست آمده ) : Rule – based languages (شاخه ای از زبان توصیفی ) ساختار این rule ها دو بخش است : action validtion languages evtiarative : زبانهایی هستند که دانش (rule ، fact ) داخل آن توصیف می شود و از آنها برای پاسخگویی به یک سری پرسشها استفاده می شود .

    زبانهایی که دانش در خطوط برنامه مستقر است .

    زبان prolog اجازه داده می شود که دانش در قالب به صورت facts ، rules معرفی شود .

    جلسه دوم : Enviroment : محیطی که تحت آن برنامه نویسی انجام می شود و بر طراحی و پیاده سازی زبان تأثیر گذار است .

    در محیط dos ،می بینیم که زبان بر نامه نویسی هم تأثیر پذیر است به طور مثال در محیط dos ، mouse programming سخت است .

    درc و turbo pascal مشکل است با mouse کار کنیم باید driver موس را داشته باشیم و بعدا با intrupt ها ، mouse را کنترل کنیم .

    چون محیط اجازه کار با موس را راحت نمی دهد ، برنامه نویس باید با lintrupt این کار را پیاده کند .

    ولی همین c و pascal در ویندوز به علت وجود توابع و امکانات os اجازه کار با موس به راحتی امکان پذیر می سازد.

    اگر پاسکال در محیط ویندوز اجرا شود ( زبان Delphi) کار راحتتر است و با mouse می توان کار کرد .

    بنابراین محیط در feature هایی که می تواند در اختیار قرار دهد تاثیر گذار است ، مثلا در سیستمهای قدیمی که main frame بودند batch proccessing داشتند .

    batch proccessing: وقتی برنامه ای را برای اجرا می فرستیم در صفی قرار می گیرد تا نوبت به آن برسد .

    در آن وقت چند برنامه در صف قرار می گیرند و میتوانند با هم کار کنند .

    د ر آن وقت شروع به کار می کنند ، از زمانیکه در صف قرار می کیرند تا زمانیکه اجرا شود.userهیچ دخل و تصرفی نمی تواند به آن داشته باشد .

    برنامه برای اجرا فرستاده می شود و دیگر منتظر نمی ایستد که کاربر data ای را وارد کند ( توسط کی برد ) یا مثلا اطلاعاتی را روی صفحه ببینیم .

    بنا براین حالت interaction بین user و برنامه وجود ندارد .

    چون محیط اینطور است زبانهایی که تحت این محیط طراحی و پیاده سازی می شوند ، featureهایی مثل demo کارهای mouse و کارهایی که حالت interaction بین user و برنامه باشد دیده نمی شود .

    ( ارتباط بر قرار کردن و رد و بدل کردن اطلاعات : interaction ) .

    ولی در عوض بدلیل اینکه کار با دستگاههای جانبی مثل دیسکها و tape ها و کارتخوان و ...

    بیشر نیاز است ، featureهایی که بتواند با آنها کار کند بیشتر شده است .( مثل cobol در Dosvs) .

    یعنی محیط بسیار در طراحی زبان و feature هایی که آن زبان می تواند در اختیار کاربر بگذارد موثر است .

    در بعضی سیستمها ممکن است feature هایی لازم باشد که محیط نمی دهد ، زبان برنامه سازی باید آنرا شبیه سازی software simulation کند .

    برای طراحی و پیاده سازی زبان اولین کاری که باید بکنیم این است که چون می دانیم محیط روی زبان موثر است ، محیطی را که با این زبان قرار است کامپایل شود روی آن و یا محیطی که این زبان باید روی آن اجرا شود شناسایی کنیم .

    پس شناسایی اینکه روی چه دستگاهی عملیات کامپایل انجام شود و برنامه روی چه دستگاهی اجرا می شود اهمیت دارد..معمولا روی همان دستگاه که برنامه کامپایل می شود روی همان اجرا می شود .

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

    شکل Virtual Computer: AP PL OS BIOS AC یک لایه نازک نرم افزاری به اسم Bios که روی لایه Actual comp.

    قرار میگیرد .

    یک سری سرویسهای اولیه مربوط به ورودی و خروجی در آن قرار گرفته .

    این نما سطوح Virtuality را نمایش میدهد.

    وقتی کامپیوتر را روشن می کنیم قبل از اینکه سیستم عامل بالا بیاید Keyboard و Ram گراقیک روشن میشوند و hard چشمک می زند ، این سرویسها مربوط به bios است.

    یک لایه دیگر روی bios قرار میگیرد به نام os .

    این لایه یک سری امکانات بیشتر با خودش میآورد و از لایه زیرین (bios) یک سری امکانات را می گیرد و به لایه بالایی میدهد و خودش هم یکسری امکانات اضافه میکند .همین os مجموعه ای از managerها است ، بخاطر اینکه resurceها در این لایه محدود است .

    Cpu وI/O device ها همگی resurce هستند ، منابعی که برنامه ها از آن استفاده میکنند برای اینکه هرج و مرج رخ ندهد ، نیاز به برنامه ای است که کنترل کند و مدیریت resurce ها را انجام دهد .بنابراین لازم است os یک سری سرویسها از لایه های پایین گرفته و به لایه بالایی دهد و یک سری هم خودش( برنامه ای مانند storage management ) را اضافه کند .

    لایه بالاتر لایه programming language یا زبانهای برنامه سازی است .

    این لایه ای است که ما روی آن بحث می کنیم .

    این لایه سرویسهای لایه زیرین را گرفته و ضمن اینکه اگر نقاط ضعفی در لایه های پایینتر وجود دارد سعی می کند آن نقاط ضعف را برطرف نماید و سرویسها را به لایه های بالاتر منتقل می کند .

    لایه بالاتر ، لایه application program است که شامل برنامه هایی که می نویسیم ،است .مجموعه ای از لایه های زیرین ممکن است که مستقیما سرویسها را از لایه پایینتر نگیرد بلکه از لایه های زیرین بگیرد ( چند لایه پایینتر) .مثل اینکه در لایه application program مستقیما با یک پورت کار کند .

    یعنی مستقیما با یک پورت کار کند .یعنی مستقیما با لایه actual computer در ارتباط است.

    یا در یک application program از intrupt bios یا intropt os استفاده کنیم و یا از زبانی استفاده کنیم که خودش می داند چه کار بکند مثل توابع کتابخانه ای sin،sqrt ، که اینجا از لایه programming lang.

    استفاده کردیم.

    Actual comp.

    ای که اطرافش لایه های نرم افزاری است که سرویس دهی را بیشتر میکند تشکیل دهنده virtual comp.

    است .زمانیکه بخواهیم زبانی را طراحی کنیم باید بدانیم روی چه virtual comp.

    ای طراحی را انجام میدهیم .فقط actual comp.

    به تنهایی کفایت نمیکند"،باید بدانیم تحت چه سیستم عاملی است .اگر c++ را تحت dos روی ibm compatible پیاده سازی کنیم ، با زمانیکه تحت ویندوز پیاده سازی میکنیم متفاوت است.

    محیط روی feature های زبان تاثیر میگذارد.

    لایه های نرم افزاری واقعی نیستند .به همین دلیل به آن virtual comp.

    میگوییم و به لایه های آن virtuality levels می گوییم .

    بنابراین در زمان طراحی و پیاده سازی لازم است بدانیم virtual comp.

    مورد نظر چیست .

    ممکن است سطوح های computer virtual مستقیما feature را در اختیار زبان برنامه نویسی قرار ندهد .

    در آن وقت زبان برنامه نویسی سرویس ها را باید soft ware simulation کند .

    مثال :در کامپوتر های قدیمی 80286 ، 80386 ، sx 80486 ،8086 ،actual computer نمی توانست پردازشهای floating point را انجام دهد و زبانهایی که طراحی میشدند نمی توانستند محاسبات اعشاری را انجام دهند پس از software simulation استفاده می شد مثال :در کامپوتر های قدیمی 80286 ، 80386 ، sx 80486 ،8086 ،actual computer نمی توانست پردازشهای floating point را انجام دهد و زبانهایی که طراحی میشدند نمی توانستند محاسبات اعشاری را انجام دهند پس از software simulation استفاده می شد .

    مثلا : اگر با fortran برنامه ای که floating point processing داشت نوشتیم بنابر این به assemble code اش نگاه می کردیم از یک طرف function call استفاده شده بود که این function نرم افزاری ، این کار را انجام می دهد .

    (software simulation ) .

    بسته به computer virtual ای که زبان برنامه نویسی روی آن قرار گرفته سرویس داده می شود و هر چه قدر قوی باشد امکانات را از سطوح زیرین می گیرد و در اختیار سطوح بالاتر می گذارد و امکاناتی را که سطوح زیرین نمی دهد را program language همه سرویس ها را software simulation می کند .

    اگر بخواهیم زبانی را طراحی و پیاده سازی کنیم باید بدانیم لایه های زیرین آن چه feature هایی دارند و ما از کدامیک از آنها می توانیم استفاده کنیم و نیاز لایه بالایی را از feature های لایه پایین و بعلاوه software simulation برطرف می کنیم .

    Program language : زبانهای برنامه سازی دارای سطوح مختلف دارند : زبانهای سطح پایین مثل machin code ، اسمبلی ، macro زبانهای سطح بالا مثل pascal ، basic ، PLI ، cobol زبانهای سطح میانی مثل C زبانهای سطح خیلی بالا مثل SQL ، mathlab translator (مترجم ) interpreter (مفسر ) translater : با استفاده از یک سری روش ها و زبان ماشین پردازشی را روی زبان مبدأ با ساختار هایی که دارد به زبان مقصد با ساختارهای جدید انجام شود را translater می گویند .

    (زبان مقصد : زبان ماشین ) مترجم ها چند گروهند : compiler : زبانهای سطح بالا را تبدیل به زبان ماشین می کنند .

    assembler : زبانهای سطح پایین را تبدیل به زبان ماشین می کنند .

    فرق اسمبلر و کامپایلر : در اسمبلر تناظر یک به یک بین دستور العمل ها و machine code است ، یعنی اگر بخواهیم فعالیتی انجام دهیم assembly code است که میشود چندین خط در خط یک دستور العمل یک ماشین کد نوشت و تناظر یک به چند است .

    نحوه عمل

  • فهرست:

    ندارد
     

    منبع:

    ندارد


تحقیق دانش آموزی در مورد دانلود تحقیق طراحی و پیاده سازی, مقاله دانشجویی با موضوع دانلود تحقیق طراحی و پیاده سازی, پروژه دانشجویی درباره دانلود تحقیق طراحی و پیاده سازی

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

در این پروژه که طراحی یک سایت سفارش محصول توسط کاربر که مربوط به شرکت ابزاربندی خراسان است. شامل امکاناتی نظیرایجاد کاربر توسط Admin، ارسال مطلب و برقراری ارتباط با Admin و پیگیری پیشرفت کار توسط کاربر می باشد، سعی ما بر این بوده است که بر پایه برنامه نویسی وب پویا با استفاده از زبان اسکریپتی PHP و زبان های کلاینت ساید JavaScript و CSS، سیستمی طراحی کنیم که کاربر از راه دور ...

++C ++C یک زبان برنامه نویسی همه منظوره و سطح بالا است. ++C یک زبان چندرگه است که از برنامه نویسی رویه‌ای، تجرید داده‌ها و برنامه نویسی شئ گرا پشتیبانی می‌‌کند. ++C به همراه جد خود C از پرطرفدارترین زبانهای برنامه نویسی تجاری هستند. زبان برنامه‌نویسی ++C یک زبان برنامه‌نویسی کامپیوتری سطح بالا و عمومی (با کاربرد های متنوع) می باشد. این زبان از تمام روش های مرسوم برنامه نویسی از ...

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

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

در این مقاله بر کاربرد SQL Server 2000 و VB.NET به طور مختصر توضیحاتی خواهیم داد و هم چنین عملکرد نرم افزار کتابخانه را بررسی خواهیم نمود . SQL Server MS مرتباً سهم بیشتری از بازار را به خود اختصاص می دهد و یک سیستم مدیریت پایگاه داده رابطه ای سرویس گیرنده / سرویس دهنده است و یرایش Transact_SQL 2000 را به عنوان زبان SQL بکار می برد. یک پایگاه داده رابطه ای از چندین جدول حاوی ...

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

This HOWTO document explains how to set up your server to allow CGI programs written in Java and how to use Java to write CGI programs. Although HOWTO documents are targetted towards use with the Linux operating system, this particular one is not dependant on the particular version of unix uses. این مدارک How To چگونگی تنظیم سرور برای میسر ساختن برنامه های CGI نوشته شده به زبان ...

Because of the way that Java is designed the programmer does not have easy access to the system’s environment variables. Because of the way that the Java Development Kit (JDK) is set up, it is necessary to use multiple tokens to invoke a program, which does not mesh very well with the standard HTML forms/CGI manner of operations. There are ways around these limitations, and I ...

به دلیل روشنی کهJava طراحی می شود، برنامه نویس دسترسی آسان به متغیرهای محیط سیستم ندارد. به دلیل روشی که جعبه توسعه (JDK) تنظیم می شود، استفاده از نشانه های چندگانه در استنتاج یک برنامه جدید ضروری است که به خوبی با قالب های استاندارد HTML روش CGI عملیات ها مطابقت ندارد. راه هایی در این محدودیت ها وجود دارد، یکی از آنها را پیاده سازی کردم. بعداً جزئیات را مطالعه کنید. از آنجا که ...

ثبت سفارش