DOCX, 72 Kb - Высшая школа экономики

advertisement
Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«Национальный исследовательский университет
«Высшая школа экономики»
Факультет компьютерных наук
Департамент программной инженерии
Утверждаю
Академический руководитель
образовательной программы
по направлению 09.04.04
«Программная инженерия»
И.А. Ломазова
______________________
«___» _____________ 2015 г.
Программа дисциплины «Основы разработки мобильных приложений» на английском языке: «Mobile Applications Development: Basics»
для направления 09.04.04 «Программная инженерия»
подготовки магистра
Магистерская программа «Системная и программная инженерия»
Специализация «Проектирование и разработка мобильных приложений»
Автор программы:
профессор, д.т.н. Д.В. Александров
Рекомендована Академическим советом образовательной программы
«Программная инженерия»
«___» ________ 2015 г.
Одобрена на заседании Департамента программной инженерии
«___» ________ 2015 г.
Руководитель Департамента
______________ С.М. Авдошин
Согласована
Менеджер Департамента программной инженерии
______________ Т.В. Климова
Москва, 2015
Настоящая программа не может быть использована другими подразделениями
университета и другими вузами без разрешения департамента - разработчика программы
Author of the Program:
Prof., Dr.Tech.Sci. Dmitry Alexandrov
General Information about Training Course:
The training course ‘Mobile Applications Development: Basics’ is offered to students of the
specialization (track) «Mobile Applications Design and Development» of Master Program
«System and Software Engineering» (area code 09.04.04), at the Faculty of Computer Science,
the National Research University - Higher School of Economics/HSE. The course is classified as
a compulsory subject (М.2.Б unit / Base module [Special subject disciplines М.2] of 2015 –
2016 academic year’s working syllabus); it is a two module course, which is started in module
#1. The duration of the course amounts to 64 class periods (both lectures and practical trainings)
divided into 24 lecture hours and 40 practical training hours. In addition, 116 academic hours are
set aside for self-studying of students. Mark check stipulated by the working syllabus consists of
results of performing of practical and homework tasks and one end-of-module test (MT, end of
first module) and final examination (FE) given in the second module.
Students Requirements:
It is presupposed that all individuals accepted as Master Program students completed
corresponding full-time Bachelor degree training programs and were selected (based on either
portfolio tenders, or other core performance indices) to continue their MS education in the
Program, therefore.
The students should be familiar with the basics of the following training courses: a) Objectoriented analysis and programming b) The software development methodology.
The students will learn how to analyze, design, and develop mobile apps, gather requirements,
draft user interfaces and create system prototypes, translate application requirements into
working code.
Course Objectives:
The course covers mobile application development basics. Main aspects include design and
architecture patterns, user interactions specifics, capabilities of modern smart devices, platforms
similarities and differences as well as main restrictions and features. The main objective of the
training course is also to examine and discuss with students fundamentals and principles of
mobile apps development, get familiar with common methods, standards, platforms, toolkits,
and frameworks for the development of multiversion mobile apps for the popular architectures.
The course is aimed to help students to develop skills that will enable them to construct mobile
apps of high quality, reliable, and that is reasonably easy to understand, modify and maintain.
Abstract
The training course ‘Mobile Applications Development: Basics’ is concerned methods,
platforms and tools for professional mobile apps development. It is based on the training
materials (tutorials) from mobile apps developers for the platforms IBM Bluemix, Apple iOS,
Google Android, Microsoft Windows Phone, Microsoft Azure, Amazon Web Services, etc.
Modern mobile apps development requires the collaborative effort of a diverse team with varied
skills. To be effective, team members need to understand the activities performed at each stage
in the development cycle. In this course, students will analyze, design, and implement
applications that meet user requirements through performing a collective team project. They gain
hands-on experience performing each role within the development team. The course is aimed at
students taking courses at mobile apps development in commerce and industry. The course is
aimed at studying the major current approaches to development of mobile apps and the the
processes like specification, design and implementation. It describes the methods, platforms,
technologies and tools, which are applied for mobile app development. It discusses also the
SEMAT initiative concerning “Software engineering method and theory”, requirements
engineering, design and implementation processes.
Training Objectives:
During the two-module course “Mobile Applications Development: Basics”, the students will:
 Study the platforms and toolkits for the fast development of modern mobile apps.
 Learn the processes, techniques and deliverables that are associated with requirements
engineering, app design, and implementation of mobile apps.
 Acquire skills in software design, and module development (including agile methods).
 Focus on techniques for mobile app development and modern trends in that field.
At the end of the course the students will acquire theoretical and practical knowledge and
will be able to use:
Technical skills
1.
2.
3.
4.
5.
6.
7.
Define an architecture of a mobile app.
Discuss the processes of mobile apps development.
Develop and write a proposal for project of mobile app development.
Develop and write a Software Requirements Specification.
Design a mobile app with back-end.
Implement the mobile app using toolkits and integrated development environments.
Prepare the final report for the course.
Soft skills
1.
2.
3.
4.
I.
Work within a team and understand team dynamics.
Be able to effectively communicate their work (Presentation skills).
Be able to write a project report (report writing skills).
Be able to reflect on their own work as well as the work of others (evaluate their experience).
Topic-wise curricula plan
(accompanied with suggested themes of practical trainings)
Audience Hours
№
Topic Name
Self Study
Practical
Lectures
Studies
Module 1 (32 hrs). Mobile app development: architectural patterns
1
Software engineering and
15
2
3
10
Course Hours,
Total
the SEMAT initiative. Agile
development of mobile apps:
fundamentals and tools
2
3
4
5
6
Mobile platform architecture
review: similarities and
differences
Architectural patterns and
styles for mobile app
development
Development of
requirements for a project of
mobile app
Cloud architectures for
mobile app development
Development of back-end
for mobile applications
Module 1, totally:
15
2
3
10
15
2
3
10
15
2
3
10
15
2
4
9
15
2
4
9
90
12
20
58
7
Module 2 (32 hrs). Mobile app development: design and implementation
Processes of mobile app
15
2
3
8
development. CASE tools
Designing of mobile apps
9
10
11
12
The native mobile app
development:
implementation
Hybrid mobile app
development: tools and
frameworks
Documenting of a project of
mobile app development
The features and capabilities
of modern mobile devices.
Trends in mobile app
development
Module 2, totally:
TOTAL:
II.
10
15
15
2
2
3
3
10
10
15
2
3
10
15
2
4
9
15
2
4
9
90
180
12
24
20
40
58
116
Basic book(s) and/or reader(s) (Publications)
Books:
 Microservices from Theory to Practice. Creating Applications in IBM Bluemix Using the
Microservices Approach. – First Edition. – IBM: Redbooks, 2015.
 Extending Your Business to Mobile Devices with IBM Worklight. – IBM: Redbooks, 2015.
 Scott Chacon. Pro Git. – 2012.
 Dane Baker, Tyson McCann. The Art of the App Store: The Business of Apple
Development. – Wrox, 2012.
 Alasdair Allan. Learning IPhone Programming: From Xcode to App Store, 2012.
 Кон М. Scrum. Гибкая разработка ПО, Вильямс, 2015.
 Pressman, R.S., Maxim B.R. Software Engineering: A Practitioner's Approach, McGrawHill, 2015.
 Кон М. Пользовательские истории. Гибкая разработка программного обеспечения,
Вильямс, 2012.
 Стоун Б. Джефф Безос и эра Amazon. The everything store, 2014.
 Таненбаум Э. Современные операционные системы, Питер, 2015.
 Вигерс К. Разработка требований к программному обеспечению, BHV, 2014.

Leffingwell D. Agile Software Requirements: Lean Requirements Practices for Teams,
Programs, and the Enterprise, Addison-Wesley, 2011.
 Буч Г., Рамбо Дж., Якобсон А. Введение в UML от создателей языка, ДМК Пресс,
2015.
 Фримен Э., Сьерра К., Бейтс Б. Паттерны проектирования, Питер, 2012.
 Ларман К., Вильямс. Применение UML 2.0 и шаблонов проектирования. Практическое
руководство, 2013.
 Bill Philips & Brian Hardy Android Programming: The Big Nerd Ranch Guide, 2013.
 Greg Nudelman Android Design Patterns: Interaction Design Solutions for Developers,
2013.
 Ian G. Clifton Android User Interface Design: Turning Ideas and Sketches into Beautifully
Designed Apps, 2013.
 Mario Zechner Beginning Android Games, 2013.
 Paul Thurrott Windows Phone 8.1 Field Guide, 2014.
 Yochay Kiriaty, Jaime Rodriguez, John Papa Learning Windows Phone Programming,
O'Reilly Media, 2013.
Internet-based Publications:
 Software Engineering Method and Theory. The Official SEMAT Website:
http://www.semat.org/;
 Software Engineering Conference (Russia) Website: http://www.secr.ru/;
 IBM Developer Works Website: http://www.ibm.com/developerworks/;
 Parse Tutorials Website: https://www.parse.com/tutorials#all
 The Microsoft .NET platform Website: www.microsoft.com/net
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley:
http://www.martinfowler.com/articles/newMethodology.html.
 Microsoft
Application
Architecture
Guide,
2nd
Edition
Microsoft:
https://msdn.microsoft.com/en-us/library/ff650706.aspx
 Moving Applications to the Cloud, 3rd Edition, Microsoft: https://msdn.microsoft.com/enus/library/ff728592.aspx
 Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications:
https://msdn.microsoft.com/en-us/library/dn568099.aspx
Other Recommended Sources of Information, including Ones under Free Electronic Access:
 IBM Bluemix Website: https://console.ng.bluemix.net/
 Microsoft Azure Website: https://azure.microsoft.com/ru-ru/
 Windows Phone Developer Blog: http://blogs.windows.com/windows_phone/b/wpdev/
 Channel 9 at MSDN Website: http://channel9.msdn.com
 Amazon Web Services Website: https://aws.amazon.com/ru/
 Resources of Apple Developer Website: https://developer.apple.com/resources/
 Online support for Android and WP8: http://stackoverflow.com
 Google Developer Console Website: https://console.developers.google.com
 Google Cloud Platform Website: https://cloud.google.com/
 Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
 Android developers online portal: http://developer.android.com
 Microsoft Download Center Website: https://www.microsoft.com/ru-ru/download
 IEEE Standards Association Website: http://standards.ieee.org
 Unity3D Documentation, Tutorials and Training: http://unity3d.com/learn/
 Open handset alliance Website: http://www.openhandsetalliance.com/
 Modern UI design principles and guidelines Website: http://msdn.microsoft.com/en-

us/library/windows/apps/hh779072.aspx
Ian Sommerville’s web page with available training materials:
http://www.comp.lancs.ac.uk/computing/resources/IanS/
IV. Education control forms / Assessments:
- [A] progress (interim) check: end-of-module test (MT) at the end of 1st module,
- [B] concluding check: final exam (FE) at the end of 2nd module (the last module of the course),
- [C] home assignment (H) during 1st and 2nd modules.
[Assessment] Progress (interim) [A] and concluding check [B] grades are made up of the following
components:
 Work activity (WA) during seminar hours in 1st, 2nd modules is controlled by the use of
keeping students attendance records and scoring (evaluation) involvement into discussions as
well as quality of exercise performance during practical trainings.
 End-of-module test (MT) at the end of module implies arrangement of the written test (in
lecture room) for all students enrolled to the course (the possibility of complementary
interview with students is still reserved for the purpose of accurate grade confirmation).
Subject area covered by the test embraces those topics of the course, which are discussed in
both lectures and practical trainings till the announced date; if student misses the end-of
module test because of some valid reason, the grade «absence» is written down to
corresponding column of the mark sheet. Depending on the number and complexity of the
end-of-module test tasks (final decision is taken by the course instructor), the duration of the
test amounts for 90 to 105 minutes. The end-of-module test (MT) is assessed on usual tenpoint scale.
Ultimate grades of the end-of-module check (MT) and concluding check (FE) on ten-point scale
are obtained as follows:
- (А) grade of the end-of-module check Ultimate MT (at the end of the 1st module) is calculated
as a weighted sum
Ultimate MT = 0.75 * WA + 0.25 * MT,
where WA and MT are ten-point scale grades for the written test (end of the 1st – beginning of
the 2nd module). Calculated value obtained is rounded to integer grade. Student gets the grade
«pass», if Ultimate MT >= 4 (refer to correspondence table below),
- (B) concluding check grade (FE) at the end of the last 2nd module accumulates course results as
follows:
FE = 0.65 * WA + 0.2 * H + 0.15 * E ,
where Work Activities (WA), Home Assignment (H) and Exam (E) are ten-point scale grades.
As always, calculated value of FE is rounded to integer grade.
Conversion of the concluding rounded grade (FE) to five-point scale grade is done in accordance
with the following table:
Summary Table: Correspondence of ten-point to five-point system’s marks
Ten-point scale [10]
Five-point scale [5]
1 - unsatisfactory
2 - very bad
3 - bad
4 – satisfactory
5 - quite satisfactory
Unsatisfactory- 2
Satisfactory- 3
6 - good
7 - very good
Good - 4
8 - nearly excellent
9 - excellent
Excellent- 5
10 - brilliantly
V. Course Contents
Topic 1. Software engineering and the SEMAT initiative. Agile development of mobile apps:
fundamentals and tools
♦ Topic outline:
 Introduction to the software engineering
 Software engineering main tools and techniques observation
 Software engineering method and theory. The SEMAT initiative
 Agile way of development of mobile apps: different approaches
 Tools and services for Agile development
♦ Main references/books/reading:
 Кон М. Scrum. Гибкая разработка ПО, Вильямс, 2015.
 Pressman, R.S., Maxim B.R. Software Engineering: A Practitioner's Approach, McGrawHill, 2015.
 Кон М. Пользовательские истории. Гибкая разработка программного обеспечения,
Вильямс, 2012.
 Вигерс К. Разработка требований к программному обеспечению, BHV, 2014.
 Leffingwell D. Agile Software Requirements: Lean Requirements Practices for Teams,
Programs, and the Enterprise, Addison-Wesley, 2011.
 Scott Chacon. Pro Git. – 2012.
♦ Additional references/books/reading:
 Software Engineering Method and Theory. The Official SEMAT Website:
http://www.semat.org/;
 Software Engineering Conference (Russia) Website: http://www.secr.ru/;
Topic 2. Mobile platform architecture review: similarities and differences
 Platform Introduction
 Android
 iPhone
 Windows Phone
 Platform Comparison: OS/Platform-specific
 Platform Comparison: Mobile-Specific
♦ Main references/books/reading:
 Dane Baker, Tyson McCann. The Art of the App Store: The Business of Apple
Development. – Wrox, 2012.
 Alasdair Allan. Learning IPhone Programming: From Xcode to App Store, 2012.
 Таненбаум Э. Современные операционные системы, Питер, 2015.
 Bill Philips & Brian Hardy Android Programming: The Big Nerd Ranch Guide, 2013.
 Greg Nudelman Android Design Patterns: Interaction Design Solutions for Developers,
2013.

Ian G. Clifton Android User Interface Design: Turning Ideas and Sketches into Beautifully
Designed Apps, 2013.
 Mario Zechner Beginning Android Games, 2013.
 Paul Thurrott Windows Phone 8.1 Field Guide, 2014.
 Yochay Kiriaty, Jaime Rodriguez, John Papa Learning Windows Phone Programming,
O'Reilly Media, 2013.
♦ Additional references/books/reading:
 IBM Developer Works Website: http://www.ibm.com/developerworks/;
 The Microsoft .NET platform Website: www.microsoft.com/net
 Microsoft
Application
Architecture
Guide,
2nd
Edition
Microsoft:
https://msdn.microsoft.com/en-us/library/ff650706.aspx
 Windows Phone Developer Blog: http://blogs.windows.com/windows_phone/b/wpdev/
 Channel 9 at MSDN Website: http://channel9.msdn.com
 Resources of Apple Developer Website: https://developer.apple.com/resources/
 Online support for Android and WP8: http://stackoverflow.com
 Google Developer Console Website: https://console.developers.google.com
 Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
 Android developers online portal: http://developer.android.com
 Microsoft Download Center Website: https://www.microsoft.com/ru-ru/download
 IEEE Standards Association Website: http://standards.ieee.org
 Open handset alliance Website: http://www.openhandsetalliance.com/
Topic 3. Architectural patterns and styles for mobile app development
♦ Topic outline:
 Architectural patterns and styles overview
 Client/Server Architectural Style
 Component-Based Architectural Style
 Domain Driven Design Architectural Style
 Layered Architectural Style
 Message Bus Architectural Style
 N-Tier / 3-Tier Architectural Style
 Object-Oriented Architectural Style
 Service-Oriented Architectural Style
 Cloud Design Patterns
 Moving Applications to the Cloud
 Using the Microservices Approach
♦ Main references/books/reading:
 Microservices from Theory to Practice. Creating Applications in IBM Bluemix Using the
Microservices Approach. – First Edition. – IBM: Redbooks, 2015.
 Таненбаум Э. Современные операционные системы, Питер, 2015.
 Буч Г., Рамбо Дж., Якобсон А. Введение в UML от создателей языка, ДМК Пресс,
2015.
 Фримен Э., Сьерра К., Бейтс Б. Паттерны проектирования, Питер, 2012.
 Ларман К., Вильямс. Применение UML 2.0 и шаблонов проектирования. Практическое
руководство, 2013.
♦ Additional references/books/reading:
 The Microsoft .NET platform Website: www.microsoft.com/net














Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley:
http://www.martinfowler.com/articles/newMethodology.html.
Microsoft
Application
Architecture
Guide,
2nd
Edition
Microsoft:
https://msdn.microsoft.com/en-us/library/ff650706.aspx
Moving Applications to the Cloud, 3rd Edition, Microsoft: https://msdn.microsoft.com/enus/library/ff728592.aspx
Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications:
https://msdn.microsoft.com/en-us/library/dn568099.aspx
IBM Bluemix Website: https://console.ng.bluemix.net/
Microsoft Azure Website: https://azure.microsoft.com/ru-ru/
Windows Phone Developer Blog: http://blogs.windows.com/windows_phone/b/wpdev/
Channel 9 at MSDN Website: http://channel9.msdn.com
Amazon Web Services Website: https://aws.amazon.com/ru/
Google Cloud Platform Website: https://cloud.google.com/
Resources of Apple Developer Website: https://developer.apple.com/resources/
Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
IEEE Standards Association Website: http://standards.ieee.org
Ian Sommerville’s web page with available training materials:
http://www.comp.lancs.ac.uk/computing/resources/IanS/
Topic 4. Development of requirements for a project of mobile app
♦ Topic outline:
 Definition of a requirement;
 Different types of requirements:
o Concepts of user and system requirements;
o Functional and non-functional requirements;
o User and system requirements;
 The software requirements document;
 Requirements engineering processes activities and their relationships;
 Requirements validation and the role of requirements reviews;
 The role of requirements management in support of other requirements engineering
processes;
 Problems of requirements analysis and requirements change management.
♦ Main references/books/reading:
 Кон М. Scrum. Гибкая разработка ПО, Вильямс, 2015.
 Pressman, R.S., Maxim B.R. Software Engineering: A Practitioner's Approach, McGrawHill, 2015.
 Кон М. Пользовательские истории. Гибкая разработка программного обеспечения,
Вильямс, 2012.
 Вигерс К. Разработка требований к программному обеспечению, BHV, 2014.
 Leffingwell D. Agile Software Requirements: Lean Requirements Practices for Teams,
Programs, and the Enterprise, Addison-Wesley, 2011.
 Буч Г., Рамбо Дж., Якобсон А. Введение в UML от создателей языка, ДМК Пресс,
2015.
♦ Additional references/books/reading:
 Software Engineering Method and Theory. The Official SEMAT Website:
http://www.semat.org/;
 Software Engineering Conference (Russia) Website: http://www.secr.ru/;





IBM Developer Works Website: http://www.ibm.com/developerworks/;
IBM Bluemix Website: https://console.ng.bluemix.net/
Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
IEEE Standards Association Website: http://standards.ieee.org
Ian Sommerville’s web page with available training materials:
http://www.comp.lancs.ac.uk/computing/resources/IanS/
Topic 5. Cloud architectures for mobile app development
♦ Topic outline:
 IBM Bluemix – Cloud Platform for Rapid Development, Deployment and Management of
Apps
 Fundamentals of Bluemix
 Fundamentals of DevOps
 Demo showcasing best practices
 Features of SoftLayer Architecture
 New Features of IBM MobileFirst Platform
 Amazon Web Services overview
 Microsoft Azure overview
 Google Cloud Platform overview
 Parse overview
 Tools and frameworks for hybrid apps development
 Publication of Mobile Apps and the Commercialization Mechanism
♦ Main references/books/reading:
 Microservices from Theory to Practice. Creating Applications in IBM Bluemix Using the
Microservices Approach. – First Edition. – IBM: Redbooks, 2015.
 IBM Developer Works Website: http://www.ibm.com/developerworks/;
 Parse Tutorials Website: https://www.parse.com/tutorials#all
 The Microsoft .NET platform Website: www.microsoft.com/net
 Moving Applications to the Cloud, 3rd Edition, Microsoft: https://msdn.microsoft.com/enus/library/ff728592.aspx
 Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications:
https://msdn.microsoft.com/en-us/library/dn568099.aspx
♦ Additional references/books/reading:
 IBM Bluemix Website: https://console.ng.bluemix.net/
 Microsoft Azure Website: https://azure.microsoft.com/ru-ru/
 Channel 9 at MSDN Website: http://channel9.msdn.com
 Amazon Web Services Website: https://aws.amazon.com/ru/
 Google Cloud Platform Website: https://cloud.google.com/
 Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
 Microsoft Download Center Website: https://www.microsoft.com/ru-ru/download
Topic 6. Development of back-end for mobile applications
♦ Topic outline:
 Introduction to Development of Mobile Apps: Tools and Examples
 Mobile Data: Saving Data in Bluemix
 Development of App using Worflow Service on Bluemix Platform
 Creating Applications in IBM Bluemix Using the Microservices Approach
 SQL & NOSQL Databases in Bluemix: Connection and Usage Examples


Push: Connection of Push Notifications in Bluemix
Using the Watson Services and libraries AlchemyAPI and OpenCV, Analysis of the Social
Profile Using Bluemix Services
 Application of Machine Learning Algorithms in Mobile Apps
 IoT: Smart Home Control, Using iBeacon Technology in Apps
 UX Fundamentals. Material Design
 Creating a Cloud Backend for iOS Apps Using Popular Cloud Platforms
 Ruby language and Ruby on Rails Framework overview
 Development and Deployment of a Back-end for the Mobile App for Management of a
Conference on the Bluemix Platform Using ROR
♦ Main references/books/reading:
 Microservices from Theory to Practice. Creating Applications in IBM Bluemix Using the
Microservices Approach. – First Edition. – IBM: Redbooks, 2015.
 IBM Developer Works Website: http://www.ibm.com/developerworks/;
 Parse Tutorials Website: https://www.parse.com/tutorials#all
 The Microsoft .NET platform Website: www.microsoft.com/net
 Moving Applications to the Cloud, 3rd Edition, Microsoft: https://msdn.microsoft.com/enus/library/ff728592.aspx
 Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications:
https://msdn.microsoft.com/en-us/library/dn568099.aspx
♦ Additional references/books/reading:
 IBM Bluemix Website: https://console.ng.bluemix.net/
 Microsoft Azure Website: https://azure.microsoft.com/ru-ru/
 Channel 9 at MSDN Website: http://channel9.msdn.com
 Amazon Web Services Website: https://aws.amazon.com/ru/
 Google Cloud Platform Website: https://cloud.google.com/
 Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
 Microsoft Download Center Website: https://www.microsoft.com/ru-ru/download
Topic 7. Processes of mobile app development. CASE tools
♦ Topic outline:
 Introduction into software process models;
 Main activities for requirements engineering, software development, testing and evolution.
 Process iteration: incremental delivery and spiral development.
 The main tasks undertaken by project managers, roles and responsibilities in managing
mobile app development process;
 CASE technology for software process activities;
 Summary of software process models: benefits and risks.
♦ Main references/books/reading:
 Кон М. Scrum. Гибкая разработка ПО, Вильямс, 2015.
 Pressman, R.S., Maxim B.R. Software Engineering: A Practitioner's Approach, McGrawHill, 2015.
 Кон М. Пользовательские истории. Гибкая разработка программного обеспечения,
Вильямс, 2012.
 Стоун Б. Джефф Безос и эра Amazon. The everything store, 2014.
 Вигерс К. Разработка требований к программному обеспечению, BHV, 2014.
♦ Additional references/books/reading:







Software Engineering Method and Theory. The Official SEMAT Website:
http://www.semat.org/;
Software Engineering Conference (Russia) Website: http://www.secr.ru/;
Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
Microsoft Download Center Website: https://www.microsoft.com/ru-ru/download
IEEE Standards Association Website: http://standards.ieee.org
Open handset alliance Website: http://www.openhandsetalliance.com/
Ian Sommerville’s web page with available training materials:
http://www.comp.lancs.ac.uk/computing/resources/IanS/
Topic 8. Designing of mobile apps
♦ Topic outline:
 Introduction into design process activities;
 Design process models: object-oriented design, real-time design, interface design, etc.;
 UML design process brief introduction;
 Design patterns
 Roles of prototyping in the software process.
 Mobile app design
 UX Fundamentals
 Modern UI design principles
♦ Main references/books/reading:
 Extending Your Business to Mobile Devices with IBM Worklight. – IBM: Redbooks, 2015.
 Scott Chacon. Pro Git. – 2012.
 Dane Baker, Tyson McCann. The Art of the App Store: The Business of Apple
Development. – Wrox, 2012.
 Alasdair Allan. Learning IPhone Programming: From Xcode to App Store, 2012.
 Буч Г., Рамбо Дж., Якобсон А. Введение в UML от создателей языка, ДМК Пресс,
2015.
 Фримен Э., Сьерра К., Бейтс Б. Паттерны проектирования, Питер, 2012.
 Ларман К., Вильямс. Применение UML 2.0 и шаблонов проектирования. Практическое
руководство, 2013.
 Bill Philips & Brian Hardy Android Programming: The Big Nerd Ranch Guide, 2013.
 Greg Nudelman Android Design Patterns: Interaction Design Solutions for Developers,
2013.
 Ian G. Clifton Android User Interface Design: Turning Ideas and Sketches into Beautifully
Designed Apps, 2013.
 Mario Zechner Beginning Android Games, 2013.
 Paul Thurrott Windows Phone 8.1 Field Guide, 2014.
 Yochay Kiriaty, Jaime Rodriguez, John Papa Learning Windows Phone Programming,
O'Reilly Media, 2013.
♦ Additional references/books/reading:
 The Microsoft .NET platform Website: www.microsoft.com/net
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley:
http://www.martinfowler.com/articles/newMethodology.html.
 Microsoft
Application
Architecture
Guide,
2nd
Edition
Microsoft:
https://msdn.microsoft.com/en-us/library/ff650706.aspx
 Windows Phone Developer Blog: http://blogs.windows.com/windows_phone/b/wpdev/
 Channel 9 at MSDN Website: http://channel9.msdn.com










Resources of Apple Developer Website: https://developer.apple.com/resources/
Online support for Android and WP8: http://stackoverflow.com
Google Developer Console Website: https://console.developers.google.com
Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
Android developers online portal: http://developer.android.com
Microsoft Download Center Website: https://www.microsoft.com/ru-ru/download
IEEE Standards Association Website: http://standards.ieee.org
Unity3D Documentation, Tutorials and Training: http://unity3d.com/learn/
Open handset alliance Website: http://www.openhandsetalliance.com/
Modern UI design principles and guidelines Website: http://msdn.microsoft.com/enus/library/windows/apps/hh779072.aspx
Topic 9. The native mobile app development: implementation
♦ Topic outline:
 Example of implementation of iOS mobile app;
 Example of implementation of Android mobile app;
 Example of implementation of WP mobile app;
 Example of binding of mobile app to cloud back-end
♦ Main references/books/reading:
 Alasdair Allan. Learning IPhone Programming: From Xcode to App Store, 2012.
 Bill Philips & Brian Hardy Android Programming: The Big Nerd Ranch Guide, 2013.
 Greg Nudelman Android Design Patterns: Interaction Design Solutions for Developers,
2013.
 Mario Zechner Beginning Android Games, 2013.
 Paul Thurrott Windows Phone 8.1 Field Guide, 2014.
 Yochay Kiriaty, Jaime Rodriguez, John Papa Learning Windows Phone Programming,
O'Reilly Media, 2013.
♦ Additional references/books/reading:
 IBM Developer Works Website: http://www.ibm.com/developerworks/;
 The Microsoft .NET platform Website: www.microsoft.com/net
 Microsoft
Application
Architecture
Guide,
2nd
Edition
Microsoft:
https://msdn.microsoft.com/en-us/library/ff650706.aspx
 Windows Phone Developer Blog: http://blogs.windows.com/windows_phone/b/wpdev/
 Resources of Apple Developer Website: https://developer.apple.com/resources/
 Online support for Android and WP8: http://stackoverflow.com
 Google Developer Console Website: https://console.developers.google.com
 Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
 Android developers online portal: http://developer.android.com
Topic 10. Hybrid mobile app development: tools and frameworks
♦ Topic outline:
 Ionic Framework
 Mobile Angular UI
 Intel XDK
 Appcelerator Studio
 Example of implementation of hybrid mobile app
♦ Main references/books/reading:
 Ionic framework Website: http://ionicframework.com/



Mobile Angular UI Website: http://mobileangularui.com/
Intel Developer Zone Website: https://software.intel.com/en-us/intel-xdk
Appcelerator Studio Website: www.appcelerator.com
Topic 11. The features and capabilities of modern mobile devices
♦ Topic outline:
 The features of mobile devices
 The capabilities of mobile devices
 IoT and mobile devices
 Wearable devices
 Detecting devices and their features
♦ Main references/books/reading:
 IBM Developer Works Website: http://www.ibm.com/developerworks/;
 Microsoft
Application
Architecture
Guide,
2nd
Edition
Microsoft:
https://msdn.microsoft.com/en-us/library/ff650706.aspx
 Resources of Apple Developer Website: https://developer.apple.com/resources/
 Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
 Android developers online portal: http://developer.android.com
 IEEE Standards Association Website: http://standards.ieee.org
 Open handset alliance Website: http://www.openhandsetalliance.com/
Topic 12. Trends in mobile app development
♦ Topic outline:
 Trends in mobile app development:
1. Rapid Mobile Development
2. Cloud Driven
3. App Security
4. Beacon and Location Based Wi-Fi Services
5. Wearable Tech
6. M-commerce, Banking and Mobile Payments
7. Internet of Things (IoT)
8. Big Data and App Analytics
9. The Growth of Enterprise Apps
10. In- App Advertising and Purchasing
11. User Experience First
12. App Marketing
13. HTML 5
14. Mobile Gaming
15. Smart Cities, Homes and Offices
♦ Main references/books/reading:
 IBM Developer Works Website: http://www.ibm.com/developerworks/;
 Microsoft
Application
Architecture
Guide,
2nd
Edition
Microsoft:
https://msdn.microsoft.com/en-us/library/ff650706.aspx
 Resources of Apple Developer Website: https://developer.apple.com/resources/
 Official Google developers blog: http://googleblog.blogspot.com/search/label/Android
 Android developers online portal: http://developer.android.com
 IEEE Standards Association Website: http://standards.ieee.org
 Open handset alliance Website: http://www.openhandsetalliance.com/



Scott Chacon. Pro Git. – 2012.
Unity3D Documentation, Tutorials and Training: http://unity3d.com/learn/
Стоун Б. Джефф Безос и эра Amazon. The everything store, 2014.
VI. Assignment topics for various education control forms:
Home assignment is made as a capstone project.
Capstone project will have the main result as a real world mobile app with
a back-end on one of the popular cloud platforms.
There are some topics for presentations on the seminars:
 Software process model (of your choice);
 Describe one of a methodology of development (of your choice);
 Technologies of Agile software development;
 Innovative models and tools for mobile app development;
 Technologies and frameworks for development;
 Describe specifics of RAD technology
 CASE modeling features for mobile app development;
 Hybrid mobile app development
 Architectural patterns (of your choice);
 Design patterns (of your choice);
 Ruby language and Ruby on Rails Framework overview
 Using iBeacons in mobile apps
 Development of geo social apps
 Conduct post implementation audit and analyze implementation results.
 Trends in mobile app development (of your choice);
VII. Topics for course results quality assessment
Exemplary questions:
 Give a definition of terms «software engineering », «back-end», «hybrid mobile app»,
«cloud platform», «architectural patterns», etc. (the matter is related to main concepts
introduced in the training course);
 What are the ideas of Agile way of development of mobile apps?
 Provide examples of different application types and give its key characteristics.
 What are the incremental development problems and benefits?
 Describe the different IDE and techniques for the mobile app development.
 What are the key challenges facing mobile app development? Provide examples and give
short explanations?
 Describe mobile app design process and provide the examples.
 Requirements engineering. Types of requirement, requirements completeness and
consistency.
 What are the principles of modern UI design?
 What are the trends in mobile app development?
 What are the differences between the cloud platforms for the mobile app development?
 Rapid hybrid mobile app development: problems and benefits.
 What are the main mobile app development process activities?
 What is the need of app prototyping? Where it can be used? What are the benefits and
problems of prototyping?

Describe the features of using the microservices approach for creating mobile apps.
The author of the program: Dmitry Alexandrov
Download