فصل اول
کلیات
1- 1 مقدمه :
یک سایت می تواند نقش یک بروشور تبلیغاتی را برای شما بازی کند حتی با امکاناتی بسیار بیشتر از یک بروشور ساده. شما با استفاده از یک سایت اینترنتی می توانید به راحتی محصولات خود را به بازدید کنندگان خود معرفی کنید، آنها را از آخرین تغییرات مطلع کنید، اطلاعات مورد نیاز آنها را در اختیارشان قرار دهید و یا حتی نظرات و پیشنهادات آنها را جمع آوری کنید. حتی می توان با ایجاد یک انجمن گفتگو در سایت به سایرین اجازه داد نظرات خود را اعلام کنند و به نظرات دیگران پاسخ دهند. از یک سایت اینترنتی می توان برای ایجاد ارتباط مؤثر میان اعضای یک سازمان هم استفاده کرد به صورتی که هر یک از اعضا در هر جا که باشند بتوانند به اطلاعات مورد نیاز خود از طریق سایت سازمان دسترسی پیدا کنند، از آخرین اخبار مطلع شوند و آخرین تغییرات را مشاهده کنند.
در حقیقت می توان از یک سایت اینترنتی به عنوان بخش مهمی از سیستم اطلاعاتی داخل سازمان استفاده کرد و هر گروه از افراد به اطلاعات مربوط به سطح سازمانی خود دسترسی داشته باشند. یعنی اطلاعاتی که کارمندان از سایت دریافت می کنند متفاوت با اطلاعات مدیران و همچنین متفاوت با اطلاعاتی باشد که بازدید کنندگان خارج سازمان از سایت دریافت می کنند.
یک وب سایت راهی مناسب برای ارائه اطلاعات مختلف در مورد کالا هم و خدماتی است که شرکت به مشتریان ارائه می دهد. بدون اینکه مشتری مجبور باشد در زمان خاصی به شرکت مراجعه کند و یا اینکه با شرکت تماس بگیرد می تواند در هر کجا که باشد به سایت شرکت مراجعه کند و اطلاعات مورد نظر خود را کسب کند.
با استفاده از یک سایت اینترنتی می توان به راحتی اطلاعات مربوط به محصولات جدید را منتشر کرد بدون اینکه نیازی به چاپ بروشورها و آگهی های جدید باشد.
طراحی سایت های اینترنتی تا حد زیادی بستگی به موارد استفاده آن سایت و نیازهای کاربران آن دارد. اگر در طراحی سایت نیاز کاربران در نظر گرفته نشود و یا نیازها به صورت روشن مشخص نشوند نباید انتظار داشت تا سایت کارایی لازم را داشته باشد.
با استفاده از زبانهای برنامه نویسی طرف سرور نظیر PHP و با استفاده از پایگاههای داده ها و بانکهای اطلاعاتی نظیر MySQL می و تکنیکهایی مثل Ajax و JavaScript امکان طراحی سایتها با انواع کاربری مختلف وجود دارد. اما در طراحی سایت ها باید از این امکانات در جای مناسب استفاده شود تا نیازهای کاربران نهایی برآورده شود.
در کشور ما صنعت نرم افزار بسیار نوپا و جوان است. هنوز فرهنگ نرم افزاری در بین مردم کشور ما جایی ندارد. میانسالان ما با نرم افزار و تکنولوژی های روز از جمله اینترنت کاملا غریبه اند. هنوز بسیاری از ادارات ، شرکت ها و فروشگاه ها اطلاعات خود را به روش دستی روی کاغذ مدیریت می کنند و به اهمیت و مزایای اتوماسیون اداری پی نبرده اند. امیدوارم نوشتار زیر در درک بهتر موجودیت “نرم افزار” به شما کمک کند.
بسیاری از مردم، نرم افزار را با برنامه های کامپیوتری یکسان می دانند. در واقع این دید، بسیار محدودکننده است. نرم افزار فقط برنامه های کامپیوتری نیست، بلکه تمام مستندات و داده های پیکربندی را که برای حیات این برنامه ها ضروری اند را شامل می شود. سیستم های نرم افزاری معمولا شامل تعدادی برنامه، فایل های پیکربندی جهت حفظ تنظیمات، مستندات سیستم جهت تشریح ساختار نرم افزار، مستندات و راهنمای کاربر برای تشریح چگونگی کار با سیستم می باشد.
1 – 2 نام کامل طرح و محل اجرای آن :
طراحی نرم افزار و صفحات وب
محل اجرا :
1 – 3 – مشخصات متقاضیان :
1 – 4 – دلایل انتخاب طرح :
توجه به نیاز روز افزون مردم به نرم افزارها و وبسایت ها و با توجه به این که طراحی نرم افزار و صفحات وب می تواند به رشد و شکوفایی اقتصادی کشور کمکی هر چند کوچک نماید و با در نظر گرفتن علاقه خود به فعالیت های کامپیوتری این طرح را برای اجرا انتخاب کرده ام.
1 – 5 میزان مفید بودن طرح برای جامعه :
این طرح از جهات گوناگون برای جامعه مفید است ، شکوفایی اقتصادی ، سوددهی و بهبود وضعیت اقتصادی ، اشتغالزایی ، استفاده از نیروی انسانی متخصص در پرورش کالای داخلی و بهره گیری از سرمایه ها و داشته های انسانی در بالندگی کشور .
1 – 6 - وضعیت و میزان اشتغالزایی :
تعداد اشتغالزایی این طرح 9 نفر میباشد .
تاریخچه و سابقه مختصر طرح :
CSS یا همان Cascading Style Sheet روشی است برای قالب بندی و طراحی اجزای صفحه از قبیل متن، تصویر، زمینه صفحه، کادرها و تقریباً هر چیزی که در طراحی صفحه استفاده می شود بدون استفاده از کدهای HTML. از طریق این استایل شیتها می توانیم از دوباره نویسی کدهای HTML که باعث مشکل شدن کد نویسی و همچنین کند شدن سرعت بارگذاری صفحه در اینترنت می شود جلوگیری کنیم. برای مثال می توانیم یک بار نوع فونت مورد استفاده در یک صفحه را تعیین کنیم و دیگر مجبور نباشیم کد مربوط به فونت را در صفحه به کار ببریم. همچنین می توانیم از این ابزار قدرتمند در مواردی به جای جاوا اسکرپت نیز استفاده کنیم و چون مشکلات جاوا اسکرپت مثلاً غیر فعال بودن جاوا اسکرپت در مرورگر را ندارد با خیالی آسوده تر می توانیم از آن استفاده کنیم.
CSS هم مانند جاوا اسکرپت این امکان را به ما می دهد که از یک فایل استایل خارجی برای تعیین خواص بخشهای مختلف صفحه های یک سایت استفاده کنیم. در این صورت می توانیم ظاهر همه صفحه ها را با ایجاد یک تغییر کوچک در فایل استایل خارجی تغییر دهیم. مثلاً فرض کنید که رنگ متن همچنین نوع فونت متن صفحه هایمان را در یک فایل استایل تعیین کرده ایم و از آن در طراحی چندین صفحه استفاده کرده ایم، حالا اگر بخواهیم رنگ متن همه این صفحات را تغییر دهیم تنها کافی است تا رنگ متن را در همان فایل استایل تغییر دهیم و نیازی به تغییر دادن صفحات نداریم.
جاوا اسکرپت
جاوا اسکرپت یک زبان اسکرپت نویسی تحت وب است که برای افزایش پویایی صفحات HTML استفاده می شود. از این زبان می توان برای ارزیابی اعتبار فرمهای HTML قبل از ارسال به سرور، شناسایی مرورگر کاربران، ایجاد انواع منو ها و بسیاری کارهای دیگر استفاده کرد.
نکته : باید توجه داشت که جاوا اسکرپت یک زبان طرف کاربر (Client Side) است توسط کامپیوتر شخصی کاربر تفسیر می شود. کدهای مربوط به جاوا اسکرپت توسط کاربر نهایی قابل مشاهده هستند پس توصیه می شود از آن برای مقاصد مهم نظیر اتصال به دیتابیس استفاده نشود.
می توان کدهای جاوا اسکرپت را به صورت تعبیه شده در صفحات HTML استفاده کرد و یا کدهای جاوا اسکرپت را در یک فایل جداگانه با پسوند js. ذخیره کرد ولی در هر صورت یان فایلها هم باید توسط یک صفحه HTML فراخوانی شده و نتیجه آنها در صفحات HTML نمایان خواهد شد.
انواع صفحات وب
اطلاعات موجود در صفحات وب می تواند بصورت ایستا و پویا ایجاد گردند. در مواردیکه اطلاعات بصورت ایستا در صفحات وب قرار می گیرند، مولفین صفحات از قبل آنها را آماده کرده و بر روی یک وب سایت ذخیره می نمایند. نظرات و دیدگاه های ملاقات کننده سایت و درخواست کننده صفحه، هیچگونه دخالتی در محتویات صفحه مورد نظر نخواهد داشت . در صفحات وب پویا اطلاعات موجود در یک صفحه متناسب با شرایط متعدد بصورت کاملا" سفارشی آماده خواهد گردید. فرض کنید در رستورانی برای صرف ناهار رفته باشیم . لیست غذاهای موجود ( منو) که در اختیار شما قرار می گیرد یک لیست ایستا بوده و شما در صورت تمایل مجبور خواهید بود که یکی از آنها را انتخاب نمائید. شما صرفا" درخواست آن غذا را خواهید کرد و غذای مورد نظر شما از طرف سرویس دهنده رستوران در اختیار شما گذاشته خواهد شد. تمامی مراحل مربوط به آماده سازی غذا از قبل انجام شده و نقش شما صرفا" انتخاب و درخواست است . وضعیت فوق نظیر صفحات وب ایستا است . در صورتیکه رستوران مورد نظر غذائی از پیش آماده شده را نداشته باشد و از شما بخواهد که با اختیار کامل غذای مورد نظر خود را انتخاب نمائید. در چنین مواردی تمهیدات لازم برای آماده سازی غذا بر اساس درخواست مورد نظر ایجاد شده و غذای درخواست شده متناسب با نوع درخواست و تمایل فرد متقاصی ایجاد می گردد. صفحات وب پویا نیر وضعیتی مشابه را دارند. در ادامه به ویژگی هریک از این نوع صفحات اشاره خواهد شد.
¨ صفحات وب ایستا ، امروزه بر روی اینترنت و وب ، با سایت های متعددی که شامل تعداد بیشماری از صفحات وب ایستا می باشند ، برخورد می نمائیم. واژه " ایستا " ، در رابطه با یک صفحه وب دارای چه تعریفی است ؟ این نوع صفحات ، صفحاتی هستند که شامل کدهای Html بوده و در یک محیط ادیتور تایپ و با انشعاب Htm و یا Html ذخیره می گردد. مولف صفحه وب قبل از اینکه هر نوع درخواستی برای آن وجود داشته باشد ، بطور کامل محتوی صفحه را مشخص کرده است . محتویات این نوع از صفحات ( متن ،تصویر ، لینک ها و … ) و شکل ظاهری آنها همواره یکسان خواهد بود ، صرفنظر از اینکه چه کسی ، در چه زمانی و یا چگونه صفحه را مشاهده خواهد کرد. بنابراین می توان گفت ، محتویات این قبیل از صفحات قبل از اینکه درخواستی ایجاد گردد ، توسط مدیریت سایت ایجاد و مشخص شده اند.
مراحل آماده سازی صفحات وب ایستا
1 – یک مو.لف ، صفحه ای را که شامل کدهای Html است را ایجاد و آن را با انشعاب Htm و یا Html بر روی سرویس دهنده وب ذخیره می نماید.
2 – کاربری از طریق برنامه مرورگر خود ، در خواست استفاده از یک صفحه را می نماید، درخواست فوق از مرورگر برای سرویس دهنده ارسال می گردد.
3 – سرویس دهنده وب ، فایل درخواستی با انشعاب Htm و یا Html را پیدا خواهد کرد.
4 – سرویس دهنده وب ، کدهای Html فایل مزبور را از طریق شبکه برای مرورگر ارسال میدارد.
5 – مرورگر کدهای Html را پردازش و صفحه فوق را نمایش خواهد داد.
محدودیت های صفحات وب ایستا
فرض کنید می خواهیم یک صفحه وب را بگونه ای طراحی نمائیم ، که بمحض ورود هر کاربر زمان جاری سیستم بهراه یک پیام مناسب نمایش داده شود.. در این زمینه با چندین محدودیت مواجه خواهیم بود که بکمک تگ های Html قادر به برطرف کردن آنها نخواهیم بود. ما میدانیم که یک کاربر در یک زمان خاص به ملاقات صفحه خواهد آمد ولی قطعا؛ زمان آن را نمی دانیم .اگر بخواهیم زمان را بصورت کد در صفحه Html خود داشته باشیم ، نتیجه همواره یکسان بوده و همیشه یک زمان ثابت و یکسان برای تمامی ملاقات کنندگان صفحه ، نمایش داده خواهد شد. تگ های Html امکاناتی بمنظور ایجاد صفحات وب سفارشی و بر اساس شرایط خاص در اختیار قرار نمی دهد. صفحات وب ایستا همواره بصورت مشابه و یکسان برای تمامی کاربران نمایش داده خواهند شد. ( نظیر رستورانی که همواره و صرفنظر از ذائقه مشتریان خود ، یک غذای ثابت و از قبل آماده شده را برای همه آماده و در اختیار قرار می دهد!) Html دارای هیچگونه امنیتی نیز نبوده و کدهای آن را همه می توانند مشاهده و حتی تکثیر گردد. شاید تنها مزیت این نوع از صفحات طراحی آسان و بکارگیری سریع آنان در یک شبکه باشد.این نوع صفحات دارای امکانات لازم بمنظور آفرینش صفحات پویا نیستند، چون نمی توان کدهای مورد نظر خود را بعد از درخواست یک صفحه به آن اضافه کرد . می بایست بدنبال روشی و یا روش هائی بود که بکمک آنها بتوان صفحات وب پویا را ایجاد کرد. بمنظور نیل به هدف فوق از دو روش عمده استفاده می گردد:
Client - side dynamic page . بهره گیری از تکنولوژیهائی که پویائی یک صفحه را از جایگاه سرویس گیرنده تحقق خواهند داد.
Server - side dynamic page . بهره گیری از تکنولوژیهائی که پویائی یک صفحه را از جایگاه سرویس دهنده تحقق نمایند.
قبل از پرداختن به هر یک از موارد فوق، لازم است در ابتدا با مفهوم و جایگاه یک سرویس دهنده وب بیشتر آشنا شویم . یک سرویس دهنده وب ، نرم افزاری است که مدیریت صفحات وب را برعهده گرفته و آنها را برای سرویس گیرندگان مجهز به مرورگرها، قابل دستیابی و استفاده می نماید. تاکنون سرویس دهنده های وب متعددی طراحی و به بازار عرضه شده است . Apache ، IIS … نمونه هائی از این نوع نرم افزارها هستند. IIS محصول شرکت مایکروسافت بوده و می توان در زمان نصب ویندوز ( 2000 و یا XP) آن را نیز نصب نمود.نسخه 5 بهمراه ویندوز 2000 و نسخه 5.1 بهمراه XP ارائه شده است . بهرحال جایگاه یک سرویس دهنده وب در ارائه امکانات و زیرساخت های مناسب برای طراحی صفحات وب پویا و بالطبع سایت های پویا یک امر برجسته است. همانگونه که اشاره گردید، برای خلق صفحات وب پویا از دو رویکرد متفاوت استفاده می گردد. استفاده همزمان از دو روش فوق هیچگونه تعارضی با هم نداشته بلکه بالعکس توانائی یک صفحه وب پویا را افزایش خواهد داد. در ادامه به بررسی دو رویکرد فوق خواهیم پرداخت .
Client-side dynamic page . در مدل فوق ماژول هائی ( Plug –in ) که به مرورگر ملحق شده اند، تمامی عملیات لازم جهت ایجاد صفحات پویا را انجام خواهند داد. کدهای Html از طریق فایل مربوطه که شامل مجموعه ای از دستورالعمل ها است برای مرورگر ارسال خواهد شد.مرورگرها دستورات فوق را جهت تولید کدهای Html و در زمان درخواست یک صفحه توسط کاربر ، استفاده خواهند کرد. بنابراین محتویات یک صفحه بر اساس درخواست کاربران و بصورت پویا ایجاد خواهد شد.
مراحل آماده شدن یک صفحه وب پویا با تاکید بر روش های Client-Side
1 – یک مولف صفحه وب مجموعه ای از دستورالعمل را برای ایجاد کدهای Html نوشته و آنها را در فایلی با انشعاب Html ذخیره می نماید.
2 – کاربران درخواست یک صفحه را از طریق مرورگر خود برای سرویس دهنده وب ارسال خواهند کرد.
3 – سرویس دهنده فایل درخواستی ( در صورت نیاز فایل دیگری که شامل دستورالعمل ها باشد) را پیدا خواهد کرد.
4 – سرویس دهنده وب فایل حاوی کدهای Html و در صورت وجود دستورالعمل های مربوطه را برای متقاضی ارسال خواهد کرد.
5 – یک ماژول همراه مرورگر ، دستورالعمل ها را پردازش و کدهای Html را در همان صفحه Html برمی گرداند.
6 – در نهایت کدهای Html توسط مرورگر نمایش داده می شوند.
تاکنون تکنولوژیهای متعددی بر اساس رویکرد فوق مطرح و در اختیار طراحان و مولفان صفحات وب پویا قرار گرفته شده است . جاوا اسکریپت ، Vbscript ، کنترل های ActiveX و اپلت های جاوا نمونه هائی از این نوع تکنولوژی ها بوده که برای شناخت خوانندگان در این بخش بصورت خیلی مختصر در رابطه با هر یک توضیحاتی ارائه خواهد شد.