Muutke küpsiste eelistusi

E-raamat: Interaction Flow Modeling Language: Model-Driven UI Engineering of Web and Mobile Apps with IFML

(Politecnico di Milano, Milano, Italy), (Professor of Web Technologies, Politecnico di Milano, Milano, Italy)
  • Formaat: PDF+DRM
  • Sari: The MK/OMG Press
  • Ilmumisaeg: 17-Nov-2014
  • Kirjastus: Morgan Kaufmann Publishers In
  • Keel: eng
  • ISBN-13: 9780128005323
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 50,49 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Sari: The MK/OMG Press
  • Ilmumisaeg: 17-Nov-2014
  • Kirjastus: Morgan Kaufmann Publishers In
  • Keel: eng
  • ISBN-13: 9780128005323
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Interaction Flow Modeling Language describes how to apply model-driven techniques to the problem of designing the front end of software applications, i.e., the user interaction. The book introduces the reader to the novel OMG standard Interaction Flow Modeling Language (IFML). Authors Marco Brambilla and Piero Fraternali are authors of the IFML standard and wrote this book to explain the main concepts of the language. They effectively illustrate how IFML can be applied in practice to the specification and implementation of complex web and mobile applications, featuring rich interactive interfaces, both browser based and native, client side components and widgets, and connections to data sources, business logic components and services.

Interaction Flow Modeling Language provides you with unique insight into the benefits of engineering web and mobile applications with an agile model driven approach. Concepts are explained through intuitive examples, drawn from real-world applications. The authors accompany you in the voyage from visual specifications of requirements to design and code production. The book distills more than twenty years of practice and provides a mix of methodological principles and concrete and immediately applicable techniques.

  • Learn OMG’s new IFML standard from the authors of the standard with this approachable reference
  • Introduces IFML concepts step-by-step, with many practical examples and an end-to-end case example
  • Shows how to integrate IFML with other OMG standards including UML, BPMN, CWM, SoaML and SysML
  • Discusses how to map models into code for a variety of web and mobile platforms and includes many useful interface modeling patterns and best practices

Arvustused

"...a timely attempt to add value to software engineering process modeling exercises with a specific emphasis on establishing uniformity of the interaction style and usability of the interface...very systematic in approaching the modeling exercise by defining its belief systems... and then binding all these for better user interfaces." --Computing Reviews

Muu info

Learn how to apply model-driven techniques when designing the front end of applications with this introduction to the new OMG standard Interaction Flow Modeling Language (IFML).
Foreword xiii
Chapter 1 Introduction 1(8)
1.1 What IFML is About
2(1)
1.2 The IFML Design Principles
3(2)
1.3 How to Read this Book
5(1)
1.3.1 Structure of the Book
6(1)
1.4 On-line Resources
6(1)
1.5 Background
7(1)
1.6 Acknowledgment
8(1)
Chapter 2 IFML in a Nutshell 9(16)
2.1 Scope and Perspectives
9(2)
2.2 Overview of IFML Main Concepts
11(4)
2.3 Role of IFML in the Development Process
15(4)
2.4 A Complete Example
19(4)
2.5 Summary of the
Chapter
23(1)
2.6 Bibliographic Notes
24(1)
Chapter 3 Domain Modeling 25(26)
3.1 Classes
26(1)
3.2 Attributes
26(1)
3.3 Identification and Primary Key
27(2)
3.4 Attribute Type and Visibility
29(1)
3.5 Operations
30(1)
3.6 Generalization Hierarchies
31(1)
3.7 Associations
32(2)
3.8 Nary Associations and Associations with Attributes
34(2)
3.9 Derived Information and the Object Constraint Language (OCL)
36(2)
3.10 Domain Modeling Patterns and Practices
38(1)
3.11 The Process of Domain Modeling
39(8)
3.11.1 Designing the Core Subschema
40(1)
3.11.2 Designing an Interconnection Subschema
41(1)
3.11.3 Designing an Access Subschema
41(3)
3.11.4 Designing a Personalization Subschema
44(3)
3.12 Running Example
47(2)
3.13 Summary of the
Chapter
49(1)
3.14 Bibliographic Notes
49(2)
Chapter 4 Modeling the Composition of the User Interface 51(26)
4.1 Interface Organization
51(2)
4.2 View Container Nesting
53(2)
4.3 View Container Navigation
55(1)
4.4 View Container Relevance and Visibility
55(2)
4.5 Windows
57(2)
4.6 Context and Viewpoint
59(3)
4.7 User Interaction Patterns
62(1)
4.8 Interface Organization Patterns and Practices
62(9)
4.8.1 Desktop Interface Organization Patterns
62(1)
4.8.2 Web Interface Organization Patterns
63(7)
4.8.3 Mobile Interface Organization Patterns
70(1)
4.9 Running Example
71(5)
4.10 Summary of the
Chapter
76(1)
4.11 Bibliographic Notes
76(1)
Chapter 5 Modeling Interface Content and Navigation 77(38)
5.1 What ViewContainers Contain: ViewComponents
78(1)
5.2 Events and Navigation Flows with ViewComponents
79(2)
5.3 Content Dependencies: Data Binding
81(2)
5.4 Input-Output Dependencies: Parameter Binding
83(2)
5.5 Extending IFML with Specialized ViewComponents and Events
85(6)
5.5.1 Data Publishing Extensions
86(3)
5.5.2 Data Entry Extensions
89(2)
5.6 Content and Navigation Patterns and Practices
91(2)
5.6.1 Pattern CN-MD: Master Detail and PAFIERN CN-MMD: Master Multidetail
92(1)
5.6.2 Pattern CN-MLMD: Multilevel Master Detail
92(1)
5.6.3 Pattern CN-DEF: Default Selection
92(1)
5.7 Data Entry Patterns
93(6)
5.7.1 Pattern DE-FRM: Multifield Forms
93(1)
5.7.2 Pattern DE-PLDF: Preloaded Field
94(2)
5.7.3 Pattern DE-PASF: Preassigned Selection Field
96(1)
5.7.4 Pattern DE-DLKP: Data Lookup
97(1)
5.7.5 Pattern DE-CSF: Cascade Selection Fields
98(1)
5.7.6 Pattern DE-WIZ: Wizard
99(1)
5.8 Search Patterns
99(4)
5.8.1 Pattern CS-SRC: Basic Search
99(2)
5.8.2 Pattern CS-MCS: Multicriteria Search
101(1)
5.8.3 Pattern CS-FSR: Faceted Search
101(2)
5.9 Running Example
103(10)
5.10 Summary of the
Chapter
113(1)
5.11 Bibliographic Notes
113(2)
Chapter 6 Modeling Business Actions 115(22)
6.1 Actions
116(3)
6.2 Notification
119(1)
6.3 Business Action Patterns
119(12)
6.3.1 Content Management Patterns
119(1)
6.3.2 Pattern A-OCR: Object Creation
120(1)
6.3.3 Pattern A-OACR: Object and Association Creation
120(2)
6.3.4 Pattern A-ODL: Object Deletion
122(1)
6.3.5 Pattern A-CODL: Cascaded Deletion
123(2)
6.3.6 Pattern A-OM: Object Modification
125(3)
6.3.7 Pattern A-AM: Association Management
128(2)
6.3.8 Pattern A-NOTIF: Notification
130(1)
6.4 Running Example
131(5)
6.5 Summary of the
Chapter
136(1)
6.6 Bibliographic Notes
136(1)
Chapter 7 IFML Extensions 137(30)
7.1 Desktop Extensions
138(7)
7.1.1 Event Extensions
138(2)
7.1.2 Component Extensions
140(4)
7.1.3 ComponentPart Extensions
144(1)
7.2 Web Extensions
145(7)
7.2.1 Container Extensions: Pages, Areas, and Site Views
145(2)
7.2.2 Event and Interaction Flow Extensions
147(1)
7.2.3 Component Extensions
148(4)
7.3 Mobile Extensions
152(9)
7.3.1 Context Extensions
153(1)
7.3.2 Containers Extensions
154(1)
7.3.3 Component and Event Extensions
155(1)
7.3.4 Cameras and Sensors
155(1)
7.3.5 Communication
156(1)
7.3.6 Position
157(3)
7.3.7 Maps
160(1)
7.3.8 Gestures
161(1)
7.4 Multiscreen Extensions
161(3)
7.5 Summary of the
Chapter
164(1)
7.6 Bibliographic Notes
164(3)
Chapter 8 Modeling Patterns 167(66)
8.1 Interface Organization
167(6)
8.1.1 Reusable Modules
167(2)
8.1.2 Master Pages
169(4)
8.2 Navigation and Orientation
173(17)
8.2.1 Toolbars and Menus
174(12)
8.2.2 Pattern CN-UP AND CN-BACK: Up and Back Navigation
186(1)
8.2.3 Pattern CN-BREAD: Breadcrumbs
187(3)
8.3 Content Publishing, Scrolling, and Previewing
190(7)
8.3.1 Pattern CN-MMD: Master Multidetail
190(2)
8.3.2 Pattern CN-PG: Paging
192(1)
8.3.3 Pattern CN-PR: Collection Preview
192(4)
8.3.4 Pattern CN-Alpha: Alphabetical Filter
196(1)
8.4 Data Entry
197(7)
8.4.1 Pattern DE-TDFP: Type-Dependent Field Properties
197(1)
8.4.2 Pattern DE-RTE: Rich Text Editing
197(1)
8.4.3 Pattern DE-AUTO: Input Auto-Completion
198(3)
8.4.4 Pattern DE-DYN: Dynamic Selection Fields
201(1)
8.4.5 Pattern DE-INPL: In-Place Editing
201(2)
8.4.6 Pattern DE-VAL: Input Data Validation
203(1)
8.5 Search
204(1)
8.5.1 Pattern CS-RSRC: Restricted Search
204(1)
8.5.2 Pattern CS-SRCS: Search Suggestions
204(1)
8.6 Content Management
205(3)
8.6.1 Pattern CM-CBCM: Class-Based Content Management
205(3)
8.6.2 Pattern CM-PBCM: Page-Based Content Management
208(1)
8.7 Personalization, Identification, and Authorization
208(12)
8.7.1 Pattern IA-LOGIN: Login
209(1)
8.7.2 Pattern IA-LOGOUT: Logout
210(1)
8.7.3 Pattern IA-CEX: Context Expiration Notification
210(3)
8.7.4 Pattern IA-SPLOG: Login to a Specific ViewContainer
213(1)
8.7.5 Pattern IA-ROLE: User Role Display and Switching
213(2)
8.7.6 Pattern IA-RBP: Role-Based Permissions for View Elements
215(1)
8.7.7 Pattern IA-NRBP: Negative Role-Based Permissions for View Elements
216(1)
8.7.8 Pattern IA-OBP: Object-Based Permissions
217(1)
8.7.9 Pattern IA-PRO: User Profile Display and Management
217(3)
8.7.10 Pattern IA-IPSI: In-Place Sign-In
220(1)
8.8 Session Data
220(5)
8.8.1 Pattern SES-CR: Creating Session Data from Persistent Data
222(1)
8.8.2 Pattern SES-PER: Persisting Session Data
223(1)
8.8.3 Pattern SES-EXC: Session Data Expiration Catching
224(1)
8.9 Social Functions
225(3)
8.9.1 Pattern SOC-AW: Activity Wall
225(1)
8.9.2 Pattern SOC-SH: Sharing, Liking, and Commenting
226(2)
8.9.3 Pattern SOC-FR: Friendship Management
228(1)
8.10 GEO Patterns
228(2)
8.10.1 Pattern GEO-LAS: Location-Aware Search
228(2)
8.11 Summary of the
Chapter
230(1)
8.12 Bibliographic Notes
230(3)
Chapter 9 IFML by Examples 233(46)
9.1 Media Sharing App
233(19)
9.1.1 Domain Model
233(1)
9.1.2 IFML Model
234(18)
9.2 Online Auctions
252(24)
9.2.1 Domain Model
253(3)
9.2.2 IFML Model
256(20)
9.3 Summary of the
Chapter
276(3)
Chapter 10 Implementation of Applications Specified with IFML 279(56)
10.1 Implementation of the Front End for URE-HTML Page Templates
282(19)
10.1.1 Overview of the ViewContainer Computation Steps
282(2)
10.1.2 Standalone ViewContainer
284(3)
10.1.3 Navigation Across ViewContainers
287(3)
10.1.4 Navigation Within the Same ViewContainer
290(3)
10.1.5 Forms
293(2)
10.1.6 Landmarks and Nested ViewContainers
295(3)
10.1.7 Actions
298(1)
10.1.8 Context
299(2)
10.2 Implementation of the Front End for Presentation Frameworks
301(15)
10.2.1 Model-View-Controller and its Adaptation to the Web
301(4)
10.2.2 Mapping IFML to the Spring MVC Framework
305(1)
10.2.3 Mapping ViewContainers to Spring MVC
305(5)
10.2.4 Mapping ViewComponents to Spring MVC
310(2)
10.2.5 Mapping Forms to Spring MVC
312(3)
10.2.6 Mapping Operations to the MVC Architecture
315(1)
10.3 Implementation of the Front End for Rich Internet Applications
316(5)
10.3.1 Mapping IFML to the RIA Architecture
317(4)
10.4 Implementation of the Front End for Mobile Applications
321(12)
10.4.1 The Android Development Environment
322(1)
10.4.2 Mapping IFML to Native Android Code
323(10)
10.5 Summary of the
Chapter
333(1)
10.6 Bibliographic Notes
333(2)
Chapter 11 Tools for Model-Driven Development of Interactive Applications 335(24)
11.1 Introduction to Webratio
335(2)
11.2 Domain Model Design
337(1)
11.3 IFML Front-End Design
338(3)
11.4 Data Mapping and Alignment
341(1)
11.5 Action Design
342(2)
11.6 Presentation Design
344(2)
11.7 Code Generation
346(4)
11.7.1 Code Generation for Web and Rich Internet Application
346(4)
11.7.2 Code Generation for Mobile Applications
350(1)
11.8 Advanced Features
350(5)
11.8.1 Model Checking
350(1)
11.8.2 Model Debugging
351(1)
11.8.3 Cooperative Work and Enterprise Scale Development
351(2)
11.8.4 Automatic Documentation
353(1)
11.8.5 IFML Extensibility
354(1)
11.9 Summary of the
Chapter
355(2)
11.10 Bibliographic Notes
357(2)
Chapter 12 IFML Language Design, Execution, and Integration 359(22)
12.1 IFML Language Specification Through Metamodeling
359(3)
12.1.1 Metamodel
360(1)
12.1.2 Extensibility
361(1)
12.1.3 Profile, Visual Notation, and Interchange Format
362(1)
12.2 IFML Model Execution
362(13)
12.2.1 State Representation
363(1)
12.2.2 ViewContainer State
363(1)
12.2.3 State of a ViewComponent
364(1)
12.2.4 ActivationExpressions
364(2)
12.2.5 Event Processing
366(1)
12.2.6 ViewContainer Visibility Update
366(1)
12.2.7 ViewComponent Status Update
367(1)
12.2.8 Navigation History Preservation
367(3)
12.2.9 Parameter Values Conflicts
370(1)
12.2.10 ViewComponent Computation Process
371(4)
12.3 IFML Models Integration with Other System Modeling Perspectives
375(5)
12.3.1 Integration with Business Models and Requirements
377(1)
12.3.2 Integration with Content Model and Business Logic
377(1)
12.3.3 Integration with Implementation and Deployment Aspects
378(2)
12.4 Summary of the
Chapter
380(1)
12.5 Bibliographic Notes
380(1)
Appendix A: IFML Notation Summary 381(8)
Appendix B: List of IFML Design Patterns 389(6)
References 395(6)
Index 401
Marco Brambilla is full professor at Politecnico di Milano. He is active in research and innovation, both at industrial and academic level. His research interests include data science, software modeling languages and design patterns, crowdsourcing, social media monitoring, and big data analysis. He has been visiting researcher at CISCO, San Josè, and University of California, San Diego. He has been visiting professor at Dauphine University, Paris. He is founder of various startups and spinoffs, including WebRatio, Fluxedo, and Quantia, focusing on social media analysis, software modeling, Mobile and Business Process based software applications, and data science projects. He is author of various international books including Model Driven Software Development in Practice (II edizione, Morgan-Claypool, 2017, adopted in 100+ universities worldwide), Web Information Retrieval (Springer, 2013), Interaction Flow Modeling Language (Morgan-Kauffman, 2014), Designing Data-Intensive Web Applications (Morgan-Kauffman, 2002). He also authored more than 250 research articles in top research journals and conferences. He was awarded various best paper awards and gave keynotes and speeches at many conferences and organisations. He is the main author of the OMG (Object Management Group) standard IFML (Interaction Flow Modeling Language). He participated in several European and international research projects. He has been reviewer of FP7 projects and evaluator of EU FP7 proposals, as well as of national and local government funding programmes throughout Europe. He has been PC chair of ICWE 2008 and ICWE 2021, as well as co-chair of various tracks, conferences and workshops. He is associate editor of various journals and PC member of several conferences and workshops.

Piero Fraternali has researched for twenty years on the methods and tools for improving the development of Web and multi-channel applications. He is the principal investigator of the Web Modeling Language (WebML), which inspired the IFML OMG standard, and co-founder of WebRatio, a company specialized in model-driven tools.