






























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Various Software Tools in Software Engineering
Typology: Schemes and Mind Maps
1 / 38
This page cannot be seen from the preview
Don't miss anything!
OutlineOutline
IntroductionIntroduction
Specification MethodsSpecification Methods
AmbiguousAmbiguous EasyEasy
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
<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>)
BNFBNF
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.
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
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
Multiparty GrammarsMultiparty Grammars
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
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