220 likes | 355 Vues
This document outlines a comprehensive framework for UI specification, focusing on the syntax, structure, and critical components required to define user interfaces. It includes detailed examples of various web pages, such as login, registration, and product listing, with an emphasis on their unique identifiers, templates, and functionality. Additionally, it addresses potential issues in AI planning, offering matching solutions and a tree structure based on page specifications to enhance design consistency. This guide serves as a vital resource for developers and designers in creating coherent UI specifications.
E N D
UI specification of website FormalSpecGroup Phạm Le Sum
Content Framework reviewing Syntax of UI specification Example A matching solution Some issues.
Content Framework reviewing Syntax of UI specification Example A matching solution Some issues.
Syntax: Specification structure <pagename> id = … <spec> ... <body> …
Syntax: Parts of specification • Page’s features specification • Keyword: “spec” • Function: define the characteristics of the UI. • It is converted to appropriate input form of “Planing System”
Syntax: Parts of specification (cont) • Page’s body definition • Keyword: “body” • Function: define the detail item of the UI. • It is converted to UI template.
Syntax: Keywords • spec: specific the “spec” part of specification • name: The name of page • id: Unique identifier of a page. Id contents two parts: <idname>#<idnumber> Example: login#1, login#2. There’re two login pages that have some differences. • template: the applied page template.
Syntax: Keywords (cont) • type: the type of page. • page • dialog • function: main function of the page • input : page to get data from user • output : page the show data to user • mix : page with both “input” and “output”
Syntax: Keywords (cont) inputdata: the list of data to get from user. It’s used in case the value of “function” is “input”/”mix”. outputdata: the list of data to show to user. It’s used in case the value of “function” is “output”/”mix”. link: the links to other pages (button/hyperlink/menu…) &, |
Content Framework reviewing Syntax of UI specification Example A matching solution Some issues.
Example: Specification of the website Master page: id = master#1 Spec: name = master pagetype = pagelink = home|products|contact|register|login Body:… Home page: id = home#1 Spec:type = pagename = homeTemplate = master#1function = ouputoutputdata = text#introduction Body:… Main page
Example: Specification of the website login page: id = login#1 Spec:type = pagetemplate = master#1name = loginfunction = inputinputdata = username&passwordlink = loginsuccess| loginfail Body: Login page
Example: Specification of the website Register page: id = registeruser#1 Spec:type = pagetemplate = master#1name = registeruserfunction = inputinputdata = username & password & repassword & emaillink = registersuccess|registerfail Body:… Register user page
Example: Specification of the website List products page: id = products #1 Spec:type = pagetemplate = master#1name = productsfunction = output outputdata = list<product>link = product Body: Products page
Example: Specification of the website product detail: id = detail #1 Spec:type = pagetemplate = master#1name = productfunction = outputoutputdata = product detail Body: Products page
Content Framework reviewing Syntax of UI specification Example A matching solution Some issues.
Matching solution • With the “link” attribute, We can build a “tree” from page specification. • System base on the specification and this tree to find a good result • Base on specification (spec) to find the consistent page. • Base on the “tree” to suggest the more detail design
Matching solution (cont) • Example: User define the specification of home page • Base on the specification, system finds out an item in library that match with it • Base on the “link” of this page, system will suggest a structure of pages as below
Content Framework reviewing Syntax of UI specification Example A matching solution Some issues.
Some issues This specification is not appropriate with AI Plainingthe require pre/post conditions Find a way to calculate the similarity of this UI specification
Thank you for watching