Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Tools in Software Engineering, Schemes and Mind Maps of Software Project Management

Various Software Tools in Software Engineering

Typology: Schemes and Mind Maps

2022/2023

Uploaded on 10/14/2023

sandhya-gandham
sandhya-gandham 🇮🇳

2 documents

1 / 38

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Tools
Software Tools
Fall 2002
Fall 2002
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26

Partial preview of the text

Download Software Tools in Software Engineering and more Schemes and Mind Maps Software Project Management in PDF only on Docsity!

Software ToolsSoftware Tools

Fall 2002 Fall 2002

OutlineOutline

IntroductionIntroduction

Specification MethodsSpecification Methods

Interface Building ToolsInterface Building Tools

Toolkits and LanguagesToolkits and Languages

Evaluation ToolsEvaluation Tools

IntroductionIntroduction

By designing and showing the UI beforeBy designing and showing the UI before

the application itself is built, the the application itself is built, the

application will end up with a more application will end up with a more

consistent UI consistent UI

By being able to unambiguously describeBy being able to unambiguously describe

a UI and its transitions, the UI can be a UI and its transitions, the UI can be

discussed and modeled discussed and modeled

Specification MethodsSpecification Methods

Natural Language SpecificationsNatural Language Specifications

 AmbiguousAmbiguous  EasyEasy 

Formal SpecificationsFormal Specifications

 UnambiguousUnambiguous  Defined grammarDefined grammar  Ability to prove a specification is a validAbility to prove a specification is a valid construct within the grammar construct within the grammar

BNFBNF

Backus-Naur FormBackus-Naur Form

 <non-terminal> ::= <non-terminals> terminals<non-terminal> ::= <non-terminals> terminals  i.e., a telephone number is represented byi.e., a telephone number is represented by  tel-num ::= (<area-code>) -<local-tel-num ::= (<area-code>) -<local- number> number>  area-code ::= area-code ::=  exchange ::= exchange ::=  local-number ::= local-number ::=  digit ::= 0|1|2|3|4|5|6|7|8|9digit ::= 0|1|2|3|4|5|6|7|8|

BNFBNF

IncompleteIncomplete

 Good to specify format, but fails to specifyGood to specify format, but fails to specify content, such as valid exchanges or area codes content, such as valid exchanges or area codes  A second level of software is used to validateA second level of software is used to validate content. content. 

ComplexComplex

 As a BNF grammar grows, it becomes veryAs a BNF grammar grows, it becomes very complex and difficult to follow or change complex and difficult to follow or change

cpcp

From a Debian 3.0r0 machine:From a Debian 3.0r0 machine:

cp [OPTION]... SOURCE DEST cp [OPTION]... SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... --target directory=DIRECTORY cp [OPTION]... --target directory=DIRECTORY SOURCE… SOURCE…

Other Variant GrammarsOther Variant Grammars  makemake JAVAC = /usr/bin/jikes JAVAC = /usr/bin/jikes JAVA_HOME = /usr/lib/jsdk1.3 JAVA_HOME = /usr/lib/jsdk1. all: thyme-core chat swab all: thyme-core chat swab thyme-core: thyme-core: $(MAKE) -f thyme-core/Makefile $(MAKE) -f thyme-core/Makefile chat: chat: $(MAKE) -f chat/Makefile $(MAKE) -f chat/Makefile swab: swab: $(MAKE) -f swab/Makefile $(MAKE) -f swab/Makefile

Multiparty GrammarsMultiparty Grammars

Used for showing interaction betweenUsed for showing interaction between

more than one party (Shneiderman, 1982) more than one party (Shneiderman, 1982)

Non-terminals labeled by the party whichNon-terminals labeled by the party which

generates it (i.e., U for user and C and generates it (i.e., U for user and C and

computer) computer)

Effective for text-oriented commandEffective for text-oriented command

sequences which have repeated exchanges sequences which have repeated exchanges

Multiparty GrammarsMultiparty Grammars

ExampleExample

::= <U: Opening> <C: Responding> ::= <U: Opening> <C: Responding> <U: Opening> :: LOGIN <U: Name> <U: Opening> :: LOGIN <U: Name> <U: Name> :: <U: string> <U: Name> :: <U: string> <C: Responding> :: HELLO [<U: Name>] <C: Responding> :: HELLO [<U: Name>]

Transition DiagramsTransition Diagrams  More complete and general than selection treesMore complete and general than selection trees  general enough to show the complete interaction withgeneral enough to show the complete interaction with an application an application  Directed graphDirected graph  Nodes represent statesNodes represent states  Links between nodes represent actions and theLinks between nodes represent actions and the application’s response application’s response  NFANFA  Becomes cumbersome as the representedBecomes cumbersome as the represented interaction grows. interaction grows.

State ChartsState Charts  Harel, 1988Harel, 1988  Extension of transition diagrams where relatedExtension of transition diagrams where related actions are grouped into a subgraph actions are grouped into a subgraph (modularity) (modularity)  Only effective where the subgraphs have singleOnly effective where the subgraphs have single points of entry and exit points of entry and exit  For example, all bank transactions are within aFor example, all bank transactions are within a group. Then within that group, there are group. Then within that group, there are separate groups for verification, withdrawal and separate groups for verification, withdrawal and deposit. deposit.

UANUAN

Syntax involves a user action, interfaceSyntax involves a user action, interface

feedback and interface state. i.e., deleting feedback and interface state. i.e., deleting

a file: a file:

User Action Interface Feedback Interface State ~[file], Mv file!, forall(file!): file-! selected = file ~[x,y]* outline(file) > ~ ~[trash] outline(file) > ~, trash! M^ erase(file), trash!! selected = null

UANUAN  ~ is the cursor. M is the mouse~ is the cursor. M is the mouse  ~[object] is cursor movement to the specified~[object] is cursor movement to the specified object (i.e., icon) object (i.e., icon)  object > ~ means move the object to the cursorobject > ~ means move the object to the cursor  Mv is press the mouse buttonMv is press the mouse button  M^ is release the mouse buttonM^ is release the mouse button  object! is highlight the objectobject! is highlight the object  object!! is dehighlight the objectobject!! is dehighlight the object