mid-term Flashcards
(48 cards)
در کتاب Nielsen Jakob به چند رویکرد اصلی در طراحی وب اشاره شده است؟
نام ببرید و به طور خالصه توضیح دهید .
1ایدئال هنری برای بیان خود:
✓طراحان و توسعه دهندگان وب تمرکز خود را بر روی ایجاد طراحی ها و صفحات وبی که از لحاظ ظاهری
زیبا و هنری باشند، قرار میدهند .
✓در این حالت، طراحان به اولویت دهی به جنبههای هنری و ظاهری وبسایت میپردازند و سعی میکنند تا
بیانی خوب از خود ارائه دهند .
.2ایدئال مهندسی برای حل مسائل مشتریان:
✓تمرکز بر روی حل مشکالت و نیازهای واقعی مشتریان و کاربران وب سایت قرار دارد.
✓طراحان و توسعه دهندگان در این حالت سعی میکنند تا وب سایتی ایجاد کنند
که نه تنها از نظر ظاهری مناسب باشد بلکه همچنین نیازهای و انتظارات
کاربران را برآورده کند .
موفقیت در طراحی وب ممکن است از ترکیب هنری و مهندسی به منظور ایجاد تجربه کاربری
بهینه و جذاب برای مخاطبان و مشتریان به دست آید .
پنج مرحله اصلی در چرخه حیات توسعه نرمافزار همراه را نام ببرید و به طور خالصه
توضیح دهید .
1( شروع :در این مرحله، آرمان ها، ویژگیها و کارکرد های محصول همراه تعیین میشوند و محدوده و اندازه
نمونه اولیه تعیین میشود
2( طراحی :در این مرحله، طراحی معماری، پیمایش، رابط کاربری، و محتوا تعریف
میشود .توسعهدهندگان تجربه کاربری برنامه را با ماکت صفحه ( درکتاب ) یا وایرفریم طراحی میشود.
3( توسعه نرمافزار همراه :در این مرحله، کدنویسی برنامه انجام میشود و نمونههای آزمون ایجاد و اجرا
میشوند .
4( پایدارسازی :در این مرحله، محصول بهبود مییابد و نمونههای اولیه به مراحل مختلف اضافه میشوند .که
نتیجه اصلی حاصل شود.
5( استقرار :در این مرحله، محصول همراه توسط فروشگاه برنامه کاربردی تجاری بررسی میشود و برای
فروش و دانلود در دسترس قرار میگیرد.
طراحی رابط کاربری / تجربه کاربری چیست؟
n UI)یا به اختصار )Design Interface User طراحی رابط کاربری
به فرآیند طراحی و ایجاد واسط گرافیکی که کاربران با یک نرمافزار، وبسایت، یا دستگاه تعامل میکنند، اشاره دارد.
رابط کاربری شامل تمام عناصری است که کاربر با آنها در ارتباط قرار میگیرد، از جمله دکمه ها، منوها، فرم ها،
نوارها، نمودارها، تصاویر، متن، و سایر اجزا
UX ).یا )Experience User هدف اصلی طراحی رابط کاربری، ایجاد
یک تجربه کاربری مثبت و راحت برای کاربران است .یعنی طراحان رابط کاربری سعی دارند رابطی ایجاد کنند که
کاربران بتوانند به راحتی و بدون مشکالت از نرمافزار یا وبسایت استفاده کنند
هرم طراحی برای برنامه های کاربری وب را رسم کنید .
کاربر
طراحی رابط
طراحی هنری
طراحی محتوا
طراحی پیمایش
طراحی معماری
طراحی مولفه
فناوری
مشخص کنید هر یک از گزینه ها در کدام دسته بندی از سرویس های ابری قرار میگیرد .
SaaS - Office 360
SaaS - One drive
چه سطحی از دسترسی به کاربر داده میشود توضیح دهید .از این PaaS در سرویس ابری
سرویس به چه منظور میتوان بهره برد؟
وجود دارد و میتوان از آن برای data و application در این سرویس سطح دسترسی به لایه دپلوی سایت
استفاده کرد.
الگوهای طراحی مؤثر در مهندسی نرمافزار را تعریف کرده و به نظرتون معموالً دارای چه
ویژگیهایی هستند:
الگوهای طراحی : یه رابطه بین یک زمینه خاص ، مسئله و راه حل را بیان می کند .
* راه حل خاص :الگوهای طراحی یک راهحل خاص برای حل یک مسئله مشخص ارائه میدهند .
* اثبات شده در عمل :این راهحلها در عمل اثبات شده و تایید شدهاند .
* شناسایی مسائل آشکار نشده :این الگوها میتوانند مسائلی را شناسایی کنند که در ابتدا آشکار نیستند و
به توسعه دهندگان کمک کنند تا با مسائل پنهان و نادیده گرفته شده مقابله کنند .
* شناسایی روابط :این الگوها میتوانند روابط بین طراحی و عناصر معماری نرمافزار را شناسایی کنند .
* زیبا و شیک :الگوهای طراحی معموالً به صورتی زیبا و شیک ارائه میشوند که نه تنها عملکرد نرمافزار را
بهبود میدهند بلکه تجربه کاربری را نیز بهبود میبخشند .
هدف از استفاده الگو چیست؟
در زمینه مهندسی نرمافزار نیز الگوها به عنوان روشهای
تکراری و مؤثر برای حل مسائل و طراحی به کار میروند .توانایی شناسایی الگوها در زمینه
توسعه نرمافزار به توسعه دهندگان کمک میکند تا از تجربیات گذشته بهرهبرداری کنند و
بهبود های الزم را اعمال کنند .از این رو، طراحی الگوها در مهندسی نرمافزار به عنوان یک
رویکرد معتبر واجب العملی به شمار میآید
هدف از استفاده چارچوب چیست؟
الگوها تنها کافی نیستند و در برخی موارد نیاز به” چارچوب “یا” معماری کوچک “دارید . این چارچوب ها یا
معماری ها اصول و ساختارهای کلی را ارائه میدهند که به توسعه نرم افزار کمک میکنند و الگوهای طراحی
مختلف را در یک ساختار مشترک تلفیق میکنند .این چارچوب ها یک سری از الگوها و روشهای طراحی را به هم
ترکیب میکنند تا به توسعه دهندگان کمک کنند تا از تجربیات گذشته بهره ببرند و نرمافزارهای با کیفیت و قابل
استفاده مجدد ایجاد کنند .این چارچوب ها معموالً در زمینههای خاصی مانند توسعه وب، توسعه موبایل، توسعه
بازی و غیره ایجاد میشوند
طراحی( نرم ا فزار الگو محور ) Design Software Oriented-Pattern یعنی چه؟
.این رویکرد به توسعه نرمافزار با تمرکز بر روی الگوهای
طراحی مختلف میپردازد
به اصول و الگوهای معماری در توسعه نرمافزار میپردازد
.الگوها در اینجا مدلهای تکراری و تجربیات جامعه توسعه دهندگان نرمافزار را نمایان
میسازند . در طراحی نرمافزار الگو محور، توسعه دهندگان نرمافزار از الگوهای طراحی معمول استفاده
میکنند تا مسائل مشترک و مشکالت رایج در توسعه نرمافزار را بهبود دهند .این الگوها معموالً الگوهای معماری،
الگوهای ساختاری، و الگوهای طراحی نرمافزار را شامل میشوند
چندتا از الگوهای طراحی نرم افزار را نام ببرید و توضیح دهید
✓الگوی : Singleton این الگو برای ایجاد یک نمونه یکتا از یک کالس در یک برنامه
استفاده میشود.
✓الگوی : Method Factory این الگو به توسعهدهندگان امکان میدهد یک متد
ایجاد شئیتا( موجودیتها )در یک کالس انتزاعی تعریف کنند .
✓الگوی : Observer این الگو برای پیادهسازی مکانیزم ارتباط میان اشیاء به کار
میرود، بهطوری که هنگام تغییر وضعیت یکی از اشیاء، سایر اشیاء بهروزرسانی
شوند .
✓الگوی : (Controller-View-Model (MVC این الگو برای جدا کردن
بخشهای مختلف یک برنامه ( مدل، نمایش و کنترل )به منظور بهبود
قابلیت استفاده مجدد و مدیریت برنامه بهکار میرود.
✓الگوی : Strategy این الگو به توسعه دهندگان امکان میدهد یک عملکرد خاص را
تعریف کنند و به کالسهای مختلف اعمال کنند .
✓الگوی : Decorator این الگو به توسعه دهندگان امکان میدهد ویژگیهای جدید
به یک شیء اضافه کنند بدون تغییر کد موجود.
✓الگوی : Builder این الگو برای ساختن شیءهای پیچیده و ترکیبی با تعداد زیادی
پارامتر به کار میرود.
این الگوها و الگوهای دیگر در طراحی نرمافزار الگو محور به توسعه دهندگان امکان میدهند تا به
راحتی با مسائل و چالشهای طراحی نرمافزار روبهرو شوند و از تجربیات گذشته بهره برند .این
رویکرد بهبود قابلیت استفاده مجدد کد و افزایش کیفیت نرمافزار را تسهیل میکند .
کیفیت را تعریف کنید و شرح دهید از چه دیدگاه هایی قابل توصیف است؟
کیفیت یک مفهوم پیچیده و چند وجهی است و از پنج دیدگاه قابل توصیف است
-۱دیدگاه استعلایی
-۲دیدگاه کاربر
-۳دیدگاه سازنده
-۴دیدگاه محصول
-۵دیدگاه ارزش محور
.13 ارزیابی کمی کیفیت به چه صورت است؟
فرایند ارزیابی کمی شامل یافتن بخش هایی از کد است که مشکل پیچیدگی غیرضروری و جفت شدگی باال را
دارند ، ا گر مقادیر معیار نرم افزار سنجی که به ازای قطعه کد محاسبه می شود از بازه مقادیر قابل قبول خارج شود
، کیفیت نرم افزار باید مجددا بررسی شود
تعادل در دوراهی کیفیت به چه معناست؟
هنگامی که با دوراهی کیفیت روبه رو میشویم باید تالش کنیم تا به تعادل برسیم یعنی تالش کافی برای تولید
کیفیت قابل قبول بدون دفن پروژه
انواع هزینه کیفیت را نام ببرید.
)هزینه های پیشگیری(
)هزینه های ارزیابی(
)هزینه های خرابی )شکست((
انواع اقدامات مدیریتی را نام ببرید و یکی از آنها را مختصرا توضیح دهید.
تصمیمات برآورد:
قبل از تعیین تاریخ تحویل و مشخخص شخدن بودجه کلی به ندرت به تیم نرم افزاری امکان ارائه برآورد برای پروژه
داده میشود در عوض تیم برای اطمینان از منطقی بودن تاریخ تحویل و نقاط عطف، بررسی منطقی را انجام میدهد.
در بسخخیاری از موارد فشخخار زیادی برای زمان تا ارائه به بازار وجود دارد که تیم را مجبور به قبول تاریخ تحویل غیر
واقعی می کند در نتیجه راههای میانبر در پیش گرفته میشوند و ممکن است از فعالیت هایی که منجر به تولید نرم
افزار با کیفیت تر میشخوند صخرف نظر شخود و کیفیت محصخول آسخیب ببیند. اگر تاریخ تحویل غیر منطقی اسخت مهم
اسخخت که بر موضخخد خود پافشخخاری کنید توضخخیح دهید که چرا به زمان بیشخختری نیاز دارید یا زیر مجموعه ای از
کارکردها را پیشنهاد دهید که میتوانید در زمان تعیین شده با کیفیت باال تحویل دهید.
تصمیمات زمان بندی:
وقتی زمان بندی یک پروژه نرم افزاری تعیین میشخود توالی وظایف براسخاس وابسختگی ها تعیین می شخوند برای مثال
از آنجا که مؤلفه A به پردازشخی که در مؤلفه های CB و D انجام می شخود بسختگی دارد مؤلفه A را تا زمان آزمون
کخامخل مؤلفخه هخای B C و D نمیتوان برای آزمون زمخان بنخدی کرد. زمخان بنخدی پروژه این امر را منعکس می.کنخد امخا
اگر زمان بسیار کوتاه است و مؤلفه A باید برای آزمون مهم دیگری در دسترس باشد ممکن است تصمیم بگیرید که
A را بخدون مؤلفخه هخای تخابعخه کخه کمی عقخب تر از زمخان بنخدی )هسخخختنخد آزمون کنیخد تخا بتوانیخد آن را برای آزمونهخای
دیگری که باید قبل از تحویل انجام شخوند در دسخترس قرار دهید از این ،گذشخته ضخرب االجل نزدیک اسخت در نتیجه
مؤلفه A ممکن است نقص هایی داشته باشد که پنهان باشند اما بسیار دیرتر کشف میشوند. کیفیت آسیب میبیند.
تصمیمات ریسک محور:
مدیریت ریسخک یکی از صخفات اصخلی پروژه نرم افزاری موفق اسخت. واقعاً باید بدانید چه مشخکلی ممکن اسخت ر
دهد و در صخورت بروز آن یک طر اقتاخایی تدوین کنید. تیمهای نرم افزاری بسخیار زیادی خوش بینی کورکورانه را
ترجیح میدهند و با این فرض که مشخکلی پیش نخواهد آمد زمان بند ی توسخعه را تعیین می.کنند از آن بدتر راهی
برای مدیریت مواردی که با مشخکل مواجه میشخوند ندارند. در نتیجه وقتی یک ریسخک به واقعیت تبدیل میشخود هرج
و مرج حاکم میشود و هرچه میزان حماقت بیشتر میشود سطح کیفیت بدون تغییر کاهش مییابد.
دوراهی کیفیت نرم افزار را با بیان قانون Meskimen به طور خالصه بیان کنید
هرگز زمان برای انجام درست کار وجود ندارد اما برای دوباره کاری همیشه وقت هست
توصیه ما: اختصاص زمان
برای انجام درست کار همیشه تصمیم درستی است.
چهار فعالیت گسترده که به تیم نرم افزار در دستیابی به کیفیت بالای نرم افزار کمک میکنند را
نام ببرید.
روشهای مهندسی نرم افزار
تکنیکهای مدیریت پروژه
اقدامات کنترل کیفیت
تامین کیفیت نرم افزار
چرا بازنگری مهم است؟
اگر در ابتدای کا خطایی پیدا کنید اصلاح آن هزینه کمتری دارد .به علاوه با پیشروی فرایند خطاها راهی برای
تکثیر خود دارند .بنابراین یک خطای نسبتا کوچک که در اوایل فرایند رفع نشده است میتواند بعدا به
مجموعه بزرگی از خطاها منجر شود .در نهایت بازنگری ها با کاهش میزان دوباره کاری که در اواخر پروژه
مورد نیاز است باعث صرفه جویی در زمان میشوند .
هدف اصلی بازنگری فنی رسمی چه چیزی است؟
یافتن خطاها قبل از انتقال به فعالیت مهندسی نرم افزار دیگر یا انتشار به کاربر نهایی است.
هر جلسه بازنگری چه محدودیت هایی را باید رعایت کند؟
بین 3 تا 5 نفر ( معموال )باید در بازنگری شرکت کنند .آماده سازی قبلی باید انجام شود اما برای هر نفر
بیش از ۲ ساعت کار الزم نیست.مدت جلسه بازنگری باید کمتر از ۲ ساعت باشد .
سه معیار بازنگری را نام ببرید؟
۱ تلاش آماده سازی
-۲ تلاش ارزیابی
-۳ تلاش دوبارهکاری
یک مورد از مجموعه دستورالعملهای بازنگریهای فنی رسمی را به دلخواه شرح دهید؟
یادداشت های کتبی بردارید .
گاهی اوقات ایده خوبی است که ثبت کننده روی تابلوی دیواری یادداشت کند تا در حین ثبت اطالعات، سایر
بازبینی کنندگان جمله بندی و اولویت ها را ارزیابی کنند .