سفیردانش ایلام

  • مقایسه بین صفحات HTML و ASP

    ......



  • پیچیدگی نرم افزار

    در حالت کلّی پیچیدگی نرم‏افزار، میزان کار فکری مورد نیاز برای درک نرم‏افزار را مشخص می‏کند. پیچیدگی در فاز توسعه‏ی نرم‏افزار، تلاش مورد نیاز برای آزمون و اشکال‏زدایی برنامه، پیمانه‏ها و زیر سیستم‏ها را به شدّت تحت تأثیر قرار می‏دهد. در فاز نگهداری نرم‏افزار، پیچیدگی  دشواری مکان‏یابی و تصحیح  خطاهای کشف نشده  پیاده‏سازی و همچنین میزان تلاش مورد نیاز برای تغییر پیمانه‏هایی از برنامه که باید تصحیح شوند را مشخص می‏کند. کار زیادی در مورد منشأ و ماهیت پیچیدگی نرم‏افزار انجام نشده است. بیشتر کارهای انجام شده دراین زمینه به تأثیر پیچیدگی بر پروژه‏های نرم‏افزاری پرداخته‏اند که در رأس آنها کیفیت و هزینه‏های محصول قرار می‏گیرد. توجه مدیران و مهندسان پروژه‏های نرم‏افزاری به پیچیدگی نرم‏افزار برای کنترل و پیش‏بینی کیفیت و بهره‏وری  محصول است. گرچه در مورد علل و ماهیت پیچیدگی نرم‏افزار مطالب  زیادی موجود نیست. امّا چندین تعریف برای پیچیدگی ارائه شده است. بیشتر آنها بر اساس این مفهوم هستند که پیچیدگی نرم‏افزار میزان دشواری تحلیل، طراحی، کد، تست، نگهداری، تغییر و اصلاح نرم‏افزار است. ۲-تعریف پیچیدگی وقتی در مورد پیچیدگی نرم‏افزار صحبت می‏کنیم اولین سؤالی که باید پاسخ داده شود این است که: “پیچیدگی چیست؟”.  توافق عمومی ‏بر روی چگونگی تعریف پیچیدگی نرم‏افزار وجود ندارد. پیچیدگی نرم‏افزار یک موضوع کلّی، غیراستاندارد و اصطلاحی وابسته است که ترکیب سیستم را توصیف می‏کند. دلیل وابسته بودن این اصطلاح این است که مقدار مطلقی را نمی‏توان به آن نسبت داد. یک سیستم با پیچیدگی نرم‏افزاری بالا ممکن است نسبت به سیستم‏های دیگر پیچیدگی کمتری داشته باشد، پیچیدگی نرم‏افزار اصطلاح غیراستانداردی است زیرا محدوده‏ی آن مشخص نیست و می‏تواند در موارد متفاوت با معانی متفاوت به کار رود. یک سیستم با کد حجیم که چندین پیمانه به ‏هم مرتبط دارد می‏تواند به‏عنوان یک سیستم پیچیده در نظر گرفته شود. از طرفی یک برنامه‏ی کوتاه با الگوریتم سخت را نیز می‏توان پیچیده نامید. باور عمومی ‏بر این است که پیچیدگی نرم‏افزار را نمی‏توان فقط با استفاده از یک بعد تعریف کرد. فرهنگ کامپیوتری استاندارد IEEE، “پیچیدگی” را به این صورت تعریف می‏کند : میزان سختی درک یا بازبینی یک سیستم یا مولفه که طراحی یا پیاده سازی شده است.[۱] عبارت “سختی ِدرک” اشاره دارد به اینکه پیچیدگی لزوماً مقیاس مطلقی برای اندازه گیری نیست بلکه نسبی است به این معنی که آنچه برای شخصی پیچیده به نظر می‏رسد می‏تواند برای دیگری براحتی قابل فهم ...

  • پروتکل TCP و نسخه های مختلف آن

    ۲- ‫‪TCP Tahoe‬‬:‬‬ ‫‪ TCP Tahoe‬که به نسخه ۱ شبکه ‪ ( BNR1) BSD‬نیز مشهور است، بـه پیـاده سـازی اصـلی الگـوریتم‬ ‫کنترل ازدحام   Jacobson‬روی سیستم عامل ‪ BSD‬در سال ۱۹۸۸ مربوط می شـود. ایـن روش مـشتمل بـر‬ ‫شروع آهسته ، پرهیز از ازدحام ، یک تخمین بهبود یافته از ‪  RTT‬و انتقال مجدد سریع است .‫ [۱]‬‬‬‬‬‬‬‬ مشکلات ترافیکی که از ۱۹۸۶ روی اینترنت بروز کرد و باعث کاهش توان عملیاتی – در بعضی موارد– بـا‬ ‫ضریبی از هزار شد، موجب شد تا مکانیزم های جدیدی برای مقابله با آن ارائه شود. ‪ TCP Tahoe‬شاید اولین‬ ‫نسخه ای از ‪  TCP‬باشد که اکثر مکانیزم های کنترل ازدحام پیشرفته ‪ TCP‬را در برمی گیـرد. هـدف از ایـن‬ ‫مکانیزم ها تضمین این است که اتصال ‪  TCP‬قادر باشد به موازنه برسد و پس از اینکه به موازنه رسید، اتصال‬ ‫باید از اصل (حفظ بسته ها)  پیروی کند. این اصل می گوید که وقتی اتصالی به موازنه یا تعادل رسید، فقط‬  ‫زمانی می تواند یک بسته را روی شبکه منتقل کند که فیدبک بازگشتی که نشان دهنده خروج یک بسته دیگر‬  ‫از شبکه است را دریافت کرده باشد. اتصال با وارسی  شبکه در مورد پهنای باند موجـود و همچنـین تنظـیم‬  ‫یک پنجره ازدحام فرستنده که به تازگی انجام شده باشد، به توازن می رسد. در ‪ ،TCP Tahoe‬پنجره ای که‬ ‫فرستنده بکار می برد، حد پایین پنجره گیرنده و همین پنجره ازدحام جدید است.‬ ‫عمده ترین بهبود در کارایی ‪ TCP‬از مکانیزم انتقال مجدد سریع ناشی می شود. پس از دریافت سومین‬ ‫اعلام وصول تکراری انتقال مجدد آغاز می شود، بنابراین ‪ TCP Tahoe‬مجبـور نیـست زمـانی طـولانی بـرای‬ ‫منقضی شدن تایمر انتقال مجدد صبر کند.‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬ ‫تنها نقطه ضعف اصلی ‪ TCP Tahoe‬در این است که به دنبال گم شدن هر بسته, شروع آهسته مکرراً ا راه‬ ‫اندازی می شود. فرایند شروع آهسته زمان زیادی لازم دارد تا نـرخ انتقـال ‪ TCP‬را دوبـاره بـه حـال عـادی‬ ‫برگرداند، از اینرو ‪ TCP Tahoe‬در اتصالهایی که حاصل ضرب پهنای باند در تـاخیر  بـالایی داشـته باشـند،‬ ‫خوب اجرا نمی شود.‬‬‬‬‬‬‬ ۳-    ‫‪‫‪TCP Reno‬‬ :‬‬‬‬ ‫‪ ‫‪ TCP Reno‬در سال ۱۹۹۰ روی سیستم عامل ‪ BSD‬پیاده سازی شد، بنابراین به نـسخه ۲ شـبکه ‪ ‫ BSD‬‬شناخته می شود ۲)‪ .(BNR‬امروزه پر کاربردترین نسخه ‪ TCP‬همین ‪ Reno‬می باشد. ‪ TCP Reno‬به Tahoe  ‪ ‫مکانیزم بازیابی سریع را اضافه می کند. بازیابی سریع اتصال را قادر می سازد تا به سرعت بخش گـم شـده را‬ ‬ بازیابی کند‬‬‬‬‬‬‬‬‬‬‬‬‬ ‫تفاوت اصلی میان ‪ Reno‬و ‪ Tahoe‬در مرحله ای است که پس از هر انتقال مجدد سریع وارد آن می شوند.‬ ‫هم ...