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

کلیدواژه‌ها: ماژولاریتی، معماری نرم‌افزار، فهم مشترک، انعطاف‌پذیری، قابلیت استفاده مجدد

ادامه مطلب …

چکیده: تست یکی از جنبه‌های ضروری توسعه در هر زبان برنامه‌نویسی است. بدون تست کد منبع[1] امکان بررسی صحت عملکرد آن همانطوری که انتظار می‌رود عملا وجود ندارد. تست‌های دستی می‌توانند فقط به صورت نامنظم و به صورت محدود اجرا شوند. برای تست منظم و در عمق کدهای منبع، نیاز به نوشتن تست‌های خودکار هست تا به صورت متناوب اجرا شوند. آزمون‌های واحد[2] معمولا یک کار اسرارآمیز و زمان‌بر به نظر می‌رسد و ممکن است همین‌طور هم باشد. اما صرف زمان برای نوشتن تست‌ها باعث خواهد شد تا کیفیت کدهای منبع افزایش پیدا کند و در مجموع باگ‌های کمتری داشته باشد، بسیاری از خطا‌ها زودتر تشخیص داده شوند، یک فرایند تست دائمی برای جلوگیری از تغییر رفتار کدهای قبلی توسط تغییرات جدید ایجاد شود، و اعتماد کافی برای تکیه به کد به وجود بیاید.

در این مقاله تلاش می‌شود ضرورت تست و اطیمنان از کیفیت کد منبع برنامه‌های PHP بررسی شده و برخی از ابزارهای مورد نیاز برای تست و اطمینان از کیفیت برنامه‌های PHP معرفی شود. همچنین نقش آزمون‌های واحد در «توسعه مبتنی بر تست[3]» بررسی و مزایای توسعه برنامه‌های تست‌پذیر و اطمینان از کیفیت کد منبع ذکر می‌شود. ادامه مطلب …