علوم کامپیوتر دانشگاه اصفهان

علوم کامپیوتر دانشگاه اصفهان
طبقه بندی موضوعی

سلام


دانش - جوهای گرامی هر کس هر pdf ی از این کتابهایی که اساتید محترم فرمودند رو پیدا کرد آدرس دانلودش رو بفرسته تا برای دانلود بزاریم همینجا تا همه استفاده کنند .... البته هر فایل مرتبط دیگه ای هم پیدا کردین رو هم بفرستد..

باتشکر از بچه های فعال رشته مون

۱ نظر موافقین ۱ مخالفین ۰ ۱۵ بهمن ۹۲ ، ۲۳:۵۰
سعید جزی
با توجه به اینکه دیدم خیلی از دوستان در این مورد سوال دارند دلم نیومد این مقاله ارزشمند رو اینجا نزارم :

در معماری چند لایه تمام برنامه به چندین بخش تقسیم می‌شود. این بخش‌ها می‌توانند فیزیکی یا منطقی باشند. هر بخش کار خاصی را انجام می‌دهد مثلا نمایش interface کاربر یا دسترسی به داد‌ه‌ها. برنامه می‌تواند به هر تعداد لایه داشته باشد ولی به هر حال بیش‌تر برنامه‌ها سه لایه‌ی مجزا دارند که عبارت‌اند از:


Presentation Layer
Business Logic Layer
Data Access Layer


همان‌طور که احتمالا حدس زده‌اید، لایه‌ی Presentation چیزی نیست به جز بخشی از نرم‌افزار که با کاربر برنامه‌ی شما ارتباط برقرار می‌کند (interface برنامه‌ی شماست). نمایش داده‌ها به کاربر نهایی و اجازه به آنان برای ارتباط داشتن با داده‌ها، اصلی‌ترین وظیفه‌ی این لایه است.

در بیش‌تر موارد، داده‌هایی که توسط کاربر وارد می‌شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسؤولیت لایه‌ی Business Logic است.

در نهایت داده‌های برنامه‌ی شما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند (مثلا سیستم مدیریت DataBaseهای رابطه‌ای یا RDBMS و یا XML و ...) این وظیفه توسط لایه‌ی دسترسی به داده انجام می‌شود.

به‌طور خلاصه، فرایند مورد نظر ما این‌گونه کار می‌کند:

- کاربر برای داده‌های برنامه، درخواستی ارسال می‌کند.

- لایه‌ی Data Access داده‌های مورد نظر را بازیابی می‌کند و از طریق لایه‌ی Business Logic آن‌ها را به لایه‌ی نمایش می‌فرستد. بعضی مواقع لایه‌ی دسترسی به داده‌ها، این داده‌ها را مستقیما به لایه‌ی نمایش ارسال می‌کند.

- لایه‌ی نمایش اطلاعاتی که باید نمایش داده شوند را از طریق لایه‌ی Business Logic دریافت می‌کند.

- کاربر داده‌ها را تغییر می‌دهد و عمل مناسب در مورد آن‌ها را اجرا می‌کند (مثل اضافه یا به‌روز کردن داده‌ها)

- لایه‌ی Business Logic صحت داده‌های وارد شده توسط کاربر را بررسی می‌کند (داده‌ها را اعتبارسنجی می‌کند)

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



مزیت‌های برنامه‌های چند لایه

- برنامه‌ها به چند بخش منطقی جدا از هم تقسیم می‌شوند و اتصال میان UI (رابط کاربری)، پردازش‌ها و بانک اطلاعاتی کم می‌شود.

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

- برنامه‌ی کلاینت با عبارات SQL آمیخته نخواهد شد.

- نام جداول و ستون‌ها به‌طور مؤثری از برنامه‌ی Client حذف می‌شوند.

- برنامه‌ی Client نمی‌فهمد که داده‌ها از کجا آمده‌اند (چیزی که به آن Location Transparency گفته می‌شود)

- تغییر یا گسترش برنامه بسیار ساده‌تر خواهد شد، بدون نیاز به تغییر یا کامپایل مجدد برنامه‌ی Client.

نکته‌ی منفی در معماری چند لایه این است که شما باید تعداد زیادی بخش‌ها و کلاس‌های ازهم جدا در نرم‌افزار بسازید. اما به هر حال مزایای این روش بیش‌تر و برتر از معایب آن است.



انتخاب‌های لایه‌ی Presentation

دو انتخاب اصلی برای ساخت یک لایه‌ی نمایش در دات نت وجود دارد. آن‌ها فرم‌های ویندوزی یا فرم‌های وبی ASP.NET هستند.

با استفاده از ویندوز فرم‌ها شما می‌توانید برنامه‌های دسکتاپ فرم محور (Form Base) معمول را بسازید. برنامه‌های ویندوز فرمی می‌توانند المان‌های رابط کاربری بسیار غنی به‌کاربر پیشنهاد کنند. آن‌ها کم و بیش شبیه به فرم‌های ویژوال بیسیک هستند.

جذاب‌ترین گزینه برای توسعه‌ی لایه‌ی نمایش استفاده از وب فرم‌های ASP.NET است. کنترل‌هایی مثل: دیتاگرید، دیتالیست و تقویم (Calendar) یک رابط کاربری قدرتمند را با مقدار کمی کد فراهم می‌کنند.

انتخاب‌هایی که در بالا برای ساخت یک لایه‌ی نمایش بررسی کردیم می‌توانند توسط زبان‌های مختلفی مثل C#Visual Studio.Net پیاده‌سازی شوند.


انتخاب‌های لایه‌ی Business Logic

لایه‌ی Business Logic از چندین بخش که کارهایی نظیر اعتبار سنجی کار، گردش کار یا کارهای مشابه را انجام می‌دهند تشکیل شده است.

Componentهای .Net این لایه را شکل می‌دهند. شما می‌توانید با Interop از Componentهای COM استفاده کنید ولی این کار کارایی را پایین خواهد آورد.

وب‌سرویس‌های ASP.NET هم می‌توانند به‌عنوان یک Business Logic عمل کنند. اما به هر حال آن‌ها را نمی‌توان در همه‌ی شرایط به‌عنوان جایگزین Componentها به‌کار برد. وب‌سرویس‌ها تنها زمانی قابل استفاده خواهند بود که اعتبارسنجی در جایی بیرون از شبکه‌ی شما اتفاق افتاده باشد.

Componentهایی که توسعه می‌دهید به ماندن روی ماشین‌های مشابه نیازی ندارند. با استفاده از دات NET Remoting می‌توانید آن‌ها را روی چندین ماشین توزیع کنید.


انتخاب‌های لایه‌ی Data Access

این لایه با دستکاری داده‌ها مثل اضافه، حذف و به‌روز رسانی آن‌ها سر و کار دارد. داده‌هایی که به آن‌ها اشاره کردیم می‌توانند در RDBMS یا XML قرار داشته باشند. شما باید لایه‌ی دسترسی به داده را چنان طراحی کنید که دیگر لایه‌ها نیازی به دانستن وضعیت انبار داده‌ها نداشته باشند.

ADO.NET فناوری دسترسی به داده‌ی تحت دات .Net است. اگر چه ADO.NET از طریق کلاس‌های DataReader اجازه‌ی دسترسی به داده‌های در هنگام اتصال را می‌دهد ولی بیش‌ترین تمرکز روی دسترسی به داده‌ها در زمان متصل نبودن است. DataSet نقش کلیدی را در این مورد بازی می‌کند. در بعضی موارد می‌توانید ADO را هم برای دسترسی به داده‌ها استفاده کنید ولی استفاده از آن باید دلیل معتبری داشته باشد. از ADO استفاده نکنید فقط به خاطر این‌که RecordSetها را دوست دارید!

این‌جا هم Componentهای .Net لایه را تشکیل می‌دهند. همان‌طور که قبلا گفته شد می‌توانید از Componentهای کلاسیک COM هم استفاده کنید.

هم‌چنین وب‌سرویس‌ها هم می‌توانند لایه‌ی دسترسی به داده را شکل دهند. این مخصوصا زمانی درست است که DataBase شما فراهم‌کننده‌ی (Provider) داده ندارد. در این‌گونه موارد شما می‌توانید مقداری کد برای اتصال به داده‌ها و پر کردن DataBaseها و بازگرداندن نتایج درون DataSet به درخواست‌کننده‌ی داده بنویسید.

علاوه بر ADO.NET شما می‌توانید از امکانات سیستم مدیریت DataBase خود مثل توابع و یا روال‌های ذخیره شده (Stored Procedures) استفاده کنید.



ارسال داده از یک لایه به لایه‌ی دیگر


در تمام موارد به ارسال اطلاعات از یک لایه به لایه‌ی دیگر نیاز است؛ به‌طور معمول برنامه‌نویسان از رشته‌ها، آرایه‌ها، RecordSetهای غیرمتصل برای رسیدن به این هدف استفاده می‌کنند. در .Net ، DataSetها یک راه فوق‌العاده برای انتقال اطلاعات میان لایه‌ها فراهم می‌کنند. شما حتی می‌توانید با برنامه‌نویسی یک DataSet بسازید و آن را با داده‌های خودتان پر کنید. اگر اشیا را خیلی دوست دارید می‌توانید از Typed DataSets استفاده کنید که در واقع کلاسی مشتق شده از کلاس DataSet است که جداول و سطرها را به شکل یک شی معرفی می‌کند.



۲ نظر موافقین ۲ مخالفین ۰ ۰۳ بهمن ۹۲ ، ۱۰:۵۵
سعید جزی
لطفا با توجه به سیستم عامل خود و نوع آن انتخاب فرمایید:


Modelio 3.0.1 - Windows 32-bit (183.06 MB)

Modelio 3.0.1 - Windows 64-bit (183.14 MB)


Modelio 3.0.1 - Linux 64-bit (181.39 MB)

Modelio 3.0.1 - MacOS X (159.57 MB)

********

وب سایت نرم افزار: www.modelio.org
۰ نظر موافقین ۰ مخالفین ۰ ۲۹ آبان ۹۲ ، ۲۲:۵۷
سعید جزی
۱ نظر موافقین ۰ مخالفین ۰ ۱۲ آبان ۹۲ ، ۱۷:۱۱
سعید جزی
با سلام

هرکسی  (cs ی )که مایل به نوشتن مطلب در این وبگاه هست پیام بزاره و توش نام و ایمیل و شماره ش رو بنویسه تا براش دعوتنامه بفرستم...

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

این نکته رو هم بگم که تو دعوتنامه محدودیت وجود داره ...



۱ نظر موافقین ۰ مخالفین ۰ ۰۶ آبان ۹۲ ، ۱۶:۰۷
سعید جزی
برای دریافت  اینجا کلیک کنید....


۱ نظر موافقین ۲ مخالفین ۰ ۰۱ آبان ۹۲ ، ۱۷:۵۲
سعید جزی
با سلام
این pdf های اولیه ای که استاد زائری برای بچه ها تدارک دیدند
۱ نظر موافقین ۰ مخالفین ۰ ۲۴ مهر ۹۲ ، ۱۱:۲۱
سعید جزی

بنا به درخواست بعضی از بچه فایل های ساختمان داده سال 1391 استاد مهدور را به مرور آپلود کرده و در همین پست قرار میدهم.



3-آرایه

5-لینک لیست

6- استک

7-صف

۱ نظر موافقین ۱ مخالفین ۱ ۲۱ مهر ۹۲ ، ۲۰:۴۳
سعید جزی


داستان به ۴۰ سال پیش، یعنی زمانی بر می گردد که نه از اپل خبری بود و نه از سامسونگ، گوگل یا فیسبوک. در آن تاریخ مایکروسافتی هم وجود نداشت. بیل گیتس و پاول آلن تنها دو تن از گیک های ریاضی دانشگاه هاروارد بودند که رویای ساختن یک کامپیوتر خانگی را در سر داشتند.

گیتس انگیزه پیدا می کند

زمستان ۱۹۷۴ بود که پاول آلن در حالی که آخرین نسخه مجله "پاپیولار الکترونیکس" را در دست داشت، به خوابگاه بیل گیتس سر زد. خبر جالبی در آن نسخه از مجله بود که برای هر دوی آن ها بسیار مهم بود. شرکتی به نام "ام آی تی اس"، واقع در البوکرکی، موفق شده بود یک کامپیوتر خانگی به نام Altair بسازد.
آلن در حالی که به رویای زندگی شان یعنی برپایی انقلاب کامپیوترهای خانگی اشاره می کرد، گفت: «این ها بدون ما این کار را کرده اند.» از آن روز به بعد، این دو نفر به مدت ۸ هفته از عالم و آدم بریده و غرق کدنویسی شدند.

از وقتی گیتس خبر ساخت میکرو کامپیوتر Altair را شنیده بود، کیبورد از دستش در امان نبود. او در این باره گفته:

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

گیتس به دنبال گسترش ارتباطاتش

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

گیتس سخت تلاش می کند

گیتس در آن زمان شاید تا ۳۶ ساعت پیاپی به کدنویسی می پرداخت و از پای کیبورد بلند نمی شد. آلن در مورد سخت کوشی گیتس این گونه می گوید:

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

گیتس ریسک را می پذیرد و برنامه اش را ارائه می دهد

بالاخره آلن در حالی که نوار پانچ شده کد ها را به همراه داشت، به شرکت ام آی تی اس رفت. والتر آیزاکسن (نویسنده زندگینامه استیو جابز) از نشریه هاروارد، صحنه را این گونه توصیف می کند:

وقتی آلن به ام آی تی اس رسید، کلیدهای میکروکامپیوتر Altair را روشن کرد، ده دقیقه صبر کرد تا کدها از روی نوار بارگذاری شود. کارمندان ام آی تی اس در حالی که به آلن خیره شده بودند، نگاه های معناداری به هم می کردند.

ناگهان در کامپیوتر عبارت "?MEMORY SIZE" ظاهر شد. یکی از اعضای ام آی تی اس فریاد زد: «یک چیزی تایپ شد!» آلن که ذوق زده شده بود هم در جواب تایپ کرد: "7168". کامپیوتر پاسخ داد: "OK."، آلن تایپ کرد "PRINT 2+2 ".... کامپیوتر پاسخ داد: "4".
این بزرگترین ایده ای بود که بیل گیتس به سرانجام رساند. ممنون بیل.
۰ نظر موافقین ۱ مخالفین ۱ ۲۱ مهر ۹۲ ، ۱۹:۴۸
سعید جزی