formal methods and requirement ring qab

Upload: karpagam-kj

Post on 06-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Formal Methods and Requirement ring Qab

    1/40

    FORMAL METHODS AND REQUIREMENTS ENGINEERING

    Two, Six and Ten Marks Questions and Answers

    PART-A

    UNIT-I

    1. Write any two needs for modeling systems

    i. Enhance communication

    ii. Enable better planning and reduce risk

    2. What are the different types of information that can be conveyed by diagrams?

    i. Overall architecture of the system

    ii. System dependenciesiii. Complexity

    iv. Flow of information through a systemv. Business requirements

    vi. Database organization and structure

    vii. Source code including almost every aspect of object-oriented development

    viii. Deployment configurations

    3. What are the challenges that are faced in software development?

    i. create the new logic for problem solving based on open-ended programmingenvironments for high performance computer systems

    ii. develop a formal methodology that guides us toward the construction ofcorrect and portable parallel programs, and adopt an openness to radical andinnovative alternatives

    4. What are the elements of system modeling?

    i. Inputs

    ii. Processes

    iii. Outputs

    5. What are the uses of system modeling?

    i. It easier to understand the relationships among various activities and the

    impact of each on the othersii. It shows the processes as part of a larger system whose objective is to serve

    a specific client need.

    iii. System modeling shows how direct and support services interact, wherecritical inputs come from, and how products or services are expected to meet

    the needs in the community.

    6. Write short notes on modeling computing systems

  • 8/3/2019 Formal Methods and Requirement ring Qab

    2/40

    A computer model, or a computational model is a computer program, or network of

    computers, that attempts to simulate an abstract model of a particular system. Generic

    examples of types of computer modeling in science, which are derived from anunderlying mathematical description:

    i. anumerical modeling

    ii. a stochastic modeling

    7. What are the types of computer models?

    i. Stochastic ordeterministicii. Steady-state or dynamic

    iii. Continuous ordiscrete

    iv. Local or distributed.

    8. What is meant by verification?

    Formal verification is the act ofproving or disproving the correctness of intended

    algorithms underlying a system with respect to a certain formal specification or property,

    using formal methods ofmathematics

    9. What are the usage of formal verification

    Formal verification can be used for systems such as cryptographic protocols,

    combinational circuits, digital circuits with internal memory, and software expressed as

    source code.

    10. Mention the different approaches to formal verification

    i. model checking

    ii. logical inference

    11. List down any four techniques for formal verification

    i. Automated theorem proving (ATP) or automated deductionii. Formal equivalence checking

    iii. LURCH

    iv. Intelligent Verification

    12. Mention the different types in which formal verification can be done

    i. Human-directed proof

    ii. Automated proof

    13. What is meant by formal specification?

    A formal specification is a mathematical description of software orhardware that may be used to develop an implementation. It describes what the system

    should do, not how the system should do it. A formal specification is the expression, in

    some formal language and at some level of abstraction, of a collection of properties somesystem should satisfy.

    14. What are the advantages of formal specification?

    http://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Simulationhttp://en.wikipedia.org/wiki/Model_(abstract)http://en.wikipedia.org/wiki/Numerical_simulationhttp://en.wikipedia.org/wiki/Numerical_simulationhttp://en.wikipedia.org/wiki/Stochastichttp://en.wikipedia.org/wiki/Stochastic_processhttp://en.wikipedia.org/wiki/Deterministic_algorithmhttp://en.wikipedia.org/wiki/Continuous_functionhttp://en.wikipedia.org/wiki/Discrete_mathematicshttp://en.wikipedia.org/wiki/Distributed_computinghttp://en.wikipedia.org/wiki/Mathematical_proofhttp://en.wikipedia.org/wiki/Correctnesshttp://en.wikipedia.org/wiki/Algorithmshttp://en.wikipedia.org/wiki/Formal_specificationhttp://en.wikipedia.org/wiki/Formal_methodshttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Cryptographic_protocolhttp://en.wikipedia.org/wiki/Combinational_logichttp://en.wikipedia.org/wiki/Digital_circuithttp://en.wikipedia.org/wiki/Model_checkinghttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Hardwarehttp://en.wikipedia.org/wiki/Implementationhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Simulationhttp://en.wikipedia.org/wiki/Model_(abstract)http://en.wikipedia.org/wiki/Numerical_simulationhttp://en.wikipedia.org/wiki/Stochastichttp://en.wikipedia.org/wiki/Stochastic_processhttp://en.wikipedia.org/wiki/Deterministic_algorithmhttp://en.wikipedia.org/wiki/Continuous_functionhttp://en.wikipedia.org/wiki/Discrete_mathematicshttp://en.wikipedia.org/wiki/Distributed_computinghttp://en.wikipedia.org/wiki/Mathematical_proofhttp://en.wikipedia.org/wiki/Correctnesshttp://en.wikipedia.org/wiki/Algorithmshttp://en.wikipedia.org/wiki/Formal_specificationhttp://en.wikipedia.org/wiki/Formal_methodshttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Cryptographic_protocolhttp://en.wikipedia.org/wiki/Combinational_logichttp://en.wikipedia.org/wiki/Digital_circuithttp://en.wikipedia.org/wiki/Model_checkinghttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Hardwarehttp://en.wikipedia.org/wiki/Implementation
  • 8/3/2019 Formal Methods and Requirement ring Qab

    3/40

    Formal specifications may be analyzed mathematically and the consistency and

    completeness of the specification demonstrated.

    It may be possible to prove that the implementation corresponds to the specification.Formal specifications may be used to guide the tester of the component in identifying

    appropriate test cases.

    15. What are the conditions that a good specification must satisfy?

    i. Adequate

    ii. Internally consistentiii. Unambiguous

    iv. Complete

    v. Satisfied

    vi. Minimal

    16. What are the disadvantages of formal specification?

    i. Limited scope.

    ii. Costiii. Poor guidance.

    iv. Poor tool feedback

    17. Mention any four approaches to formal specification?

    i. History-based specification

    ii. State-based specificationiii. Transition based specification

    iv. Algebraic specification

    18. Write short notes on Algebraic specification

    Algebraic specification is a formal process of refining specifications to

    systematically develop more efficient programs. The purpose of an algebraicspecification is to:

    i. represent mathematical structures and functions

    ii. while abstracting from implementation details such as the size ofrepresentations (in memory) and the efficiency of obtaining outcome of

    computations

    iii. as such formalizing computations on data

    iv. allowing for automation due to a limited set of rules

    19. Write short notes on formal specification language

    A specification language is a formal language used in computer science.Unlike most programming languages, which are directly executable formal languages

    used to implement a system, specification languages are used during systems analysis,

    requirements analysis and systems design.

    20. What is meant by model oriented specification language

    http://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Systems_analysishttp://en.wikipedia.org/wiki/Requirements_analysishttp://en.wikipedia.org/wiki/Systems_designhttp://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Systems_analysishttp://en.wikipedia.org/wiki/Requirements_analysishttp://en.wikipedia.org/wiki/Systems_design
  • 8/3/2019 Formal Methods and Requirement ring Qab

    4/40

    The "model oriented" specification languages are so called because they

    are support the specification of systems by construction of a mathematical model of the

    system. In a sense any formal specification can be thought of as providing a mathematicalmodel of a system so it may be helpful to expand on this.

    21. Mention any four formal specification languagesi. Abstract State Machines (ASMs)

    ii. Vienna Development Method (VDM)

    iii. Petri netsiv. Assertion Definition Language

    22. Write short notes on Abstract Machine Notation (AMN)

    Abstract Machine Notation (AMN) is a specification language and (abstract)programming language for specifying abstract machines in the B-Method, based on the

    mathematical theory ofGeneralised Substitutions.

    23. Mention any four software tools that support formal specification?i. Alloy Analyzer

    ii. B-Toolkitiii. ESC/Java

    iv. ExSpecT

    24. Write short notes on B Method

    B is a tool-supported formal method based around AMN (Abstract Machine

    Notation), used in the development of computersoftware. It was originally developed by

    Jean-Raymond Abrial in France and the UK. B is related to the Z notation and supportsdevelopment of programming language code from specifications. B has been used in

    majorsafety-critical system applications in Europe and is attracting increasing interest in

    industry. It has robust, commercially available tool support for specification, design,proofand code generation.

    25. Write short notes on B-Toolkit

    The B-Toolkit is a collection of programming tools designed to support the use of

    the B-Tool, a set theory based mathematical interpreter, for the purposes of a formal

    software engineering methodology known as the B-Method.

    UNIT-II

    26. What is meant by Formal Methods?

    Formal methods allow a software engineer to create a specification that is more

    complete, consistent and unambiguous than those produced using conventional methods

    set theory and logic notations are used to create a clear statement of facts (requirements).

    27. Why formal methods are important?

    http://en.wikipedia.org/wiki/Abstract_State_Machineshttp://en.wikipedia.org/wiki/Specification_languagehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Abstract_machinehttp://en.wikipedia.org/wiki/B-Methodhttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/w/index.php?title=Generalised_Substitutions&action=edit&redlink=1http://en.wikipedia.org/wiki/Formal_methodhttp://en.wikipedia.org/wiki/Abstract_Machine_Notationhttp://en.wikipedia.org/wiki/Abstract_Machine_Notationhttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Jean-Raymond_Abrialhttp://en.wikipedia.org/wiki/Francehttp://en.wikipedia.org/wiki/United_Kingdomhttp://en.wikipedia.org/wiki/Z_notationhttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Safety-critical_systemhttp://en.wikipedia.org/wiki/Europehttp://en.wikipedia.org/wiki/Program_specificationhttp://en.wikipedia.org/wiki/Software_designhttp://en.wikipedia.org/wiki/Logical_argumenthttp://en.wikipedia.org/wiki/Code_generationhttp://en.wikipedia.org/w/index.php?title=B-Tool&action=edit&redlink=1http://en.wikipedia.org/wiki/B-Methodhttp://en.wikipedia.org/wiki/Abstract_State_Machineshttp://en.wikipedia.org/wiki/Specification_languagehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Abstract_machinehttp://en.wikipedia.org/wiki/B-Methodhttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/w/index.php?title=Generalised_Substitutions&action=edit&redlink=1http://en.wikipedia.org/wiki/Formal_methodhttp://en.wikipedia.org/wiki/Abstract_Machine_Notationhttp://en.wikipedia.org/wiki/Abstract_Machine_Notationhttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Jean-Raymond_Abrialhttp://en.wikipedia.org/wiki/Francehttp://en.wikipedia.org/wiki/United_Kingdomhttp://en.wikipedia.org/wiki/Z_notationhttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Safety-critical_systemhttp://en.wikipedia.org/wiki/Europehttp://en.wikipedia.org/wiki/Program_specificationhttp://en.wikipedia.org/wiki/Software_designhttp://en.wikipedia.org/wiki/Logical_argumenthttp://en.wikipedia.org/wiki/Code_generationhttp://en.wikipedia.org/w/index.php?title=B-Tool&action=edit&redlink=1http://en.wikipedia.org/wiki/B-Method
  • 8/3/2019 Formal Methods and Requirement ring Qab

    5/40

    Formal methods reduce specification errors dramatically and as a consequence,

    serve as the basis for software that has very few errors once the customer begins using it.

    28. What is the work product of formal methods?

    A specification represented in a formal language such as OCL or Z is produced

    when formal methods are applied.

    29. How do you ensure that using formal method is right?

    As formal methods use discrete mathematics as the specification mechanism,logic proofs can be applied to each system function to demonstrate that the specification

    is correct.

    30. When a method is said to be formal or define formal methods?

    A method is formal if it has a sound mathematical basis, typically given by

    a formal specification language. This basis provides a means of precisely definingnotions like consistency and completeness and more relevantly, specification,

    implementation and correction.

    31. List down the deficiencies of less formal approaches?

    i. Contradictions

    ii. Ambiguities.

    iii. Vagueness.

    iv. Incomplete Statements.

    v. Mixed level of abstractions.

    32. Write down the usage of mathematics in software development?

    i. It can exactly describe a physical situation, an object or the

    outcome of an action.

    ii. It supports abstraction and is an excellent medium for modeling.

    iii. It provides a high level of validation when it is used as a software

    development medium.

    33. Define data invariant with an example.

    The statement which places a constraint on the table is a component of a condition

    known as a data invariant.

    Example: Data invariant for a symbol table is that the table will contain no more than

    Max Id names.

  • 8/3/2019 Formal Methods and Requirement ring Qab

    6/40

    34. Write short notes on state with example?

    A system can be in one of several states, each representing an externally

    observable mode of behavior. The state of a system is represented by the systems stored

    data.

    E.g. Symbol table is a state.

    35. Define pre condition with an example.

    A Pre condition defines the circumstances in which a particular operation is valid.

    Example: Pre condition for an operation that adds a name to the staff identifier symbol

    table is valid only if the name that is to be added is not contained in the table and also if

    there are fewer than max Ids staff identifier in the table.

    36. Define Post-Condition with an example.

    The post-condition of an operation defines what is guaranteed to be true upon

    completion of an operation.

    Example: In the example of an operation that adds an identifier to the staff identifier

    symbol table, the post-condition would specify mathematically that the table has been

    augmented with the new identifier.

    37. What is cardinality? Give an example.

    The number of items in a set is known as its cardinality. The # operatorreturns a sets cardinality.

    Example: # {A, B, C, D} = 4

    38. Write short notes on constructive set specification with example.

    Constructive set specification is preferable to enumeration because it

    enables a succinct definition of large sets. It also explicitly defines the rule that was used

    in constructing the set.

    Consider the example {A: N | n< 3. n}

    This specification has three components, a signature n:N, a predicate n

  • 8/3/2019 Formal Methods and Requirement ring Qab

    7/40

    40. Define sequence with example.

    A sequence is a mathematical structure that models the fact that itselements are ordered. A sequence is a set of pairs whose elements range from 1 to the

    highest number element. The items that form the first element of the pairs are collectively

    known as domain of the sequence and the collection of second elements is known as the

    range of sequence. Duplication is allowed in sequence. Ordering is important. Sequenceis designated using angle brackets.

    e.g.

    41. Write short notes on Z specification language.

    Z is a specification language that has evolved over the past two decades to

    become widely used within the formal methods. The Z language applies typed sets,relations and functions within the context of first order predicate logic to build scheme

    a means of structuring a formal specification.

    42. Write short notes on schema and generic structure of schema?

    A schema is essentially the formal specification analog of the programming

    language component. Schemas are used to structure a formal specification. A schemadescribes the stored data that a system access and alters. A schema identifies the

    operations that are applied to change state and the relationships that occur within the

    system.

    The generic structure of schema takes the form

    ------------------------------ Schema Name -----------------------------------

    Declarations

    InvariantWhere declaration identify variables that comprise the symbol state and the invariant

    compose constraints on the manner in which the state can evolve.

    UNIT-III

    43. Write short notes on B Abstract machine notation

    The B Abstract machine notation specification language was developed in

    the early and mid 1980s by J.R.Abrial and by research groups at BP research, MATRA

    and GEC Alsthom.

    44. What are the steps involved in a development process using B?

    i. Requirements analysisii. Specification development

    iii. Design

    iv. Coding/Integration/Test

    45. Write short notes on abstract machines

  • 8/3/2019 Formal Methods and Requirement ring Qab

    8/40

  • 8/3/2019 Formal Methods and Requirement ring Qab

    9/40

    i. SEES

    ii. USES

    iii. INCLUDESiv. EXTENDS

    55. Write short notes on B developmentA B development consists of set of subsystems or subsystem development,

    each subsystem being defined by an abstract specification machine and a path of

    refinement steps down to an executable description.

    56. Define refinement

    Refinement is the process of moving from abstract specifications to less

    abstract specifications, via some data or operation transformation, which allows thebehavior of the abstract system to be simulated by the more refined system.

    57. What are the two significant omissions from template and refinement templates

    i. VARIABLES clauseii. INITIALISATION clause

    58. Mention the general approaches to system construction

    i. Create separate decomposition

    ii. Mapping INCLUDES into IMPORTS

    iii. Mapping SEES into SEES

    59. What does B Tool mean?

    The B Tool is proof tool, which provides the basis for theautomatic and interactive proof facilities offered by the B Toolkit, provides the ability to

    define theories in which axioms and inference rules for mathematical structure can be

    defined, and a notation for specifying the way in which these theories are to be used.

    60. List down the proof rules in internal consistency obligations

    i. P1 ^^ Pn =>= = r: rewrite rules;ii. P1 ^^ Pn =>Q: inferences;

    iii. Q: axioms.

    61. What are the conditions the user rules must satisfy?

    i. Validity

    ii. Minimal redundancy

    iii. A correct level of generality.

    62. What are the problems that can be identified in the failure to prove internal

    consistency?

    i. Empty state space

    ii. Initialisation fails to establish the invariant

    iii. Operations fail to maintain the invariant

  • 8/3/2019 Formal Methods and Requirement ring Qab

    10/40

    63. What is meant by assertion?

    An ASSERTIONS Asst clause is used to declare some additional

    invariant properties Asst of a B machine, where Asst is expected to be of more use inestablishing the proof obligations of the machine than the basic invariant.

    64. What is meant by definitionsThe DEFINITIONS clause of a machine lists useful abbreviations,

    which will be macro-expanded throughout the text of the machine.

    DEFINITIONSlhs1 == rhs1;

    .

    .

    .lhsk == rhsk

    65. What are the different rule guards in animation?

    i. bnum(a)ii. btest(P)

    iii. bsearch(d,a,s)

    66. Mention the general heuristics for refinement proof

    i. Existential goals

    ii. Universally quantified invariantsiii. Use laws of generalized substitutions

    iv. Use heuristics for loop invariant generation

    UNIT-IV

    67. What is the goal of software development?

    The goal of software development is to develop quality software

    on time and on budget that meets customers real needs

    68. What are the factors that cause the project to be challenged?

    The factors that cause the project to be challenged are

    i. Lack of user input: 13 percent of all projects.

    ii. Incomplete requirements and specifications; 12 percent of all projects.

    iii. Changing requirements and specifications: 12 percent of all projects.

  • 8/3/2019 Formal Methods and Requirement ring Qab

    11/40

    69. What is the requirement?

    A software capability needed by the user to solve a problem to achieve an objective. A software capability that must be met or possessed by a system or system component

    to satisfy a contract, standard, specification, or other formally imposeddocumentation.

    70. Define requirement management?

    Requirement management is defined as a systematic approach to

    eliciting and documenting the requirements of the system, and a process that establishes

    and maintains agreement between the customer and the project team on the changing

    requirements of the system.

    71. What do you mean by problem domain?

    The problem domain is the home of real users and other

    stakeholders, people whose needs must be addressed in order for us to build the perfect

    system.

    72. Define feature.

    A feature is defined as a service that the system that provides to

    fulfill one or more stakeholder needs.

    73. Define problem analysis.

    Problem analysis is the process of understanding real-world

    problems and user needs and proposing solutions to meet those needs.

    74. Define a problem.

    A problem can be defined as the difference between things as

    perceived and things as derived.

  • 8/3/2019 Formal Methods and Requirement ring Qab

    12/40

    75. What is the goal of problem analysis and write down the steps that have to be

    followed to achieve the goals?

    The goal of problem analysis is to gain a better understanding,

    before development begins, of the problem being solved. The specific steps must be

    taken in order to achieve the goal are

    i. Gain agreement on the problem definition.

    ii. Understand the root causes- the problem behind the problem.

    iii. Identify the stakeholders and the users.

    iv. Define the solution system boundary.

    v. Identify the constraints to be imposed on the solution.

    76. Write short notes on fish bone diagram?

    Fish bone diagram is used to identify the problem behind the

    problem. In the problem analysis, the company identified many sources contributed to

    system problem. Each source was listed as one of the bones on the diagram. In many

    cases, it is simple matter of asking the people directly involved what they think the root

    cause is.

    77. What is the use of Pareto chart?

    Usually, the quality data routinely shows that a number of root

    causes are simply not worth fixing, as the cost of the fix exceeds the cost of the problem.

    Then determine the materiality, or contribution, of each root cause. The result of the

    investigation can be plotted as a Pareto chart, or simple histogram that visually exposes

    the real culprits.

    78. Define stakeholders.

    Stakeholders are defined as anyone who could be materially

    affected by the implementation of a new system or application.

    79. Define an actor.

  • 8/3/2019 Formal Methods and Requirement ring Qab

    13/40

  • 8/3/2019 Formal Methods and Requirement ring Qab

    14/40

    The oval icon used to represent the

    business use-case has the slash, indicating

    a business-level use case.

    Here, the actors and the use-cases

    describe who is involved in the businessactivities and how these activities takes

    place.

    realize the business use cases.

    The slashed circle represents a

    business entity that business workers

    produce.

    The business use-case realizations

    show that the business use-cases are

    performed in terms of interacting

    business workers and business

    entities.

    84. List down the techniques that are used for requirement elicitation.

    The techniques that are used for requirement elicitation are

    i. Interviewing and questionnaires.

    ii. Requirements workshops.

    iii. Brainstorming and idea reduction.

    iv. Storyboards.

    v. Use cases.

    vi. Role Playing.

    vii. Prototyping.

    85. Define brainstorming.

    Brainstorming is a collection of techniques that are useful

    when stakeholders are collocated. The two phases are: idea generation and idea

    reduction.

    86. What are the benefits of elicitation technique?

    The elicitation technique has a number of primary benefits:

  • 8/3/2019 Formal Methods and Requirement ring Qab

    15/40

    i. It encourages participation by all parties present.

    ii. It allows participants to piggyback on one others ideas.

    iii. A facilitator or scribe maintains a written trail of everything discussed.

    iv. It exhibits high bandwidth.

    v. Typically, it results in a broad set of possible solutions to whatever

    problem is posed.

    vi. It encourages out-of-the-box thinking, that is, without being limited by

    normal constraints.

    87. What are the phases of brainstorming? Write short notes on each.

    The phases of brainstorming are idea generation and idea

    reduction.

    a. Idea Generation:

    The primary goal during idea generation is to delineate as many ideas as possible;

    the goal is breadth of ideas, not necessarily depth.

    b. Idea Reduction:

    The primary goal during idea reduction is to analyze all of the ideas generated; Ideareduction includes pruning, organizing, ranking, expanding, grouping, refining, and

    the like.

    88. What do you mean by pruning?

    Pruning is defined as the facilitator starts by visiting each

    idea briefly and asking for concurrence from the group that the idea is basically valid.

    There is no reason for any participant to be defensive or to claim authorship for any idea;

    any participant may support or refute any idea.

    89. What is meant by prototyping?

  • 8/3/2019 Formal Methods and Requirement ring Qab

    16/40

    Prototyping is meant by a partial implementation of a

    software system, built to help developers, users, and customers better understanding the

    requirements of the system.

    90. What are the advantages of prototyping?

    The advantages of prototyping process should be twofold:

    i. Fuzzy needs become better understood.

    ii. Exercising the prototype inevitably elicits a Yes, But response from:

    the user; therefore, previously unknown needs become known. Similarly

    seeing a set of behaviors helps users understand other requirements that

    must be imposed on the system.

    UNIT-V

    91. Define systems Engineering?

    System Engineering refines a system into a subsystem,describing

    the detailed interfaces among the the subsystems,allocating each of the system level

    requirments to one or more subsystems.

    92. What is meant by system level usecase model?

    The system level usecase model records the usecase by which the

    various actors in the system interact with the HOLIS (Home Lighting Automation

    System).

    93. Write Short notes about vision document?

    The Vision document describes the applicatin in general terms including

    descriptions of the target market,the system users, and the application feature.

  • 8/3/2019 Formal Methods and Requirement ring Qab

    17/40

    94. List out the reason to have the a Vision Document?

    There are 2 reasons to develop the Vision Document they are ..

    i. Every project needs a vision document.

    ii. It will help us to demonstrate the requirment process furthur,as some key

    elements of this process will be recorded in this document.

    95. List out the stakeholders who has to agree the vision document?

    i. The stakeholders who has to agree for the vision doument are as follows..

    ii. The Marketing Department which act as the proxy of the customer and

    the user.

    iii. The Project Team developing the application.

    96. What is meant by Delta Vision document?

    The Delta vison document will define the feature in a project and usecasesaroud the changes you are going to make to a legency systemBy following this the

    software project team can focus on what is new and and whats different in the next

    release should posses.In addition the requirment document we create will provide a

    documentation trail for others to follow behind.

    97. What is meant by project scope?

    The project scope is the combination of the different product funtionality,project

    resource and the time available to acheive the implementation.

    98. What are the elements of Project Scope?

    i. The Functionality that must be delivered to meet the users needs.

    ii. The resource availabel to the project.iii. The Time available in which acheive the implimentation.

    99. Define the Baseline?

    Baseline is defined as the itemized set of features or requirments ,intended

    to be delivered in a specific version of the application.

    100. What are the condition that a baseline must have?

    There are 2 conditions that a baseline must have.

  • 8/3/2019 Formal Methods and Requirement ring Qab

    18/40

    i. Be atleast acceptable to the customer.

    ii. Have the reasonable priority of sucess.

    101. What are the types of priority levels?

    The types of priority levels arei. Critical

    ii. Important

    iii. Useful

    102. How will you engage the customer to manage the project scope?

    We can actively engage our customers in managing thier requirments and

    their project scope to ensure both the quality and the timelines of the software

    outcomes.

    103. List out the Guidelines for negotiating with the customer?

    Start high but not unreasonable.Seperate the people from the problem.

    Focus on intrest not on positions.

    Understand the walk away position.

    Invent option for mutual gain.Apply the objective criteria.

    104. Different lifecycle in Iterative approach?

    There are 4 lifecycle in Iterative approachInception

    Elobration

    Construction

    Transition

    105. Define Iteration?

    An Iteration is a sequence of activities with an establised plan and evaluation criteria

    resulting in a executable of some type.

    106. What is meant by work flow?

  • 8/3/2019 Formal Methods and Requirement ring Qab

    19/40

    Workflow consists of a logically related set of activities, and each defines

    how the activities must be sequenced to produce a viable work product or artifact.

    107. What are the advantages of the Iterative approach?

    The Iterative approach has two significant advantages,

    i. Getting the Yes, Buts out early.ii. Better scope management.

    108. Define S/W requirement?

    A Software Requirement is the software capability needed by the user

    to solve a problem to achieve an objective. It is a software capability that must be

    met or possessed by a system or a system component to satisfy a contract, standard,

    specification or other formally imposed documentation.

    109. What is meant by refining?

    Refining is defined as the transition to elaborating the system features in detail

    sufficient to ensure that the design and coding activities result in a system that fullyconforms to the user needs.

    110. List out the major things that are needed to fully describe the system.

    i. Inputs to the system.

    ii. Outputs from the system.

    iii. Functions of the system.iv. Attributes of the system.

    v. Attributes of the system environment.

    111. What are the types of Requirement compare them?

    There are three types of Requirement, they are

    i. Functional software requirement.ii. Nonfunctional software requirement.

    iii. Design constraints.

    112. Define Design Constraints with an example?

    Design Constraint is the restriction on the degree of the system, or the

    process by which a system is developed, that do not affect the external behavior of

    the system but that must be fulfilled to meet technical, business or, contractualobligations.

    113. What are the advantages of Use-case techniques?

    i. Use-cases are relatively easy to write.

    ii. Are written in the language of the user.

    iii. Provide related, cohesive threads of behavior that can beunderstood by user and developer.

    iv. Graphical representations provide a visual means of relationship

    among use-cases, which can

    v. Improve understandability of a complex software system.

  • 8/3/2019 Formal Methods and Requirement ring Qab

    20/40

    114. What are the three conditions that have to be confirmed for building the

    Right System right?

    i. Continually confirm that the development is on track.

    ii. Confirm that the development results are correct.

    iii. Learn how to deal with change during development.

    115. Define Software Verification?

    Verification is an ongoing process we check that each step of thedevelopment is correct, meets the needs of the next step, and is not superfluous to

    the needed activities. It is an important technique a team can apply in the struggle to

    help ensure that you are designing and implementing the right system.

    116.What is meant by Orthogonality Problem?

    There is little correlation between the

    requirements, design and implementation, and such cases are said to be Orthogonal,

    or nearly so. In other words, the form of our requirement and the form of our designand implementation are different.

    117.Define Traceability?

    Traceability refers to the degree to which a

    relationship can be established between two or more products of the development

    process, especially products having a predecessor-successor or master-subordinaterelationship. Example is, the degree to which the requirements and design of a

    given software component match.

    118.Compare Implicit and Explicit Traceability?

    Implicit Traceability Explicit TraceabilityIt is provided by the methodology and the

    structure of the model.

    It is the development of relationships

    stemming from external considerationssupplied by your team

    Implicit relationship need not e explicitly

    stated as an explicit relationship, sincepossible confusions may arise.

    There is no intrinsic relationship between

    the elements , only external decisions canestablish the relationship.

    Example for this is a parent-childhierarchical relationship.

    Example for this is linkage, or relationshipbetween a product feature and a use-case

    that supports that feature.

    PART-B

  • 8/3/2019 Formal Methods and Requirement ring Qab

    21/40

    UNIT-I

    1.Write short notes on need for modeling

    mmunication

    er planning and reduce riskeam features

    Refactoring

    Patternsengineering

    Reporting

    Integration

    2.Describe briefly about the challenges that are faced in software development

    i. create the new logic for problem solving based on open-ended programming

    environments for high performance computer systems

    ii. develop a formal methodology that guides us toward the construction ofcorrect and portable parallel programs, and adopt an openness to radical and

    innovative alternativesiii. design a programming language that incorporates a unifying intuitive model

    of parallel computation, and which provides a coherent vehicle for the

    natural description of parallel programs

    iv. devise and construct software tools that resonate with the methodology andfacilitate a flexible, supportive environment

    v. introduce widely available, substantial educational opportunities in parallel

    programming that will create a pool of individuals with the experience andintuition necessary to work effectively in this setting.

    3.Explain briefly about modeling computing systems

    Definition

    Types

    Stochastic ordeterministic

    Steady-state or dynamic

    Continuous ordiscrete

    Local ordistributed.1.Computer modeling in science

    a numerical modeling

    a stochastic modeling

    4.Write short notes on Verification

    Usage

    ches to formal verification

    ion and Verification

    dustry usage

    ation techniques

    http://en.wikipedia.org/wiki/Stochastic_processhttp://en.wikipedia.org/wiki/Deterministic_algorithmhttp://en.wikipedia.org/wiki/Continuous_functionhttp://en.wikipedia.org/wiki/Discrete_mathematicshttp://en.wikipedia.org/wiki/Distributed_computinghttp://en.wikipedia.org/wiki/Numerical_simulationhttp://en.wikipedia.org/wiki/Stochastichttp://en.wikipedia.org/wiki/Formal_verification#Usage%23Usagehttp://en.wikipedia.org/wiki/Formal_verification#Approaches_to_formal_verification%23Approaches_to_formal_verificationhttp://en.wikipedia.org/wiki/Formal_verification#Validation_and_Verification%23Validation_and_Verificationhttp://en.wikipedia.org/wiki/Formal_verification#Industry_usage%23Industry_usagehttp://en.wikipedia.org/wiki/Stochastic_processhttp://en.wikipedia.org/wiki/Deterministic_algorithmhttp://en.wikipedia.org/wiki/Continuous_functionhttp://en.wikipedia.org/wiki/Discrete_mathematicshttp://en.wikipedia.org/wiki/Distributed_computinghttp://en.wikipedia.org/wiki/Numerical_simulationhttp://en.wikipedia.org/wiki/Stochastichttp://en.wikipedia.org/wiki/Formal_verification#Usage%23Usagehttp://en.wikipedia.org/wiki/Formal_verification#Approaches_to_formal_verification%23Approaches_to_formal_verificationhttp://en.wikipedia.org/wiki/Formal_verification#Validation_and_Verification%23Validation_and_Verificationhttp://en.wikipedia.org/wiki/Formal_verification#Industry_usage%23Industry_usage
  • 8/3/2019 Formal Methods and Requirement ring Qab

    22/40

    5.Discuss briefly about formal specification

    Definition

    Good specification

    Specifying formally

    Formalization: scope and pitfalls

    6.Discuss in detail about the advantages and disadvantages of formal specification

    Advantages of formal specification

    Disadvantages of formal specification:

    7.Explain briefly about formal specification languages

    Abstract Machine Notation (AMN)

    Common Algebraic Specification Language

    Vienna Development Method

    LePUS3 The Perfect specification language

    Assertion definition language

    8.Describe briefly about software tools that support formal specification

    Alloy Analyzer

    B-Toolkit

    CHIC (Checker for Interface Compatibility)

    CPN-AMI

    CoreASM

    ESC/Java

    UNIT-II

    9.Describe briefly about the deficiencies of less formal approaches

    Contradictions

    Ambiguities

    Vagueness

    Incompleteness

    Mixed levels of abstraction

    10.Explain briefly about the usage of mathematics in s/w development Exactly describe a physical situation

    Develop a specification of computer-based system

    Supports abstraction

    Excellent medium for modeling

    Validation

    Demonstrating design matches specification and program code

    matches design

    http://en.wikipedia.org/wiki/Specification_languagehttp://en.wikipedia.org/wiki/Specification_language
  • 8/3/2019 Formal Methods and Requirement ring Qab

    23/40

    11.Discuss briefly about the concepts of formal methods

    Data invariant

    State

    Operation

    Precondition Postcondition

    E.g. A block handler

    12.Write short notes on sets and constructive specification

    Sets

    Cardinality

    Constructive set specification

    13.Explain briefly about set operators

    Membership

    Subset

    Empty set

    Union, intersection

    Difference

    Cross product

    Power set

    UNIT-III

    14.Describe briefly about specification using abstract machines

    - Fig: Schematic structure of abstract machine Mathematical notation

    Machine parameters

    Sets

    Constants and properties

    Variables and Invariants

    Initialization

    Operation definitions

    15.Write short notes on semantics of abstract machines

    Semantics of generalized substitutions- Definition of [S]P

    - Intuition

    - Meanings of obligations

    16.Explain briefly about translation of analysis models

    - Fig: Object model of air traffic control system

    - Relationships

  • 8/3/2019 Formal Methods and Requirement ring Qab

    24/40

    17.Describe briefly about the layered development paradigm

    - Fig: General structure of B Development- Fig: Decomposition of development into layers

    18.Write short notes on refinement- Definition of refinement with e.g.

    - Fig: Example of refinement correspondence

    - Fig: Schematic refinement step- Refinement proof obligations

    - Refinement examples

    19.Explain briefly about proof of internal consistency obligations

    Proof rules and user rules

    Assertions

    Definitions

    UNIT-IV

    20.Write short notes on root causes of project success and failure

    - Fig: Largest s/w development problems by category

    The frequency of requirement errors- Table: Defect summary

    The high cost of requirements errors

    - Fig: Relative cost to repair a defect at different lifecyclephases

    21.Write short notes on applications of requirements management Types of s/w applications

    Systems applications

    22.Explain briefly about the road map

    The problem domain (with dig)

    Stakeholder needs (with dig)

    Moving toward the solution domain

    Features of the system (with dig)

    S/w requirements (with dig)

    An introduction to use cases (with dig)

    23.Explain briefly about using s/w engineering techniques for business modeling

    Choosing the right technique

    The unified modeling language (UML)

    Business modeling using UML concepts

    - Fig: Business use case model- Fig: Business object model

  • 8/3/2019 Formal Methods and Requirement ring Qab

    25/40

  • 8/3/2019 Formal Methods and Requirement ring Qab

    26/40

    33.Explain briefly about the delta vision document

    Vision document for release 1.0

    - Fig: Vision document v1.0

    Vision document for version 2.0

    - Fig: Vision document v2.0- Fig: Delta Vision document v2.0

    - Fig: Delta Vision document

    Delta Vision document in a legacy system environment

    34.Mention the components of project scope

    Functionality

    Resources

    Time

    - Fig: Project scope

    35.How will you reduce scope? Explain A reasonable first estimate

    - Table: scope prioritization techniques

    - Table: Prioritized feature list

    36.Write short notes on managing baseline

    Official change

    Unofficial change

    37.Explain briefly about waterfall model

    - Winston Royce (1970)

    - Feedback loops- Prototype system

    - Fig: Waterfall model of s/w development

    - Fig: Applying the waterfall model to a project with 200% scope

    piral model

    - Fig: The spiral model of development

    - Fig: Applying the spiral model to a project with 200% scope

    38.Describe briefly about the iterative approach

    cycle phases

    - Fig: Lifecycle phases in the iterative approach

    Iterations

    - Fig: Phase iterations, resulting in viable releases

    Workflows

    - Fig: Workflows of the iterative approach

    - Advantages

    ts out early

  • 8/3/2019 Formal Methods and Requirement ring Qab

    27/40

    management

    39.Explain briefly about non functional requirements

    Usability

    Reliability

    Performancepportability

    40.Write short notes on design constraints

    - Definition of design constraints

    - Operating environments

    - Compatibility with existing systems- Application standards

    - Corporate best practices and standards

    41.Explain briefly about refining use case specifications

    - Use case- Actor

    Evolution of use cases

    Scope of use cases

    42.Write short notes on techniques for disambiguation

    Memorization heuristic

    Keyword technique

    Emphasis technique

    Other techniques

    43.How will you confirm that the development is on track

    Principles of s/w verification

    The cost of verification

    Verification at all levels

    The reason for verification

    44.How mapping is done from requirements to design and code

    - Fig: Requirements to design to implementation

    Object orientation

    The use case as a requirement

    Managing the transition Modeling s/w systems architecture of s/w systems

    Views of architecture- Fig: The 4+1 architectural view

    Role of the use case model in architecture

    45.Write short notes on Realizing use cases in the design model

    Structural and behavioral aspects of collaborations

  • 8/3/2019 Formal Methods and Requirement ring Qab

    28/40

    - Fig: Class diagram

    - Fig: Behavioral aspects of collaboration

    Using collaborations to realize the sets of individual requirements

    - Fig: Model of req. implementation as a use case realization

    46.Explain briefly about traceability tools- Fig: Augmented traceability relationships

    - Fig: Matrix version of traceability relationships

    Maintenance of traceability relationships- Fig: Document/element relationships

    - Fig: Abbreviated tree view

    47.Describe briefly about validation

    Acceptance tests

    Validation testing

    Fig: Implementation documentation Validation traceability

    Requirements-based testing

    PART-C

    UNIT-I

    Explain in detail about need for modeling

    Enhance communication

    Types of information conveyed by diagrams

    Enable better planning and reduce risk

    Need from a modeling tool:

    UML compliance

    Team features

    Refactoring

    Patterns

    Reverse engineering

    Reporting

    Integration

    Discuss in detail about modeling systems Definition

    Types

    Stochastic ordeterministic

    Steady-state or dynamic

    Continuous ordiscrete

    Local ordistributed.

    http://en.wikipedia.org/wiki/Stochastic_processhttp://en.wikipedia.org/wiki/Deterministic_algorithmhttp://en.wikipedia.org/wiki/Continuous_functionhttp://en.wikipedia.org/wiki/Discrete_mathematicshttp://en.wikipedia.org/wiki/Distributed_computinghttp://en.wikipedia.org/wiki/Stochastic_processhttp://en.wikipedia.org/wiki/Deterministic_algorithmhttp://en.wikipedia.org/wiki/Continuous_functionhttp://en.wikipedia.org/wiki/Discrete_mathematicshttp://en.wikipedia.org/wiki/Distributed_computing
  • 8/3/2019 Formal Methods and Requirement ring Qab

    29/40

    Computer modeling in science

    a numerical modeling

    a stochastic modeling

    Elements of system modeling

    A model of system modeling

    Describe in detail about verification

    Usage

    Approaches to formal verification

    Validation and Verification

    Industry usage

    Verification techniques

    Automated theorem proving (ATP)

    Formal equivalence checking

    LURCH

    Model checking

    Automated proof checking

    Static code analysis

    Temporal logic in finite-state verification

    Intelligent verification

    Verification and validation

    Runtime verification

    Describe in detail about the challenges that are faced in software development

    Challenges for software development

    Challenges and Improvements

    Communication

    Group Awareness

    Software Configuration Management

    Knowledge Management

    Coordination

    Collaboration

    Project and Process Management

    Quality and Measurement

    Risk Management

    5. Explain in detail about formal specification Definition

    Good specification

    Specifying formally

    Formalization: scope and pitfalls

    Advantages of formal specification

    Disadvantages of formal specification

    http://en.wikipedia.org/wiki/Numerical_simulationhttp://en.wikipedia.org/wiki/Stochastichttp://en.wikipedia.org/wiki/Formal_verification#Usage%23Usagehttp://en.wikipedia.org/wiki/Formal_verification#Approaches_to_formal_verification%23Approaches_to_formal_verificationhttp://en.wikipedia.org/wiki/Formal_verification#Validation_and_Verification%23Validation_and_Verificationhttp://en.wikipedia.org/wiki/Formal_verification#Industry_usage%23Industry_usagehttp://en.wikipedia.org/wiki/Numerical_simulationhttp://en.wikipedia.org/wiki/Stochastichttp://en.wikipedia.org/wiki/Formal_verification#Usage%23Usagehttp://en.wikipedia.org/wiki/Formal_verification#Approaches_to_formal_verification%23Approaches_to_formal_verificationhttp://en.wikipedia.org/wiki/Formal_verification#Validation_and_Verification%23Validation_and_Verificationhttp://en.wikipedia.org/wiki/Formal_verification#Industry_usage%23Industry_usage
  • 8/3/2019 Formal Methods and Requirement ring Qab

    30/40

    6. Explain in detail the different approaches to formal

    specification

    History-based specification

    State based specification

    Transition based specification Functional specification

    Algebraic specification

    Higher order functions

    Operational specification

    Property based specification

    Model based specification

    Structured specification

    Error based specification

    7. Discuss in detail about formal specification languages

    Abstract Machine Notation (AMN)

    Common Algebraic Specification Language

    Vienna Development Method

    LePUS3

    The Perfect specification language

    Assertion definition language

    Alloy (specification language)

    Larch family

    Petri net

    Property Specification Language

    8. Describe in detail about software tools that support

    formal specification

    Alloy Analyzer

    B-Toolkit

    CHIC (Checker for Interface Compatibility)

    CPN-AMI

    CoreASM

    ESC/Java

    ExSpecT

    FSA Utilities Frama-C

    Perfect Developer (PD)

    UNIT-II

    9. Explain in detail about formal methods concepts

    http://en.wikipedia.org/wiki/Specification_languagehttp://en.wikipedia.org/wiki/Specification_language
  • 8/3/2019 Formal Methods and Requirement ring Qab

    31/40

    Data invariant

    State

    Operation

    Precondition

    Postcondition

    - E.g.: 1 A symbol tableFig: A symbol table

    - E.g.: A block handler

    Fig: A block handler

    10. Explain in detail about Mathematical preliminaries

    Sets and constructive specification

    Sets

    Cardinality

    Constructive set specification

    Set operators

    Membership

    Subset

    Empty set

    Union, intersection

    Difference

    Cross product

    Power set

    Logic operators

    Sequences

    11. Describe briefly about applying mathematical notation

    for formal specification

    Description of

    State

    Data invariant

    Operation

    Precondition

    Postcondition

    12. Describe in detail about the Z specification languageA brief overview of Z syntax and semantics

    - Generic structure of schema- Summary of z notation

    An e.g. using Z- BlockHandler

    - RemoveBlocks

    - AddBlocks

  • 8/3/2019 Formal Methods and Requirement ring Qab

    32/40

    13. Explain in detail about formal methods

    Basic concepts

    Deficiencies of less formal approaches

    Contradictions

    Ambiguities Vagueness

    Incompleteness

    Mixed levels of abstraction

    Mathematics in s/w development

    Formal methods concepts

    State

    Data invariant

    Operation

    Precondition

    Postcondition

    UNIT-III

    14. Explain in detail about abstract machines

    Software development lifecycles

    Specification using abstract machines

    Fig: Schematic structure of abstract machine

    Mathematical notation

    Machine parameters

    Sets

    Constants and properties

    Variables and Invariants

    Initialization

    Operation definitions

    Semantics of abstract machines

    Semantics of generalized substitutions

    Definition of [S]P

    Intuition

    Meanings of obligations

    Internal Consistency

    Animation

    15. Describe in detail about constructing specifications

    Machine composition mechanisms- Fig: Architecture of vending system

    - Fig: Statechart of vending machine

    - Fig: Specification structure of vending machine

  • 8/3/2019 Formal Methods and Requirement ring Qab

    33/40

    - Fig: Typical use of SEES, INCLUDES and EXTENDS

    mechanism

    Structuring mechanisms and proof

    Translation of analysis models

    - Fig: Object model of air traffic control system

    Relationships Renaming

    - Fig: Specification structure of ATC system

    16. What is meant by design and refinement in abstract

    machine? Explain

    The layered development paradigm- Fig: General structure of B development

    - Fig: Decomposition of development into Layers

    Refinement

    - Fig: Example of refinement correspondence

    - Fig: Schematic refinement step Refinement examples

    Implementation

    Examples of implementation

    - Fig: Development Architecture of vending machine development- Fig: Global structure of vending machine development

    System construction

    Create separate decomposition

    Mapping INCLUDES into IMPORTS

    Mapping SEES into SEES

    - Implementation example- Vending machine

    17. How will you prove the abstract machine? Explain in

    detail

    The B Tool

    Proof of internal consistency obligations

    Example-ATC Development

    Assertions

    Definitions

    Proof Listings

    Animation

    Refinement proof Refinement proof example- Vending system

    18. Explain in detail about implementation in abstract

    machines

    Prototype generation

    Implementing complex data

  • 8/3/2019 Formal Methods and Requirement ring Qab

    34/40

    Base generation

    Coding and integration

    UNIT-IV

    19. Explain in detail about the requirements problem The goal

    Root causes of project success and failure

    - Fig: Largest s/w development problems by category

    The frequency of requirement errors

    - Table: Defect summary

    The high cost of requirements errors- Fig: Relative cost to repair a defect at different lifecycle phases

    20. Explain briefly about requirements management

    Applications of requirements management

    Types of s/w applications

    Systems applications

    The road map

    The problem domain (with dig)

    Stakeholder needs (with dig)

    Moving toward the solution domain

    Features of the system (with dig)

    S/w requirements (with dig)

    An introduction to use cases (with dig)

    21. Explain in detail about the steps involved in problemanalysis

    Gain agreement on the problem definition

    - The problem statement

    - Table: Problem statement format

    Understand the root causes-the problem behind the problem

    - Fig: Fishbone diagram of root causes

    - Addressing the root cause- Fig: Pareto chart of root causes

    - Table: sales order problem statement

    Identify the stakeholders and the users

    - Table: Users and Stakeholders of new system Define the solution system boundary

    - Fig: System boundary

    - Fig: System perspective

    Identify the constraints to be imposed on the solution.

    - Table: Potential system constraints- Table: Constraints, sources, and rationale for sales order entry

    system

  • 8/3/2019 Formal Methods and Requirement ring Qab

    35/40

    22. Describe in detail about business modeling

    Purpose of business modeling

    Using s/w engineering techniques for business modeling

    Choosing the right technique

    The unified modeling language (UML) Business modeling using UML concepts

    - Fig: Business use case model

    - Fig: Business object model

    From the business models to the systems model

    Use of business modeling

    23. Explain in detail the challenge of requirements

    elicitation

    Barriers to elicitation

    The Yes, But syndrome

    The undiscovered ruins syndrome

    The user and the developer syndrome- Table: The user and the developer syndrome

    Techniques for requirements elicitation

    24. What is brainstorming and idea reduction? Explain it

    in detail

    Live brainstorming- Fig: Rules for brainstorming

    Idea reduction

    Pruning Grouping ideas

    Feature definition

    Prioritization

    - Cumulative voting: The hundred dollar test- The Critical, Important, Useful Categorization

    Web-based Brainstorming

    25. Describe in detail about applying use cases

    Building the use case model

    - Fig: The initial warehouse system, with actors identified

    Applying use case to requirements elicitation- Fig: Use-case specification for manual distribution b/w

    warehouses

    26. Explain in detail about prototyping

    Types of prototypes

    Throwaway versus evolutionary versus operational

  • 8/3/2019 Formal Methods and Requirement ring Qab

    36/40

    Vertical versus horizontal

    User Interface versus algorithmic

    - Fig: Decision tree for prototype selection

    Requirements prototypes

    What to prototype

    Building the prototype- Fig: continuum of understanding user needs

    Evaluating the results

    UNIT-V

    27. Describe in detail about organizing requirements

    information

    Organizing requirements of h/w and s/w systems

    - Fig: A system of systems- Fig: Hierarchy of specifications resulting from system design

    - Fig: Hierarchy of resulting specifications, including s/w and h/wsystems

    Organizing requirements for product families- Fig: requirements organization for a s/w product family

    On future requirements

    Business and marketing requirements versus product requirements

    28. Describe briefly about vision document

    Components of the vision document- Fig: Scope of the Vision Document

    - Table: Template for a s/w product vision document

    The delta vision document

    Vision document for release 1.0

    - Fig: Vision document v1.0

    Vision document for version 2.0- Fig: Vision document v2.0

    - Fig: Delta Vision document v2.0

    - Fig: Delta Vision document

    The Delta Vision document in a legacy system environment

    29. Explain in detail about the champion

    The role of product championThe product champion in a s/w product environment

    The product champion in an IS/IT shop

    30. Explain briefly about problem of project scope

    Components of project scope

    Functionality

    Resources

  • 8/3/2019 Formal Methods and Requirement ring Qab

    37/40

    Time

    - Fig: Project scope

    The hard question

    31. Explain in detail about establishing project scope

    The requirements baseline- Fig: Requirements baseline

    Setting priorities

    - Table: Prioritized features

    Assessing effort

    - Table: Features list with effort added

    Adding the risk element- Table: Features list with risk added

    Reducing scope

    A reasonable first estimate- Table: scope prioritization techniques

    - Table: Prioritized feature list

    32. Describe in detail about Managing your customer

    Engaging customers to manage their project scope

    Communicating the result

    Managing the baseline

    Official change

    Unofficial change

    33. Describe briefly about s/w development process models Waterfall model

    - Fig: Waterfall model of s/w development

    - Fig: Applying the waterfall model to a project with 200% scope

    Spiral model- Fig: The spiral model of development

    - Fig: Applying the spiral model to a project with 200% scope

    The iterative approach

    Lifecycle phases

    - Fig: Lifecycle phases in the iterative approach

    Iterations

    - Fig: Phase iterations, resulting in viable releases Workflows

    - Fig: Workflows of the iterative approach- Advantages

    a) Getting the Yes, Buts out early

    b) Better scope management

    34. Explain briefly about software requirements

  • 8/3/2019 Formal Methods and Requirement ring Qab

    38/40

    Definition of software requirements

    - Fig: System elements

    R/p b/w features and s/w requirements

    The requirements dilemma: what versus how

    Exclude project information

    Exclude design information More on requirements versus design

    Iterating requirements and design

    A further characterization of requirements

    Functional software requirements

    Non functional software requirements

    - Usability- Reliability

    - Performance

    - Supportability

    Design constraints

    Design constraints are true requirements

    Using parent-child requirements to increase specificity

    Organizing parent-child requirements

    35. Describe in detail about refining use cases

    Use of use-case methodology

    Use-cases not the best choice

    The redundancy problem

    Refining use case specifications

    Evolution of use cases

    Scope of use cases

    36. Explain briefly about ambiguity and specificity

    Finding the Sweet Spot

    Techniques for disambiguation

    Memorization heuristic

    Keyword technique

    Emphasis technique

    Other techniques

    37. Describe in detail about Build right system rightContinually confirm that the development is on track

    Principles of s/w verification

    The cost of verification

    Verification at all levels

    The reason for verification

    Confirm that the development results are correct

    Cope with change that occurs during the development process

  • 8/3/2019 Formal Methods and Requirement ring Qab

    39/40

    38. How mapping is done from requirements to

    implementation

    Mapping requirements to design and code

    - Fig: Requirements to design to implementation

    Object orientation The use case as a requirement

    Managing the transition

    Modeling s/w systems

    The architecture of s/w systems

    Views of architecture

    - Fig: The 4+1 architectural view

    Role of the use case model in architecture

    Realizing use cases in the design model

    Structural and behavioral aspects of collaborations- Fig: Class diagram

    - Fig: Behavioral aspects of collaboration

    Using collaborations to realize the sets of individual requirements- Fig: Model of req. implementation as a use case realization

    From design to implementation

    39. How will you use traceability to support verification

    The role of traceability in requirements verification

    - Fig: traceability link from vision document to s/w requirement- Fig: project relationships

    Implicit and explicit relationships

    Additional traceability options to consider Using traceability tools

    - Fig: Augmented traceability relationships

    - Fig: Matrix version of traceability relationships

    Maintenance of traceability relationships- Fig: Document/element relationships

    - Fig: Abbreviated tree view

    Proceeding without traceability tools

    Omitted verification relationships

    Excess verification relationships

    Verification and traceability

    40. Describe in detail about validating the system

    Validation

    Acceptance tests

    Validation testing

    - Fig: Implementation documentation

    Validation traceability

  • 8/3/2019 Formal Methods and Requirement ring Qab

    40/40