مهندسی نرمافزار همراه
()
About this ebook
نرمافزار همراه و نرمافزار وب، به عنوان نوعی از نرمافزار، از مباحث مربوط به مهندسی نرمافزار ارث میبرند. در عین حال ویژگیهایی دارند که به وضوح تولید نرمافزار همراه و وبی را از نرمافزار سنتی متمایز میکند. تلاش من در کتاب مهندسی نرمافزار همراه، پرداختن به این وجوه تمایز است.
Mohsen Sadighi
Please see http://sadighim.ir/personal/
Read more from Mohsen Sadighi
راهنمای انتخاب Rating: 0 out of 5 stars0 ratingsتمومش کن Rating: 0 out of 5 stars0 ratingsمهندسي و مديريت زندگي: راهنماي مقابله با حاشيه Rating: 0 out of 5 stars0 ratingsمهندسی و مدیریت زندگی: راهنمای اعتمادسازی Rating: 0 out of 5 stars0 ratingsراهنمای پروژه پایانی Rating: 0 out of 5 stars0 ratingsمستند سازی تجربه با نقشه ذهن Rating: 0 out of 5 stars0 ratingsچرا گوشی هوشمند برای بزرگترها؟ Rating: 0 out of 5 stars0 ratings
Related to مهندسی نرمافزار همراه
Related ebooks
همهمهی زمان Rating: 0 out of 5 stars0 ratingsمستند سازی تجربه با نقشه ذهن Rating: 0 out of 5 stars0 ratingsراهنمای مدرن تبلیغات پولی برای صاحبان کسبوکار: معرفی سریع به تبلیغات گوگل، فیسبوک، اینستاگرام، یوتیوب و تیک توک Rating: 0 out of 5 stars0 ratingsHow To Become A Digital Marketing Expert Rating: 0 out of 5 stars0 ratingsهویتمندی گستر اجتماعی برای کسب و کارهای کوچک: چگونه مشتریان جدید جذب کنیم، درآمد بیشتری کسب کنیم و از جمعیت متمایز شویم Rating: 0 out of 5 stars0 ratingsچرا گوشی هوشمند برای بزرگترها؟ Rating: 0 out of 5 stars0 ratingsراهنمای ارز دیجیتال: راهنمای مقدماتی ارز دیجیتال، بلاکچین و ان اف تی Rating: 0 out of 5 stars0 ratings
Reviews for مهندسی نرمافزار همراه
0 ratings0 reviews
Book preview
مهندسی نرمافزار همراه - Mohsen Sadighi
نرمافزار همراه، به عنوان نوعی از نرمافزار، از اصول مهندسی نرمافزار ارث میبرد. اما وجوه متمایزی دارد [Schadler, et al, 2014] ، [Rosado da Cruz and Paiva 2016] که، گرچه قریب به اتفاق آنها از گذشته، در موارد خاص، مطرح بودهاند، اما حالا به عنوان ویژگیهای غالب و فراگیر، توجه ویژه به آنها را کاملا ضروری میکند. از جمله:
+ مخاطبان جدید. مهندسی نرمافرار همراه مخاطبان جدیدی دارد که لازم است به شکل 1-2 اضافه شوند. وجود این مخاطبان مبنای تأثیر گذاری در مهندسی نرمافزار همراه و همچنین عامل تأثیرگذاری در عملکرد و نقش آن هستند:
+ وب که حاصل کار باید در آن کار کند؛
+ خدمات وب که عملا میتواند به تک تک لحظات تولید نرمافزار کمک کند؛
+ صاحبان تبلیغ، که عملا هزینهها را پرداخت میکنند؛
+ مخاطبان مخاطبان؛
+ استانداردها؛ بدون رعایت استاندارد عملا نرمافزار همراه وجود ندارد.
+ خواستههای جدید.
+ عملکرد توزیعی ؛
+ عملکرد بیدرنگ؛
+ استقلال از محل؛
+ استقلال از دستگاه؛
+ دسترس بودن تمام وقت؛
+ عملکرد چندکاربره و قابل گسترش؛
+ استفاده در لحظه.
شکل1-1: مهندسی نرمافزار همراه و مخاطبان آن
+ نرمافزار به عنوان خدمت. تملک نرمافزار به تملک خدمت تبدیل شده است. این نکته به ویژه در ایجاد ارزش افزوده برای مخاطبان که حالا هر یک میتواند در گوشهای از دنیا باشد نمود پیدا میکند؛
+ حضور در وب. با هر محصول همراه و وبی؛
+ حضور در بازار دنیا. هر محصول همراه میتواند از طریق فروشگاههای این نوع محصولات در سراسر دنیا منتشر شده و مورد استفاده قرار گیرد. ضمن این که در عمل، به دلیل حضور دائمی و اجباری استانداردها، تولید کننده نرمافزار همراه بسیار سادهتر و عملیتر از گذشته امکان حضور در تیمهای کاری بینالمللی را دارد. این نکته فرصت بسیار مهمی را در اختیار ما قرار میدهد شاخههای مختلف علوم و مهندسی عملا از طریق این قابلیت اهالی فناوری اطلاعات در دنیا حضور پیدا کنند. و این به نوبهی خود فضای کاری بازتری را در اختیار اهالی فناوری اطلاعات و به ویژه اهالی نرمافزار قرار میدهد؛
+ تولید چابک. ایدههای تولید بسیار متعدد است. رقابت بسیار فشرده است. فرصت طولانی برای تولید نیست. ایدهها باید به نمونههای عملی تبدیل شوند و تحلیلها باید گواه قدرت نفود عملی محصلول یا خدمت در اجتماع باشند. به این ترتیت تکرار و تکامل و تولید سریع، مدل غالب در تولید نرمافزار همراه است[Moran, 2015].
1-1- انواع کاربردهای همراه
در یک طبقهبندی، کاربردهای همراه به سه نوع زیر تفکیک شدهاند [علویزاده، 2017]:
1- کاربردهای بومی . برای سیستم عامل خاص، مثل اندروید، به عنوان میزبان، تولید میشوند.
2- کاربردهای وبی . اساسا همان صفحات وبی یا سایت هستند که برای نمایش مناسب روی گوشی آماده شدهاند. بنابراین برای نمایش نیاز به مرورگر دارند.
3- کاربردهای دورگه . برای سیستم عامل خاصی تولید نشدهاند. به لحاظ تولید مشابه کاربردهای وبی متکی به html وJavaScript هستند. ولی از نظر ارائه به مرورگر نیاز ندارند چون به کمک ابزاری مثل Cordova برای کار روی گوشیهایی با سیستمهای عامل مختلف آماده میشوند.
در http://www.mrc-productivity.com/blog/2016/06/the-mobile-app-comparison-chart-hybrid-vs-native-vs-mobile-web/ انواع کاربردهای همراه به خوبی مقایسه شدهاند [Stangarone 2016].
با توجه به توان تولید، زمان و هزینه و با توجه به شرایطی که در کشور داریم، در این کتاب تأکید ما روی کاربردهای دورگه است.
1-2- مدل تولید چابک
مدل متداول برای تولید نرمافزار مدل چابک است (What Is Agile Software Development - Learn the Methods & Tools
2017)
شکل 1-2: تولید چابک، مدل متداول برای تولید نرمافزار همراه
نمودار زیر را با نگاه فراتر به مجموعهی فعالیتها رسم کردهام.
شکل 1-3: تولید چابک
1-3- پرسش
1- یک کاربرد همراه، مثلا تلگرام را در نظر بگیرید و وجود یا عدم وجود خواستههای مطرح شده در قسمت 1- 9 را در آن بررسی کنید.
2- یکی ار فروشگاههای کابردهای همراه ، مثلا کافه بازار را در نظر بگیرید. بسیاری از محصولات عملا رایگان در اختیار کاربر قرار میگیرد. به این ترتیب هزینههای تولید چه میشود؟ همین مطلب چه تأثیری در تولید نرمافزار دارد؟
3- با مراجعه به ویکیپدیا، عناوین اصلی در تولید چابک را مرور کنید.
بازگشت به فهرست مطالب
فصل2- دو وجه اصلي توليد نرمافزار همراه
در تولید نرمافزار همراه هم عملا تمام نکات مدیریتی و تخصصی تولید نرمافزار(قسمتهای 2-2 و 2-3 از کتاب به سوی تولید بهتر نرمافزار) مطرح است [Murray 2016]. اما وجوه متمایز کنندهی نرمافزار همراه، مثل مخاطبان جدید و خواستههای جدید (که در فصل1 ذکر کردم)، عملا در قریب به اتفاق موارد مدیریتی و تخصصی تولید نرمافزار همراه تأثیر میگذارد. میتوان گفت در کل، تعداد موارد بیشتر و فرصت اقدام کاهش یافته است. به نظرم تأثیرگذاری امور مدیریتی، بیشتر از موارد تخصصی است. در ادامه مثالهایی را مطرح میکنم.
+ حمایت از دسترسی تمام وقت نیازمند وجود سازوکار جایگزین، تشخیص و تحمل خطا، و افرادی است که گوش بزنگ و آمادهی دریافت و کشف و رفع خطا باشند؛ و این به نوبه خود نیاز به سازوکار ارتباطی برای پاسخگویی به مخاطب است؛
+ تولید چابک؛ که در فصل قبل معرفی کردم؛
+ حمایت از تبلیغ نیازمند سازوکار(هایی) برای دریافت میزان و چگونگی تعامل مخاطبان با محصول، و حتی مجموعهی شرکت، و جمعآوری دادهها و تحلیل دادهها و عکسالعمل مناسب است. در این مسیر خیلی سریع کار با دادههای بزرگ (یا کلان دادهها) و دادهکاوی مطرح میشود؛
+ بسیاری از کاربردهای همراه و وبی، نیازمند تدارک و ارائهی محتواست. این نقشهای دیگری، به ویژه از اهالی قلم، علوم انسانی و هنر را طلب میکند. و این به نوبهی خود نیازمند مدیریت کارگروهی است؛
+ نگهداری در کاربردهای همراه بسیار فراتر از نگهداری نرمافزار، و عملا همراه تمام امور جاری کسب و کار مطرح میشود (پرسش3)؛
+ عملکرد بیدرنگ و در لحظه مستلزم کار با حسگرها و پردازش و عکسالعمل در قبال حادثههاست. این درحالی است که با قبول مسؤلیتهای حساستر، مثل سلامت انسان و امور مالی، موضوع امنیت حساسیت بیشتری پیدا میکند؛
+ نرمافزار همراه