طراحی وب
 
دانلود فیلم های آموزشی برنامه نویسی دات نت
 
 
یکی از سریعترین راه های آموزش زبان های برنامه نویسی، تماشای فیلم های آموزشی است.

آموزش دات نت


سایت LearnVisualStudio.net معروف ترین منبع دانلود فیلم های آموزشی زبان های برنامه نویسی مایکروسافت است. در این سایت برای کلیه زبان های برنامه نویسی مایکروسافت مانند VB.net و C-sharp و ASP.net فیلم های متعددی از سطح مقدماتی تا پیشرفته وجود دارد.اما برای دانلود آنها شما باید عضو شوید و هزینه های سالانه عضویت را بپردازید.

اما دانلود فیلم های آموزش برنامه نویسی این سایت بصورت رایگان از شبکه های تورنت امکان پذیر است.
(آموزش دانلود از تورنت )

دانلود فیلم های آموزش Visual C# 2005
 
دانلود چندین فیلم آموزش ویژوال استودیو شامل :
Visual Studio .NET Proficiency
Beginning VB.NET
Object Oriented VB.NET
Beginning C#
ADO.NET
Visual Studio .NET XML Designer
ASP.NET Web Forms
ASP.NET Web Form Controls
WinForms
ASP.NET Data Binding In VS.NET
Configuration, Deployment and Security
ASP.NET Web Services
.NET Remoting Series
IBuySpy Portal Series
ASP.NET Web Matrix
Crystal Reports
Others
ASP.NET Server Controls
.NET Framework Threading

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

 
  نظر شما   
1388/03/09
نویسنده : حسین شرفی
 
     

روش های مهندسی توسعه نرم افزار
 
 
با بزرگ شدن پروژه های نرم افزاری  و پیشرفت علم مهندسی نرم افزار ، روش های سازمان یافته ای برای توسعه نرم افزارها ابداع شد که هر کدام بسته به نوع پروژه و محدودیت های آن در جای خاصی کاربرد دارد. برخی روش ها مانند R.A.D به دلیل کمبود زمان تولید، برخی مانند spiral به دلیل مشخص نبودن نیازمندی های اولیه نرم افزار و برخی مانند X.P برای کسانی که کار طراحی نرم افزار را با کدنویسی شروع میکنند ابداع شدند. ایجاد پروژه های بزرگ بدون بکارگیری یکی از روش های مهندسی نرم افزار ممکن نیست.

1 - روش آبشاری (waterfall) : این روش اولین روش مهندسی نرم افزار محسوب میشود و گاهی آنرا روش سنتی نیز می‌نامند. هر روش مهندسی معمولا شامل 5 پروسه اصلی است که عبارتند از آنالیز سیستم، طراحی سیستم، کدنویسی و اجرا، تست و تحویل و پشتیبانی . این 5 پروسه در روش آبشاری به ساده ترین شکل بیان میشوند. بدین ترتیب که هر فاز از پروسه ی کلی، انجام میشود و بعد فاز بعدی آغاز میشود. این روش در پروژه هایی کاربرد دارد که فاز اول که آنالیز است توسط مهندس نرم افزاری که کار تحلیل را بر عهده دارد کاملا شناخته شود و طراح کاملا نیازمندی های سیستم مربوطه را بداند تا در فاز بعدی بتواند طراحی معماری سیستم را آغاز کند. در عکس زیر نمودار عملیاتی روش آبشاری را مراجعه میکنید. گرچه در هر مرحله امکان برگشت به مرحله قبل گنجانده شده، اما این برگشت هزینه ی بسیاری را بر دوش تیم نرم افزاری میگذارد. زیرا هر تغییر در مرحله قبل، میتواند باعث شود تا پروژه در فاز بعدی نیازمند شروع از ابتدا باشد.
مهندسی نرم افزار. روش آبشاری

2 - روش افزایشی (Incremental): این روش برای زمانی است که نیازمندی های نرم افزاری که باید نوشته شود تشخیص داده شده است ، اما امکان استفاده از روش رو به جلوی آبشاری وجود ندارد.به همین دلیل با ترکیب چند پروسه ی آبشاری، روش افزایشی ایجاد میشود. بطور مثال شما میخواهید یک نرم افزار مانند word بنویسید. در هر مرحله بخشی از نرم افزار را از آنالیز تا پیاده سازی و تست پیش می برید و بار بعدی امکانات جدیدی را در نظر میگیرید تا به نرم افزار اضافه کنید. امکانات ضروری تر در اولویت بالاتر اجرا قرار می گیرند.
 
روش های مهندسی نرم افزار - افزایشی

 
3روش R.A.D این روش زیر مجموعه روش افزایشی است و بر روی چرخه ی کوتاه مدت تولید نرم افزار تاکید دارد. در این روش از برنامه نویسی با استفاده از کامپوننت های آماده بیشترین بهره را می بریم تا سرعت تحویل پروژه را افزایش دهیم . معمولا پروژه هایی با این روش اجرا میشوند که کمتر از 90 روز وقت می گیرند و برای افزایش سرعت از تیم های موازی نیز برای اجرا کمک میگیریم تا هر تیم بخشی از نرم افزار را اجرا کند و نهایتا آن بخش ها را با هم یکپارچه میکنیم. با توجه به اهمیت سرعت در این مدل ، افراد تیم باید همگی زبده باشند تا بتوانند بدون هدر رفتن وقت پروژه را در موعد مقرر تحویل دهند. همانطور که در تصویر زیر میبینید پروژه توسط چند تیم در حال پیشبرد است: 
http://cmasyta.files.wordpress.com/2007/09/radmodel.gif
 
 
4 - روش الگویی (prototyping) : این روش معمولا زمانی بکار گرفته میشود که مشتری مجموعه ای از نیازها را بیان میکند ، اما از ورودی و خروجی ها و الگوریتم های داخلی اش اطلاع کافی ندارد. با توجه به اینکه معمولا اولین نسخه ی هیچ نرم افزاری کامل نیست و نیازمند بازنگری است، این روش با چرخه ی تولید و تست خود باعت میشوند ایرادات نرم افزار استخراج و رفع شود. اما گاهی خارج شدن از این سیکل (با توجه به بالارفتن سطح توقع مشتری) سخت میشود.
 
مهندسی نرم افزار
 
 
 5 - روش حلزونی (spiral) : این روش ترکیبی از روش سیستماتیک آبشاری و روش prototyping است. در این روش نرم افزار طی چندین نسخه ی ارائه شده به تکامل می رسد. در هر مرحله ریسک های پروژه با جزئیات بررسی میشوند. همانطور که درنمودار زیر میبینید، کلیه ی مراحل انجام پروژه در هر گردش در سایز بزرگتری اجرا میشوند.
 
http://rpl07.files.wordpress.com/2007/06/53.gif
 
  6 - روش مهندسی همزمان (concurrent development) : این روش شامل یکسری فاز اجرایی است. هر فاز خود شامل یکسری وضعیت (state) است. هر یک از اینstate ها بر اساس event هایی که برایشان تعریف میکنیدم تغییر میکنند و به وضعیت دیگری می روند. در عکس زیر بخش آنالیز را در این مدل مهندسی مشاهده میکنید. اگر در موقعیت development   باشیم و تغییری در نیازمندی های تعریف شده توسط مشتری ایجاد شود، به وضعیت awaiting changes می رویم. زیرا تغییراتی در ساختار پروژه ایجاد شده که میتواند منجر به تغییر در فاز development شود. این روش معمولا برای نرم افزارهایی که بصورت کلاینت سروری کار میکنند بکار می رود. 
 
http://pics.livejournal.com/silversuck/pic/00004k7w/s320x240

 
علاوه بر مدل های مهندسی نرم افزار فوق، روش های دیگری مانند XP ، Clean Room ، component-based ، Agile و غیره وجود دارند. که هر یک در جای خود قابل استفاده هستند. اما روش های فوق متداول ترین مدل هایی هستند که بکار گرفته میشوند. 
 
  نظر شما   
1388/02/16
نویسنده : حسین شرفی
 
     

نرم افزار های مهندسی نرم افزار - رسم Usecase ، DFD ، ERD
 
 
یکی از مهم ترین نیازهای دانشجویان و مهندسین نرم افزار ، نرم افزارهایی جهت ساده تر کردن کار مدل سازی داده ها و نیز تحلیل و طراحی و نمایش گرافیکی سیستم های نرم افزاری است.

شرکت Sybase یکی از بزرگترین شرکت های سازنده‌ی ابزارهای مهندسی نرم افزار است که برای مدل سازی داده ها، نرم افزار قدرتمند Sybase PowerDesigner را ارائه کرده است. این نرم افزار زبان مدلسازی UML را نیز پشتیبانی میکند و با 60 دیتابیس مختلف نیز خروجی می دهد. این نرم افزار همچنین با اکثر محیط های برنامه نویسی مانند دات نت ، جاوا ، اکلیپس و ... میتواند تعامل داشته باشد.

 
دانلود نسخه 12.5پاور دیزاینر از رپیدشیر (دو فایل - کلا 130 مگابایت):
http://rapidshare.com/files/71587202/SPDv12.5.part1.rar
http://rapidshare.com/files/71592665/SPDv12.5.part2.rar


نرم افزار  مدل سازی بانک اطلاعاتی:
یکی دیگر از نرم افزارهایی که میتوانید برای مدل سازی داده ها استفاده کنید، نرم افزار Case Studio از شرکت QUEST است:


این محصول جدیدا با نام Toad Data Modeler ارائه میشود. این نرم افزار برای طراحی دیتابیس امکانات بسیار خوبی دارد. از جمله :
  • تولید ERD
  • تولیدکد برای تمامی دیتابیس های معروف مانند Access , Oracle , SqlServer , MySQL
  • مهندسی معکوس
  • امکان تبدیل مدل منطقی به مدل نهایی
  • پشتیبانی از یونیکد
  • ایجاد تمامی موجودیت هایریز دیتابیس مانند پروسیجر، تریگر ، view ، فانکشن ها و غیره
دانلود نسخه 2.22 نرم افزار CaseStudio
 
  نظر شما   
1387/09/23
نویسنده : حسین شرفی
 
     

وب 2 چیست؟
 
 

وب 2 و معرفی استانداردهای طراحی

وب 2        با افزایش کاربرد های وب ، طراحان وب روش های جدیدی را در ایجاد وب سایتها به کار بستند که باعث راحت تر شدن دسترسی به داده ها برای کاربر و مشارکت کاربر در ایجاد داده ها میشود. نمونه بسیار روشنی از این سایت ها Wikipedia است که توسط کاربرانش گسترش پیدا میکند و مدیران این سایت فقط محیطی را برای استفاده از توانایی های کاربران فراهم میکنند.

       مفهوم وب2 اولین بار در یک همایش توسط معاون موسسه oreilly مطرح شد. آنها به دنبال نسل جدیدی از وب بودند که بتواند جذاب، کاربردی و قابل گسترش باشد. اینگونه بود که کنفرانس وب2 شکل گرفت و بحث های زیادی پیرامون این پدیده مطرح شد. امروزه جستجوی این عبارت در گوگل بیش از 10 میلیون نتیجه را بر می‌گراند.

 

مقایسه چند سرویس وب دویی با رقبای های وب یک آنها:

  • Wikipedia یک سایت وب دویی است، یک دایره المعارف که هیچ مولف خاصی ندارد و با نیروی کاربرانش گسترش پیدا میکند. اما دایره‌المعارف بریتانیکا یک سایت وب محسوب میشود. زیرا تعداد بسیار محدودی مولف هستند که مقالات این سایت را به روز میکنند و بر روی سایت قرار می دهند.
  • سایت Last.fm یک سایت وب دویی است. اما MP3.com یک سرویس وب یک محسوب میشود. در سایت Last.fm این کاربران هستند که برای خوانندگان بیوگرافی درست میکنند ، عکس های خوانندگان را روی سایت قرار می دهند، به آهنگ ها امتیاز می دهند ومیزان محبوبیت آهنگ های یک خواننده  را مشخص میکنند. اما در سایت mp3.com پروسه های مذکور توسط مسئولان سایت انجام میشود.
  • در سرویس های آپلود عکس قدیمی، دسته بندی عکس ها بر اساس دایرکتوری های آنها مشخص میشد. اما در سرویس های جدید TAG ها (کلمات کلیدی مرتبط) هستند که باعث دسته بندی عکس ها میشوند. با وجود این سیستم هر عکس می تواند مرتبط با چندین کلمه باشد. در حالی که در دایرکتوری‌ها هر عکس فقط با یک موضوع در ارتباط بود. Flickr.com نمونه ی بارزی از یک سایت عکس با نگرش وب2 است.
  • در سرویس های اشتراک فایلی قدیمی ، چندین سرور وجود داشت که امکان دانلود را برای کاربران فراهم میکرد. اما در سرویس های جدید ، هر کسی که فایل را دانلود میکند خودش تبدیل به سروری برای دیگران میشود و بطور ناخودآگاه وظیفه ی سرور ها را کاربران به عهده گرفته اند. Bittorent نمونه ی روشنی از این سرویس جدید است. هر کاربر با اتصال به شبکه‌ی بیت تورنت، از روی رایانه‌ی دیگر کاربران شروع به دانلود میکند و رایانه‌ی خودش نیز تبدیل به یک سرور برای دیگر کاربران میشود.

 

وب یک پلتفرم است

     یکی از مهم ترین اصول وب2 ، نگاه کردن به وب بعنوان یک پلتفرم است. بر اساس تحقیقات یک شرکت آمریکایی ، بیش از یک میلیارد کاربر در سراسر جهان هستند که رایانه شخصی و به دنبال آن سیستم عامل، نرم افزارهای کاربردی آفیس، و حتی فضایی جهت نگه داری فایل هایشان ندارند، اما کاربر اینترنت هستند و با استفاده از Device های گوناگون مانند موبایلشان و یا با استفاده از کافی‌نت کارهای خود را انجام میدهند. وب2 به نیازهای این افراد پاسخی مستقیم داده است.

     سرویس هایی مانند Google Docs و Zoho.com امکان داشتن نرم افزار Office آنلاین را فراهم کرده اند. سایت های بسیار زیادی برای نگه داری فایل ها تحت وب وجود دارند که نیاز این افراد را به هارد شخصی مرتفع کرده اند، سایت هایی مانند Delicious.com امکان نگه داری بوکمارک های هر فرد را بر روی وب فراهم میکنند. و حتی سایت های متنوعی امکان ویرایش عکس را بر روی اینترنت بوجود آورده اند که این افراد را از داشتن یک نرم افزار ویرایشگر عکس مانند Photoshop بی نیاز میکنند.

    همانگونه که می بینید، وب2 باعث بی نیاز شدن  بسیاری از کاربران از داشتن سیستم عامل شخصی شده است. اینجا بود که مفهومی بنام سیستم عامل جهانی شکل گرفت. کاربران با داشتن یک مرورگر روی هر دستگاهی، و با اتصال به اینترنت میتوانند از کلیه سرویس های لازم جهت کارهای روزمره خود بهره گیرند.

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


اهمیت داده ها

     ارزش داده ها در وب2 همان چیزی است که باعث رشد یک سایت میشود. آنچه ویکی پدیا را امروز به اینجا رسانده است، داده هایی است که کاربران در طول مدت زمان طولانی در این سایت وارد کرده اند. این موضوع را در سایت هایی مانند Amazon.com در زمینه ی فروش کالا و کتاب ، در سایت Last.fm در مورد آثار موسیقی، در Flixster.com در زمینه ی سینما ، در Google Maps در زمینه ی نقشه های شهرها و در بسیاری دیگر از سایت های وب2 میتوان مشاهده کرد.
     گوگل از کاربران سرویس
MAPS برای نامگذاری خیابان ها و کوچه های نقشه هایش استفاده میکند. به همین دلیل است که امروز شما می توانید حتی به فارسی  "برج میلاد" را در این سرویس جستجو کنید و این منطقه از شهر را روی نقشه های گوگل مشاهده کنید. و در مقابل میتوانید مدرسه ی دوران کودکی خود را روی نقشه بیابید و نام مدرسه تان را روی نقشه وارد کنید. روزگاری شرکت MapQuest بزرگترین مرجع نقشه های جهان به شمار می رفت. اما گوگل با استفاده از نیروهای کوچک جمع بزرگی از کاربرانش ، گوی سبقت را از شرکت MapQuest ربود.

 

طراحی رابط کاربری پویا

      بارز ترین شاخصه‌ی یک سایت وب دویی، داشتن رابط کاربری قدرتمند است. استفاده از روش های جدید و ترکیب تکنولوژی های موجود مانند Ajax  CSS , xml , HttpRequest  و  Javascript باعث بهبود سرعت و افزایش کارایی بسیاری از وب سایت ها شده است. بطور مثال میتوان از سرویس Gmail گوگل در این مورد نام برد که رابط کاربری بسیار سریع و پویایی را در مقایسه با سایر رقبایش ارائه کرد و باعث بدست آوردن محبوبیت در میان کاربران شد.

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

 وب 2

سرویس های وب 2 از شما یاد می گیرند.

      سرویس های وب 2 برای وقت کاربرانشان ارزش زیادی قائلند و شما را در پروسه هایی مانند ذخیره سازی داده هایتان بهتر یاری میکنند. بطور مثال شما در جیمیل نیازی به ذخیره کردن ایمیل افرادی که برای شما یکبار ایمیلی زده اند ندارید. زیرا هر آدرس ایمیلی که دریافت میشود بطور اتومات در دفترچه ایمیل های شما ذخیره میشود و هنگامی که نیازمند ارسال ایمیل به یکی از دوستان خود هستید، کافیست ابتدای نام او را تایپ کنید تا جیمیل از بین هزاران ایمیل ثبت شده، ایمیل مورد نظر را نمایش دهد. همچنین اگر چند دوست همنام دارید که بیشتر به یکی از آنها ایمیل می زنید، هنگام تایپ نام آنها ، جیمیل ایمیل دوستی را که بیشتر برایش ایمیل زده اید بالاتر از بقیه نمایش می دهد.

      قابلیت یادگیری سرویس های وب2 در بخش جستجوی گوگل نیز قابل مشاهده است. گوگل نتایج جستجوی شما را ذخیره میکند و هنگامی که یک مدخل جدید را جستجو میکنید ، گوگل آنرا با موضوعات و مطالب قبلی تان مقایسه میکند و تا جای ممکن نتایج را بر اساس سلیقه شما مرتب کرده و نمایش میدهد.

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

 

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

با نگاهی بر مقاله ی وب 2 نوشته ی تیم اوریلی

 
  نظر شما   
1387/09/15
نویسنده : حسین شرفی
 
     

مقالات آموزشی

مقالات آموزشی

rss feed