Upload
maalavica-ramakrishnan
View
234
Download
0
Embed Size (px)
Citation preview
7/31/2019 SEFULL- 2mark 16 Marks With Answers
1/140
UNIT - I SOFTWARE PROCESS
1 . Define - Software process.
Software process is a sequence of steps with feedback
resulting in the production and evolution of software.
2. What are the three levels of the software process?
The three levels of software process are:
i. Universal level
ii. Worldly level
iii. Atomic level
3. Explain the three levels of software process.
The Universal level provides a software process model
suitable for any project. It can be decomposed to a worldly level
model.
The Worldly level model is project specific. In this level, the
needs, plans, methods and guides for a project are identified. It
specifies the sequences of tasks to be performed.
The Atomic level model comprises of detailed sequence
steps. This level is where the software process becomes task
specific.
4. Explain feedback system.
Product development is characterized by an overlapping of
activities needed to specify, design and list conceptual constructs
of software being built. The collection of activities making up a
software process forms a feedback system.
5. What are the four principle forms of feedback? Explain
them.
The four principle forms of feedback are:
i. Software entity measurements : Numbers derived from resultsproduced by effectors processes.
ii. Corrective: Feedback due to software errors, faults and failures.
iii. Change: Modify software to eliminate defects.
iv. Improvement: Enhance software.
6. Differentiate between software defect and software error.
Software defect
A software defect is a product anomaly. Eg : Omission of a
required feature or imperfection in the product.
Software error
A software error is an observed difference between a computed
value and a required value or condition. Eg : error due to misinter-
pretation of a specific software requirement
7/31/2019 SEFULL- 2mark 16 Marks With Answers
2/140
7. Differentiate between software fault and software failure.
Software faultSoftware contains a fault whenever it has an incorrect step,
process or data definition
Software failure
A software failure occurs when the software is unable to perform
its required function
8. Define - Effector.
An effector is a process that performs some task, verifies its work
and exits whenever its exit condition has been satisfied.
9. Define - Decider.
Decider is a process that determines if the entry condition for a
task has been satisfied and chooses an appropriate effector to carry
out a task.
10. What is an ETVXM architecture
The combination of a decider, effector and a measure
defines an Entry, Task, Verify, Exit, Measure (ETVXM) process
architecture with feedback. Feedback to a decider processprovides the basis for iterative refinement of project requirements
and design.
11. Explain the correspondencebetween feedback and
ETVXM process.
The cluster of effector boxes represents various concurrent
software development sub processes in the software process. Each
effector process consists of a principal activity that produces a
software entity that must be measured.
Feedback must be compared with the project blueprint and
software engineering guide to check for discrepancies and
16. What are theprocesses involved during the
development of a software?
Three processes are involved during the development of asoftware. They are:
i. Requirements: Decide what a system must do, its activities,
its risks and testing plan.
ii. Design: Determine how a system computes, its specific
functions and structure.
iii. Implementation: Produce source code, documentation and
tests, validate and verify.
17. Define - Software Process Model.
A Software Process Model prescribes a frame work for
principal project activities, inputs, outputs and constraints.
18. Explain Waterfall Model.
Waterfall Model uses a sequence of activities in a Software
7/31/2019 SEFULL- 2mark 16 Marks With Answers
3/140
Life Cycle that began with concept exploration and concluded
with maintenance and eventual replacement. The sequence of
activities are:
i. Concept exploration
ii. Requirementsiii. Design
iv. Implementation
v. Test
vi. Installation and check out
vii. Operation and maintenance
viii. Replacement
19. What are the problems encountered in the Classic Life
Cycle Model?
The frequently encountered problems in linear sequential
model are:
i. Real projects rarely follow the sequential flow.
ii. It is often difficult for the customer to state all requirements
explicitly.
iii. A client must wait until the installation and check out phase to
see how a system works.
20. What is a prototype?
A prototype is an executable model that accurately reflects a
subset of the properties of a system being developed.
21. Explain Incremental Model.
The Incremental Model combines elements of the linear
sequential model with the iterative philosophy of prototyping. The
incremental model applies linear sequences in a staggered fashion
as calendar time progresses. Each linear sequence produces a
deliverable "increment" of the software.
22. Define the terms (i) Increment (ii) Core product.
(i) The incremental model delivers software in small but
usable pieces called "increments". Each increment builds on those
that have already been delivered.
(ii) When an incremental model is used, the first increment
is called a "Core product". In this, the basic requirements are
addressed but many supplementary features remain undelivered.
23. Which model is used when staffing is unavailable and
why?
Incremental model is used when staffing is unavailable for a
complete implementation by the business deadline that has been
established _ the project. Early increments can be implemented
with fewer people. If the core product is well received, then
additional staff can be added to implement the next increment.
24. Briefly describe Spiral Model.
Spiral Model is an evolutionary software process model that
couples the iterative nature of prototyping with the controlled
systematic aspects of linear sequential model. With this model, the
7/31/2019 SEFULL- 2mark 16 Marks With Answers
4/140
software is developed in a series of incremental releases. In early
iterations, the release is a prototype and in the later iterations, a
complete version of the engineered system is produced.
25. What is meant by task regions? List the six task regions.
Spiral model is divided into a number of framework activities
called task regions. The six task regions are as follows:
i. Customer communication
ii. Planning
iii. Risk Analysis
iv. Engineering
v. Construction and release
vi. Customer evaluation.
26. What is a "task set" ?
Spiral model comprises of a number of task regions. Each of
the regions is populated by a set of work tasks called "task set"
that are adapted to the characteristics of the project to be
undertaken.
27. Explain WINWIN spiral model.
WINWIN spiral model defines a set of negotiation activities
at the beginning of each pass around the spiral. The following
activities are defined:
1. Identification of the system or subsystem's key 'Stakeholders'.
ii. Determination of the stakeholder's win conditions.
iii. Negotiation of stakeholders win conditions to reconcile theminto a set of win-win conditions.
On completion of these steps successfully, it results in aWIN- WIN result that becomes a key criterion for proceeding tosoftware and system definition.
28. What is an anchor point? Explain the three anchor
points of WINWIN spiral model.
The milestones that establish the completion of one cyclearound the spiral and provide decision milestones before the
project proceedings is called an anchor point.
The three anchor points are:
i. Life Cycle Objective (LCO) is a set of objectives for each majorsoftware engineering activity.
ii. Life Cycle Architecture (LCA) - objectives that must be met asthe system and software architecture is defined.
iii. Initial Operationa1 Capability (lOC) is a set of objectives
associated with the preparation of the software for installation /
distribution.
29.What are the disadvantages of Evolutionary
Model?
The disadvantages of Evolutionary Model are:
i. It can be costly if the current release is made with an
assumption that it will be succeeded by an improved version of the
software later. .
7/31/2019 SEFULL- 2mark 16 Marks With Answers
5/140
ii. They are used on large software systems.
30. Explain the prototyping paradigm.
Customer and developer meet and define the objectives for
the software. As a result, a 'quick design' occurs that leads to theconstruction of a prototype, which is evaluated by the user.
Iteration occurs as the prototype is tuned to satisfy the needs of thecustomer.
31. What are the disadvantages of prototyping model?
The disadvantages of prototyping model are:
i. Long term maintainability is difficult, as the working
prototype may need to undergo few fixes in the future.
ii. The developer often makes implementation compromises to
get a working prototype quickly.
32. Briefly describe Object - Oriented Model.
Object - Oriented Model describes software development in
terms of the identification of objects used to construct object
networks. It prescribes software development in terms of a
synergy between abstraction, modularity, encapsulation,
hierarchy, typing, concurrency and persistence. The development
phase of the object-oriented model culminates in implementation
coded in an object-oriented language such as C++ or Java.
33. Explain the terms: Abstraction,Modularity, Encapsulation,
Hierarchy, Typing, Concurrency and
Persistence.
Abstraction hides details and provides simplified descriptions of a
system.
Modularity is partitioning a software system into modules that canbe compiled separately and identifying connections with other
modules.
Encapsulation hides the implementation details of an object.
Hierarchy refers to abstractions ordered in terms of super classes
and subclasses.
Typing identifies structural and behavioral properties that a
collection of entities share.
Concurrency permits more than one thread of control to be active
at the same time.
Persistence means that the state and class of an object are
preserved across time and space.
34. What are the advantages of object-oriented
approach?
The advantages are:
i. It simplifies the software development as it hides complexity.
ii. The development of classes supports multiple instances of
objects as well as encapsulation that leads to reuse.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
6/140
35.What is an embedded computer system? Give
four examples.
An embedded computer system is an electromechanicalsystem governed by one or more computers. The computer in an
embedded system performs some of the requirements of that
system, making it possible for the system to carry out its
functions.Eg.
i. Rocket guidance systems.
ii. Avionics systems for civilian and military aircraft
iii. Recent models of automobilesiv. Satellites.
36. .Briefly explain Synchronize and Stabilize
Model.
Synchronize and Stabilize Model is used by Microsoft to
develop software. It has three phases, namely:
i. Planning: Define product vision and specification; schedule the
tasks.
ii. Design: Feature development, 3 or 4 sequential subprojects
with milestones.
iii. Stabilization: Comprehensive internal and external testing,
final product stabilization and release.
37.What are the drawbacks of synchronize and
stabilize model.
The drawbacks of synchronize and stabilize model are:
i. Reliance on testing and debugging to determine when an
increment is stable. Consideration of the proof of the functional
correctness of an increment has not been reported.
ii. Partition of design phase into three subprojects, each with one-
third of the features of a product. For a large system, smaller
partitions will be necessary.
38. What is "System Engineering" ?
Software engineering occurs as a consequence of a process
called "System Engineering". It focuses on a variety of elements,
analyzing, designing and organizing those elements into a system
that can be a product, a service or a technology for the
transformation of information or control.
39.What is the work product during system
engineering?
An effective representation of the system must be produced
as a. consequence of system engineering called the work product.
It can be a prototype, a specification or even a symbolic model but
it must communicate the operational, functional and behavioral
characteristics of the system to be built and provide insight intothe system architecture.
40. Define - Computer -basedsystem.
According to webster, a computer-based system is defined as "A
set or arrangement of elements that are organized to accomplish
some predefined goal by processing information".
7/31/2019 SEFULL- 2mark 16 Marks With Answers
7/140
41. What are the system elements involved in accomplishing
the goal of a computer - based
system?
To accomplish the goal, the computer-based system uses thefollowing system elements, namely:
i. Software: Computer programs, data structures and related
documentation.
ii. Hardware: Electronic devices with computing capability,
electromechanical devices and interconnectivity devices.
iii. People: Users and operators of hardware and software.
iv. Database: A large, organize_ collection of related information
accessed via software.
v. Documentation : Descriptive information tha1 portrays the
use and/or the operation of the system.
vi. Procedures: Steps that define the use of each system
elements or procedural context in which the system resides.
42. Explain the System Engineering Hierarchy.
The systell1 engineering process usually begins with a
"world view". The entire business or product domain is examined
to ensure proper business or technology context that can be
established. The world view is refined to focus more fully on
specific domain of interest. The need for targeted system elements
is analyzed in the specific domain.
Finally analysis, design and construction of a targeted
system element is initiated.
43. List the restraining factors in constructing a system model
The restraining factors in constructing a system model are:
i. Assumptions
ii. Simplifications
iii. Limitations
iv. Constraints
v. Preferences
44. What is the goal of business process engineering?
The goal of business process engineering is to define architecturesthat will enable a business to use information effectively.
45. Explain the three architectures developed during business
process engineering.
The three architectures developed during business process
engineering are:
i. Data architecture
ii. Application architecture
iii. Technology Infrastructure
Data architecture provides a framework for the information needs
of a business or business function.
Application architecture encompasses those elements of a system
that transform objects within the data architecture for some
business purpose.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
8/140
The technology infrastructure provides the foundation for the data
and application architectures.
46. What is information strategy planning?
Information strategy planning defines the data objects that are
visible at the enterprise level, their relationships and how they
flow between the business domains.
47. Briefly describe business area analysis.
Business area analysis is concerned with identifying in detail, data
of selected business .areas identified during ISP and ascertaining
their interactions. It is only concerned with specifying what is
required in a business area.
48. What is meant by product engineering?
Product engineering is a system engineering approach that begins
with system analysis. The system engineer identifies the
customer's needs, determine economic and technical feasibility
and allocates function and performance to software, hardware,
people and databases.
49. How is the world view and the domain view achieved in
product engineering?
World view is achieved through requirements engineering. The
overall requirements of the product are elicited from the customer.
Domain view is achieved through system component engineering.
System component engineering is a set of concurrent activities
that address each of the system components separately. The
system components are software engineering, hardware
engineering, human engineering and database engineering.
Part - B
Software
Process
1. Explain Waterfall Model.
The first published model of the softwaredevelopment process was derived from otherengineering process. This is illustrated from followingfigure. Because of the cascade from one phase toanother, this model is known as "Water fall model" or"Software life cycle model". The principle stage of themodel map on to fundamental development activities.
(i)Requirement analysis and definition : The
systems services constraints and goals areestablished by consultation with systemusers. They are then defined in detail andserve as system specification.
(ii)System and Software Design : The systemdesign process partition the requirementsto either hardware or software systems. Itestablishes an overall system architecture.Software design involves identifying anddescribing the fundamental software system
abstraction and their relationship.(iii)Implementation and unit testing : During thisstage the software design is realized as a set
7/31/2019 SEFULL- 2mark 16 Marks With Answers
9/140
of programs or program unit. Unit testinginvolves verifying that each unit meets its
specification
7/31/2019 SEFULL- 2mark 16 Marks With Answers
10/140
2. Explain the Concept of software process.
RequirementDefinitions
System &Soft-ware design
Implemen-
tation
Integration
Operation &Maintenance
(iv)Integration and system testing : Theindividual program units or programs areintegrated and tested as a complete systemto ensure that the software requirementhave been met. After testing the softwaresystem is delivered to the customer.
(v)Operation and maintenance : The system is
installed and put into practical use.Maintenance involves correcting errors whichwere not discovered in earlier stages of lifecycle.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
11/140
The following are the basic principles to develop asoftware process.
(i)Structured set of activities required e.g.Specification, Design, Validation, Evolution
(ii) Activities vary depending on theorganisation and the type of system beingdeveloped
(iii)It Must be explicitly modelled if itis to be managed
In order to analysis software process wemust clearly mention the ProcessCharacteristics
(i)Understandability(ii) Visibility(iii) Supportability(iv) Acceptability(v) Reliability
(vi) Maintainability(vii) Rapidity
Generic building is a type of software bulidingthat build any product some points to remember are:
(i)Specification - set out requirementsand constraints
(ii) Design - Produce a paper model ofthe system
7/31/2019 SEFULL- 2mark 16 Marks With Answers
12/140
(iii) Manufacture - build the system
(iv) Test - check the system meets
the required specifications(v) Install - deliver system to customer
and ensure it is operational
(vi) Maintain - repair faults in thesystem as they are discovered
(vii) Normally, specifications areincomplete / anomalous
(viii) Very blurred distinctionbetween specification, design andmanufacture
(ix)No physical realisation of the systemfor testing
(x) Software does not wear out -maintenance does not meancomponent replacement
main purpose of software process model is to giverisk-reducing structure and growing
recognition that in many cases software should bedeveloped in an evolutionary fashion
e.g. Microsoft Visual C++ is shipped every 4months
2.Explain about prototyping Model.3.
In Waterfall model Separate and distinct phasesif specification and development are provided.Where as in Prototyping Models
and
7/31/2019 SEFULL- 2mark 16 Marks With Answers
13/140
Evolutionary Models Specification and developmentare interleaved
Prototyping is used in 2 types they are
(i)Evolutionary prototyping : Objective is to workwith
customers and to evolve a final system froman initial outline specification. Should startwith well-understoodrequirements
(ii) Throw-away prototyping : Objective is tounderstand the system requirements.Starts with poorly understoodrequirements
Requirements are difficult to capture accurately.Prototype is a working model of part or all of the final
system and use of high-levellanguages to create working programs quickly. Nowa days modern 4GLs are very suitable. Prototype maybe inefficient/ not as robust as finalsystem/ less functionality
Problems with Prototyping
(i)Documentation may get neglected
(ii)Effort in building a prototype may be wasted
(iii)Difficult to plan and manage
Advantages
(i)Faster than the waterfall model
(ii) High level of user involvement from start
7/31/2019 SEFULL- 2mark 16 Marks With Answers
14/140
(iii)Technical or other problems discoveredearly - risk reduced
Strategies
(i)Evolutionary
Prototyping
(ii)Incremental (Staged)
Delivery (iii)Design-to-
Schedule
(iv)Evolutionary
Delivery
Problems with Evolutionary Prototyping
(i)Difficult to plan as amount of effort isuncertain(ii) Documentation may be neglected
(iii)Could degenerate into Build and Fix withpoorly structured code(iv)Languages which are good for prototyping
not always best for final productAdvantages
(i)Effort of prototype is not wasted(ii)Faster than the waterfall model(iii)High level of user involvement from start(iv)Technical or other problems discoveredearly - risk reduced
4. Explain Incremental and Requirement
Analysis in detail. Mechanism
(i)requirements gathered in initial stages
7/31/2019 SEFULL- 2mark 16 Marks With Answers
15/140
(ii)overall architectural design is determined
(iii)requirements met in successive stages of theproject
(iv)users get part of the functionality deliveredat an early stage (As in evolutionaryprototyping)
Problems
(i)Needs careful planning - stages have
interdependencies (ii)If not planned well -
extra effort in interfacing stages
(iii)Users may tire of constant changes
(iv)funding may be difficult to obtain for asuccession of changes
Requirement Analysis
The process of establishing the servicesthat the customer requires from a system and theconstraints under which it operates and is developed
What is a requirement?
(i)may range from a high-level abstractstatement of a service or of a systemconstraint to a detailed mathematicalfunctional specification
(ii)Requirements may serve a dual function(iii)May be the basis for a bid for a contract -
therefore must be open to interpretation(iv) May be the basis for the contract itself -
therefore must be defined in detail
7/31/2019 SEFULL- 2mark 16 Marks With Answers
16/140
(v) Both these statements may be calledrequirements
Requirements definition
A statement in natural language plusdiagrams of the services the system providesand its operational constraints. Written forcustomers
Requirements specificationA structured document setting out detaileddescriptions of the system services. Writtenas a contract between client and
contractor. For customers +developers
Software specification
A detailed software description which can serve as abasis for a
design or implementation. Written for developers
5. What are the problems in Requirement
analysis and write short notes on Nonfunctional and requirment verification?
The following are the some of the problems of
requirement
analysis. (i)Hard to anticipate the effects that
the new system will have on
theorganisation
(ii)Different users have different requirements
and priorities. (iii)System end-users and
organisations who pay for the systemhave differentrequirements
(iv)Prototyping often required to clarifyrequirements
7/31/2019 SEFULL- 2mark 16 Marks With Answers
17/140
(v)Natural language problems
Non Functional Requirements
(i)Define system properties and constraintse.g. reliability, response time and storagerequirements. Constraints are I/O devicecapability, system representations, etc.
(ii)Process requirements may also bespecified mandating a particular CASE
system, programminglanguage or development
method
(iii)Non-functional requirements may bemore critical than functional requirements.If these are not met, the system is useless
Requirement Verifiability
(i)Requirements should be written so that theycan be objectively verified
(ii) The problem with this requirement is itsuse of vague terms such as errors shall beminimised
(iii)The system should be easy to use byexperienced controllers and should beorganised in such a way that user errors areminimised.
(iv)The error rate should be quantified
(v) Experienced controllers should be able touse all the system functions after a total oftwo hours training. After this training, theaverage number of errors made byexperienced users
7/31/2019 SEFULL- 2mark 16 Marks With Answers
18/140
should not exceed two per day.
Advantages
(i)Effort of prototype is not wasted(ii)Faster than the waterfall model
(iii)High level of user involvement from start
(iv)Technical or other problems discovered early- risk reduced
6. Explain the Evolution of Software Designapproach
Evolution of Software Design Approaches are :
(i)procedural aspects of design definitionled to structured programming
(ii)Forms a top-down approach to design
(iii)SA/SD methods for translation of data flow ordata structure into a design definition -functional design methods
(iv) Abstract Data Types have led to Object-Oriented approaches to design definition -higher level abstractions
(v) Formal design specificationtechniques have led to
transformational approaches todesign
(vi)Increasing formalization andautomation of implementation
7/31/2019 SEFULL- 2mark 16 Marks With Answers
19/140
Common Characteristics of Design Approaches
(i)Mechanism for the translation of theapplication domain representation intothe design representation
(ii) A notation for representing functionalcomponents and their interfaces
(iii)Heuristics (rules-of-thumb) for refinementand partitioning of design
(iv)Guidelines for qualityassessment
An Application of OOD Method
A numerical control (NC) for machine tools is to bedeveloped. The NC is programmed with machineinstructions and produces control commands for themachine tools servosystem. In addition the NCcontains a CRT display and keyboard for operator
interaction.
Develop a numerical control for a machine tool thatreads NC blocks and operator commands andproduces machine servosystem controlcommands and a CRT display.
7. What are the procedures and notion tobe used for Object, Operation Design andRefinement
(i)Identify all noun and verb phrases
(ii)Build object table using nouns
7/31/2019 SEFULL- 2mark 16 Marks With Answers
20/140
(iii)Separate out Problem and Solutionspace objects
(iv) Build object-operation table usingverbs
(v) Refine object-operation table
(vi)Add attributes to objects
(vii)Construct various views of designusing class diagrams (logical),
interaction and/orstate diagrams
(process),implementation/deploymentdiagrams (physical) and component/development diagrams (development).
(viii)Prepare to testtheimplemented designby developing scenarios of use
- I.e. there should be at least onescenario related to each function orfeature required by the user.
(ix) Review and repeat if necessary.
Comparison of FunctionalDesign and OOD
1.There is no best design strategy.
2.Designers should employ whicheverapproach seems most appropriate for aparticular system.
3.From an initial natural language view, it is easierto identify the set of objects that comprise thesystem than the set of functions.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
21/140
4.Once functional requirements have beenidentified linking these to a functionalview of the system aids traceability.
(v)Often a heterogeneous approach e.g.combining DFDs with OO
diagrams is useful.
Somerville says: The functional approach todesign using data-flow
diagrams is probably the most intuitiveway to describe the overall design. However,the focus on function means thatthe reader of the design finds it more difficultto understand entities which are manipulated bythe system.
8.Differentiate between Prototype andSpiral Model
Prototype Model
In most projects, the first system is barelyusable...When a new system concept of newtechnology is used, one has to build a system tothrow away, for even the best planning is not soomniscient as to get it right the first time. The
management question, therefore, is not whether tobuild a pilot system and throw it away. You will dothat. The only question is whether to plan in advanceto build a throwaway, or to promise to deliver thethrowaway to customers.
Usually, this model replaces part of thewaterfall model--the requirements anddesign part. The main problems are :
(i)The user thinks that the prototype is a finishedproduct.(ii) Quick and dirty design and coding in the
prototype may remain in the product.Not all problems are more easily or better solved byprototyping. Works
7/31/2019 SEFULL- 2mark 16 Marks With Answers
22/140
better on on the edge products.The Spiral Model
(i)Not as bad as it looks.
(ii)Its a sort of curled-up incrementalwaterfall with prototyping thrown in.(iii)Defined as passing through 4-6 task regions,often(iv)Customer communication(v)Planning(vi)Risk analysis(vii)Engineering(viii)Construction andrelease (ix)Customerevaluation
Development travels around the spiral, with definedtasks in each task region. First pass around thespiral is often development of a specification, thenext is a prototype, and the next a productionproduct. Maintenance is yet another.
As the Model concerns
(i)Risk analysis is an important part of theprocess(ii) Has the good points of prototyping. In fact,
it includes portions of other models.(iii) Maintenance is part of the process in thesame way that other
parts are--less apt to beforgotten. (iv)Seems to betheoretical only.(v)Complexity(vi)Risk analysis is a hard thing to come by inmost projects.(vii) Managers are hard to sell on it, as it is not
fast (and cant be made to appear fast.)
7/31/2019 SEFULL- 2mark 16 Marks With Answers
23/140
9. Explain Software Validation.Software validation is intended to show that asystem is confirm to its specification and that thesystems meets the expectations of a customerbuying the systems. It involves checking processsuch as inspections and reviews at the each stage ofthe process.
The majority of validation costs are incurredafter the operational systems are tested.
Except for small programs systems should not betested as a single unit. Large systems are built outof sub systems which are built out of modules whichare composed out of procedures and functions.
The testing process should therefore proceed in astage where testing is carried out incrementallywith conjunction with system implementation,.
The Stages in the testing process are :
(i)Unit Testing : Individual component aretested to ensure that they operate correctly.
(ii)Module Testing : A Module is a collectionof dependant
component such as an object class, an
abstract data type. A Module encapsulatesrelated components, so can be testedwithout other system module.
(iii)Sub System checking : This phase involvestesting collections of module which havebeen integrated into sub systems. The mostcommon problems which arise in largesoftware systems are interfaces mismatch.
(iv)System Testing : The subsystems areintegrated to make up the systems. Thisprocess is concerned with finding errorsthat result from unanticipated interactionbetween sub systems and
7/31/2019 SEFULL- 2mark 16 Marks With Answers
24/140
sub systems interfaceproblems.
(v)Acceptance testing ; This is the final stage in
the testing process before the system isaccepted for operational use. The system istested with data supplied by the systemscustomers rather than simulated data.
Unit testing and modular testing are usually theresponsibility of the programmers. They make uptheir own data and incrementally tested test the codeas it is developed.
Later stage of testing involves integrating workfrom a number of programmers and must beplanned in advance. An independent team of testershould work from pre formulated test plans whichare developed from the system specification anddesign.
These are the main key points ofvalidation Process.
10.Explain the Computer based System inSoftware Approach.
A set or arrangement of elements that are organizedto accomplish some method, procedure or controlby processing information. Elements include:hardware software people users and operatorsdatabase documentation procedures the steps thatdefine the specific uses of each system element or
the procedural context in which the system resides.Systems transform information. Systems can contain,
as elements, other systems. Computer SystemEngineering or Systems Analysis system functionsare discovered, analyzed and allocated toindividual system elements. Customer-defined goalsand constraints are used to derive a representationof function, performance, interfaces, designconstraints and information structures for eachsystem element. tasks include:
7/31/2019 SEFULL- 2mark 16 Marks With Answers
25/140
identify desired functions ``bound' or identify thescope of various elements/functions allocatefunctions to system elements alternatives areproposed and evaluated selection criteria include:project considerations - scheduling, cost, riskbusiness considerations marketing, profit,risk technical analysis - function, performancemanufacturing evaluation - availability, qualityassurance human issues - workers,customers environmental interfaces -
system'sexternal environmentlegal considerations - liability,
infringement Systems Analysis
Systems Analysis is conducted with the followingobjectives: identify the customer's needs evaluatethe system concept for feasibility performeconomic and technical analysis allocate functions tothe various system elements establish cost andschedule constraints create a system definitionthat forms the foundation for all subsequentengineering work . Pervasive SystemRequirements
There are many other categories of requirementsthat also deserve attention pervasive systemrequirements include:
(i)accessibility(ii)reusability(iii)adaptabili
ty(iv)robustness(v)availability(vi)safety(vii)compatibility(viii)security(ix)correctness
(x)testability(xi)efficiency(xii)usability(xiii)faulttolerance(xiv)integrity(xv)maintainability performanceportability protection & (xvi)reliability
7/31/2019 SEFULL- 2mark 16 Marks With Answers
26/140
UNIT-II SOFTWARE REQUIREMENTS
1. What are functional requirements?
Functional requirements are statements of the services that
must provide descriptions of how computations must be carried
out. Domain requirements are functional requirements that are
derived from characteristics of the application domain.
2. What are non-functional requirements?
Non-functional requirements are product requirements thatconstrain the system being developed, process requirements which
apply to the development process and external requirements. They
often relate to the emergent properties of the system and so applyto the system as a whole.
3. Classify the different types of non-functional requirements.
The different types of non-functional requirements can be
classified as :
i. Product requirements
ii. Organisational requirements
iii. External requirements
4. List the metrics for specifying non functional
requirements.
The possible metrics that specify the non-functional requirements
are: .
i. Speed
ii. Sizeiii. Ease of Use
iv. Reliability
v. Robustness
vi. Portability
5. What is the need for user requirements? Mention the
problems that arise when requirements are written in natural
language.
User requirements are useful for people involved in using andprocuring the system., The problems that arise when requirements
are written in natural language are:
i. Back of clarity
ii. Requirement confusion
iii. Requirements amalgamation
6. What guidelines do you think will minimize
misunderstandings when writing user requirements?
To minimize misunderstandings when writing user requirements,
th\e following guidelines can be used:
i. Invent a standard format and ensure that all requirement
definitions adhere to that format.
ii. Use language consistency.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
27/140
iii. Use text highlighting
iv. Avoid, as far as- possible, the use of computer Jargon.
7. Write short notes on system requirements.
System requirements are intended to communicate, in aprecise way, the functions which the system must provide. .To
reduce ambiguity, they may be written in a structured language of
some kind. This can be a structured form of a natural language, a
language based on a high-level programming language or a special
language for-requirements specification.
8. List the notations used for requirements specification.
The notations used for requirements specification are:
i. Structured natural language.
ii. Design description languages.
iii. Graphical notations.
iv. Mathematical specifications.
9. What information must be included while specifying
functional requirements?
The information to be included while specifying functional
requirements are given below:
i. A description of the function or entity being specified. ii.
A description of its inputs and where these come from.iii. A description of its outputs and where these g? to. iv. An
indication of why other entities are used.
v. If a functional approach is used, a pre-condition setting out
what must be true before the function is called and a post-
condition specifying what is true after the function is called.
vi. A description of the side-effects of the operation.(if any).
10. What is a software requirements document (SRD) ?
A software requirements document (also called as software
requirements specification or SRS) is the official statement of
what is required of the system Developers. It should include both
the user requirements for a system and a detailed specification of
the system requirements.
_11. What is meant by Requirements Engineering?
Requirements Engineering is a process that involves all theactivities required to create and maintain a system requirements
document. The process activities include a feasibility study,
elicitation and analysis of requirements, the specification of
requirements and their documentation and finally the validation of
these requirements.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
28/140
ii. Problems of understanding: Customers/users have a poor
understanding of the capabilities and limitations of their computing environment.
12. Write notes on Feasibility studies.
A Feasibility study is a short, focused study that aims toanswer a number of questions, namely:
i. Does the system contribute to the overall objectives of theorganization?
ii. Can the system be implemented using current technology andwithin given cost and scheduled
constraints?
iii. Can the system be integrated with other systems that are
already in place?
The input to the feasibility study is an outline description of
the system .and it will be used within an organization. The results
should be a report that recommends whether or not it is worth
carrying on with the requirements engineering and system
development process.
13. Why is it so difficult to gain a clear understanding of what
the customer wants?
It is difficult to gain a clear understanding of what the customerwants, due to the following reasons:
i. Problems of scope: The boundary of the system is well-defined.
iii. Problems of volatility: The requirements change over time.
14. What is the use of requirements validation?
Requirements validation examines the specification to ensure that
all system requirements have been stated unambiguously; that
inconsistencies, omissions and errors have been detected and
corrected, and that the work products conform to the standards
established for the process, the project and the product.
15. List the type of checks that needs to be carried out on the
requirements in the requirements document during the
validation process.
The checks that should be carried out during the validation
process-are:
i. Validity checks
ii. Consistency checks
iii. Completeness checks
iv. Realism checks
v. Verifiability
7/31/2019 SEFULL- 2mark 16 Marks With Answers
29/140
requirements engineering processes.
19. Classify requirements from an evolution perspective.
16. List four requirements validation techniques.
The four requirements validation techniques are:
i. Requirement reviews
ii. Prototyping
iii. Test-case generation
iv. Automated consistency analysis
17. Why do new requirements emerge?
New requirements emerge for the following reasons:
i. Large systems usually have a diverse user community. Different
users have different requirements and priorities. These may be
conflicting or contradictory.
ii. System customers impose requirements because of organisational
and budgetary constraints. These may conflict with end-user
requirements.
iii. The business and technical environment of the system changes
and these must be reflected in the system ,itself.
18. What is meant by requirements management ?
Requirements management is the process of understanding
and controlling changes to system requirements. The process of
requirements management is carried out in conjunction with other
From an evolution perspective, requirements fall into two
classes:
i. Enduring requirements: These are relatively stable
requirements that derive from the core activity of the
organization and relate to the domain of the system.
ii. Volatile requirements: These are requirements that are
likely to change during the system development or after
the system has been put into operation.
20. Classify Volatile requirements.
Volatile requirements fall into four categories:
i. Mutable requirements
ii. Emergent requirements
iii. Consequential requirements
iv. Compatibility requirements
21. Write short notes on planning.
Planning is an essential stage in requirements management
process that establishes the level of requirements managementdetail that is required. The following must be decided during the
requirements management stage:
i. Requirements identification
ii. Change management process
iii. Traceability policies
iv. CASE tool support
7/31/2019 SEFULL- 2mark 16 Marks With Answers
30/140
22. Define - Traceability. List the types of traceability
information.
Traceability is an overall property of requirements specification
that reflects the ease of finding related requirements. The three
types of traceability informations are:
i. Source traceability information
ii. Requirements traceability information
iii. Design traceability information
23. With a neat diagram, explain change management process.
Change management process
The process starts with an identified requirements problem,
sometimes with a specific change proposal. The effect of the
proposed change is assessed using traceability information and
general knowledge of system requirements. Once analysis is
completed, a decision is made whether or not to proceed with the
requirements -change. The requirements document and, where
necessary, the system design and implementation are modified.
24. What is a prototype? List any four benefits of using
prototyping in software process.
A prototype is an initial version of a. software system,
which is used to demonstrate concepts, tryout design options and
generally, to find out more about the problem and its possible
solutions.The benefits of using prototyping in the software process
are:
i. Improved system usability.ii. A closer match of the system to the User needs iii. Improved
maintainability iv. Reduced development effort
26. Differentiate between evolutionary and throw-away
prototyping.
Evolutionary prototyping
i. The objective is, to deliver a working system to end users.
ii. They should have a robust structure so that they aremaintainable for many years
iii. They should be reliable and efficient and they should conform
to relevant organizational standards.
Throw-away prototyping
i. The objective is to validate or derive the system requirements.ii. They have a short lifetime.
iii. Poor performance and reliability may be acceptable.
27. Mention any two fundamental characteristics of rapid
software development?
The two fundamental characteristics of rapid software
development are:
7/31/2019 SEFULL- 2mark 16 Marks With Answers
31/140
i. The system is developed as a series of increments" End-users and
other system stakeholders are involved in evaluating and
designing each increment. They may propose 'changes to the
software' and new requirements should be .implemented in later
version of the system.
ii. Techniques for rapid system development are used. These include
CASE tools and fourth-generation languages.
28. What are rapid prototyping techniques? Mention the rapid
prototyping techniques used for developing industrial -
strength prototypes.
Rapid prototyping techniques are development techniques
which emphasize speed of delivery rather than systemcharacteristics such as performance, maintainability or reliability.
There are three rapid development techniques for developing
industrial-strength prototypes 'namely: '
i. Dynamic high level language development ii. Database
programming iii. Component and application assembly
PART - BSOFTWAREREQUIREMENT
1. Explain Rapid SoftwarePrototyping.
software rapid prototype is a dynamic visualmodel providing a communication tool for customer
and developer that is far more effective than eithernarrative prose or static visual models forportraying
functionality.
It has been described as: Functional after a minimum
amount of effort A means for providing users of aproposed application with a physical representationof key parts of the system before systemimplementation
Flexible: modifications require minimaleffort Not necessarily representative
of a complete system
Software prototyping is an information systemdevelopment methodology based on building andusing a model of a system fordesigning, implementing, testing, and installing thesystem.
A software mock-up is a system developmentapproach based on building and using a model of asystem for discovering the requirements of thesystem.
Critical objectives of software development are mosteffectively achieved through rapid prototyping isgiven by as follows.
Rapid prototyping is basically an analysis technique.discovery of the true and complete set of functionalrequirements for a proposed system In classic alsoftware development, the client usually cannot
view a physicalrepresentation of the final system until thetesting phase. this is critical in projects with verylong development times results in a very lowprobability of delivering an acceptable software
7/31/2019 SEFULL- 2mark 16 Marks With Answers
32/140
system
There are six different tool-dependent approaches incurrent use: AI - LISP or PROLOG on a dedicatedmachine Mainframe - based on DBMS technology NIH(Not Invented Here) - proprietary rapid prototyping
systems ADA - based on reusable code packages andprogram libraries, i.e. features of the language BareHands - based on perceived absence of arequirement RDMS - based on relational DBMStechnolgy and
7/31/2019 SEFULL- 2mark 16 Marks With Answers
33/140
interfacetools
About 50 percent of the development effort is user
contributions. The users will always be present.Throaway Prototypesa product designed to be usedonly to help the customer identify requirements for anew system the product cannot be implemented oreven evolved into a deliverable system - only thederived requirements will be maintained often aresult of tools that are unsuitable for use inproduction systems.
2. Explain Requirement
Elicitation.
In its simplest possible form the requirementselicitation process might be considered as aconversation between the client andthe software engineer that results in anunderstanding by the software engineer of whatthe customer wants. Life is seldom that simplehowever and experience has shown that althoughEliciting requirement is easiest when there is a good
understanding of the application domain. It isessential that the requirements engineerunderstands the application domain but how do youknow that you understand it? You might think thatwhen the user says a crank hard and support theFox-1 unless you know what they mean but how canyou be sure?
One way is to gain experience in the applicationdomain (more about this
in the lecture) but there are problems with that.The knowledge clients have is built up over yearsdo you have years to
spend on requirement elicitation? Also the clientsknowledge may be spread amongst many peopleso you would inevitably need to gain experiences inmany different aspects of the clients business. Soexperience of the users domain, whilst clearlyvaluable and useful, cannot be the only answer.
There is simply not the time for the requirementsengineer to become expert in the application domain.
Though the return for investment on somefamiliarization is usually large.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
34/140
The answer is to develop an explicit conceptual modelof the domain and to present that back to the clientfor verification.
Requirements Elicitation might be described aseliciting a specification of what is required by
allowing experts in the problem domain to describethe goals to be reached during the problemresolution. This being so, we may be limited to havinga vague desire at the beginning of the process, suchas "We want a new aircraft carrier", and at the endof the process having a detailed description of thegoals and some clear idea of the steps necessary toreach the goals.
There are several things wrong with this description.
Where does the logical model reside, in people'sheads? Is there an expert with sufficient breadth anddepth of domain knowledge to ensure the goal andall its subgoals are consistent and achievable? Ifthere is not, are we merely leaving to the designstage the process of systematising the subgoals. It isvery likely that many goals will be inconsistent,even deliberately contradictory. Can we say
the Requirements Elicitation stage is completewhile this is so? We certainly can if our methods forsupporting the elicitation have no means ofestablishing the consistency of the goals. How precisedo we need to be in specifying our goals. Is thereanything left to do in the design stage, or have we
gazumped it by not having a method of descriptionthat permits variability in the requirements.
3. Explain aboutRequirement Validation.
Requirement validation ensures capturedrequirements reflect the functionality desired bythe customer and other stakeholders. Althoughrequirement validation is not the focus of
requirement testability analysis, it is supported.Requirement validation involves an engineer,user or customer judging the validity (i.e.correctness) of each requirement. Models providea means for stakeholders to precisely understandthe requirements and assist in recognizingomissions. Test automatically
7/31/2019 SEFULL- 2mark 16 Marks With Answers
35/140
derived from the model support requirementvalidation through manual inspection or executionwithin simulation or host environments.
Requirement validation is the final stage of
requirements engineering.
Purpose of RequirementValidation
The aim of requirement validation is to validate therequirements, i.e., check the requirements tocertify that they represent an acceptabledescription of the system, which is to beimplemented.DistinctionBetween Requirement Analysis and
Requirement Validation
Requirement analysis is concerned withrequirement as elicited from system stakeholders.
The requirements are usually incomplete and areexpressed in an informaland unstructured way.Requirement validation is concerned with checkinga final draft of a requirements document whichincludes all system requirements and whereknown incompleteness and inconsistency has been
removed.Different Concerns Between RequirementAnalysis and RequirementValidation Requirements analysis should
mostly be concerned with answering the questionhave we got the right requirement
Requirements validation is mostly be concernedwith answering the question RequirementsValidation Process The main problem ofrequirements validation is that there is no exiting
document, which canbe a basis for the validation. Adesign or a program may be
validatedagainst the specification. However, there is no way todemonstrate that a requirements specification iscorrect with respect to some other systemrepresentation. Specification validation, therefore,really meansensuring that the requirements document representaclear description of the system for design andimplementation and is a final check that therequirements meetstakeholder needs.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
36/140
Validation Method&Requirement Reviews
Requirement reviews are the most widely usedtechnique of requirements validation. They involve agroup of people who read and analyze the
requirement, look for problems, meet to discussthese problems and agree on a set of actions toaddress the identified problem
4. Explain about RequirementManagement.
Requirements management is the process of
managing changes to a systems requirements.Normally there is more than 50% of a systemsrequirements which will be modified before it isput into service.The Principal Concerns ofRequirements Management
The principal concerns of requirements
management are: To manage
changes to agreed requirementsTo manage the relationship
between requirements, andTo manage the dependencies betweenthe requirements document and other
documents produced during thesystems and software engineeringprocess.FactorsLeading to Requirements Change
The following factors are main causes leading to
requirement changes: Requirements errors,
conflicts and inconsistencies
Evolvingcustomers/end-user knowledge of thesystemTechnical, schedule or costproblemsChangingcustomerprioritiesEnvironmentalchangesOrganisation al changes.Stable and VolatileRequirements. Requirements changes occur whilethe requirements are being elicited, analysed andvalidated and after the system has gone into service.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
37/140
Although change is inevitable, it is usually thecase that some requirements are more stablethan others. Stable requirements are concerned
with the essence of a system and its applicationdomain. They change more slowly than volatilerequirements.
Volatile requirements are specific to theinstantiation of the system in a particular
environment andfor aparticular customer. Volatile requirements
are easily changed. Generally, there are fourtypes of volatile requirements:
Mutable requirements - which change because ofchanges to the environment in which the system isoperating.Emergent requirements - which cannot becompletely defined when the system is specified butwhichemerge as the system is designed
and implemented. Consequentialrequirements - which are based on assumptionsabout how the system will be used. When thesystem is put to use, some of these assumptions
will be wrong. Users need to adapt to the system andfind new ways to use its functionality.Compatibilityrequirements - which depend on otherequipment or processes. As this equipment changes,these requirements also evolve. RequirementIdentification and Storage
5.What is benefits of prototypingin the software
1.Proce
ss.
The benefits of developing a prototype earlyin the software process are :
(1)Misunderstandings between softwaredevelopers and users may be identified as thesystem functions are demonstrated.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
38/140
(2)Missing user services may be detected.(3)Difficult-to-use or confusing user
services may be identified andrefined.
(4)Software development staff may findincomplete and/or
inconsistent requirements as theprototype is developed.(5)A working, albeit limited, system is
available quickly to demonstrate thefeasibility and usefulness of the application tomanagement.
(6)The prototype serces as a basisfor writing the specification for aproduction quality system.
Software prototypes also have
other uses: (1)User training(2)System testing
The final stage of the process is prototype
evaluation.There are non- technical managerialproblems which may make itdifficult to use prototyping in some organizations.
Prototyping in thesoftware process
One way of tackling this difficulty is to use anevolutionary approach to systems development.Alternatively, a deliverate decision mignt be made tobuild a 'throw-away' prototype to helprequirements analysis and validation.
There is an important difference between theobjectives of evolutionary and throw-awayprogramming:
(1)The objective of evolutionaryprototyping is to deliver a workingsystem to end-users.
(2)The objective of throw-away prototyping is tovalidate or derive the
7/31/2019 SEFULL- 2mark 16 Marks With Answers
39/140
system requirements.
Evolutionaryprototyping
There are three main problems with evolutionaryprototyping which are particularly important whenlarge, long-lifetime systems are to bedeveloped.Difficulties do not mean that evolutionaryprototyping should berejected.
Throw-awayprototyping
This approach extends the requirements analysisprocess with the intention of reducing overall ligecycle costs.Customers and end-users should resistthe temptation to turn the throw-away prototypinginto a delivered system that is put into use.
7.Explain about User interfacePrototyping.
Interface generation systems may be based onuser interface
management systems which provide basic userinterface functionality such as menu selection,object display and so on. From a softwareengineering point of view, it is important to realizethat user interface prototyping is an essential part ofthe process.
A prototype can be thought of as a model of thedesign of some system or artifact. By model,Wedont mean scale model or miniature version of thedesign.A prototype is built to resemble the realthing, with at least some of the functionality that is
intended for the final design.
It is an idea which has always been used in thefield of
engineering. For example, when a new car or
aeroplaneis being
developed, there comes a stage when the paperdesign can be taken no further until certain ideahave been tried out for real and the informationfrom these trials can be fed back to refine thedesign. So, a prototype is
7/31/2019 SEFULL- 2mark 16 Marks With Answers
40/140
built - a full size car or plane, or whatever - which willinclude most of the functions that it is intended thatthe final product will have. This prototype is then putto the test to see how well the new design ideaswork, what needs further improvement, what needscomplete replacement, and so on.
The same concept can be used in designing softwareinterfaces, though the timing and purpose of buildinga prototype is slightly different from the engineeringexamples. When developing a new aeroplane,say, the designers usually have a fairly good ideafrom the outset of what they want the plane to looklike, how they would want it to perform, what size itshould be, and so on. Thus, they are likely to firstproduce, on paper, a more-or-less complete design
and from this the prototype is built. They will(hopefully, for the sake of the test pilots) bereasonably sure that theprototype will actually fly, from tests carried out onscale models in wind tunnels or, nowadays, from
computer simulations. The prototype, then, is usedto confirm the functionality of the design and,perhaps, provide information for some relativelyminor modifications to the design.
However, in HCI design, the actual user
requirements, the shape of the interface, therequired funcionality, and so on, are often notcompletely known at the outset. In this case, thedesigner will start to build a prototype system (orsystems) quite early on and use this, with samples ofusers, as a tool to find out what the userwants, how they want to operate, what kind ofscreen layout they prefer, an so on.
This method, of having users interact with
something concrete that resembles in appearance,and perhaps user requirements in order to producea specification for in functionality, the system underdevelopment issometimes the only way of collecting informationabout the system.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
41/140
8. Write a short notes on Data Dictionary
Data Dictionary is also called data repositoryDocuments specific facts about the system .
The Following are the important
divisions of data flows: (i)Data
flows(ii)Data stores(iii)Processes(iv)External entities(v)Data structures (records)
(vi)Data elements (dataitems, fields)(vii)Documenting theelements
All of the items in a DFD is to be documented in theData Dictionary, also called the Data Repository. Allmajor characteristics of the items must be recordedand described. The key objective is to provide clear,comprehensive information about the system.
During the documentation process, paper-basedstandard forms or a CASE tool can be used. Varioustools are available, and Visible Analyst is a popularexample.
Documenting the data elements
Must document every data element. Exampleattributes of a data element are:
(i)Name or label(ii)Alternatename(s)
(iii)Type andlength(iv)Output format
7/31/2019 SEFULL- 2mark 16 Marks With Answers
42/140
(v)Default value(vi)Prompt, header or field caption(vii)Source(viii)Security(ix)Responsibleuser(s)
(x)Acceptable values and data validation(xi)Derivation formula(xii)Description and comments
Documenting the data flows
Must document every data flow. Exampleattributes of a data flow are:
(i)Name or label(ii)Alternate
name(s)(iii)Description
(iv)Origin(v)Record group of data elements(vi)Volume and frequency
Documenting the data stores
Must document every data store. Example attributesof a data store are: (i)Name or label(ii)Alternatename(s)(iii)Description(iv)Input data flows(v)Output data flows(vi)Record group of data elements(vii)Volume and frequency
Documenting the processes
7/31/2019 SEFULL- 2mark 16 Marks With Answers
43/140
Must document every process. Example attributesof a process are:
(i)Name or label(ii)Alternatename(s)(iii)Purpose ordescription(iv)Processnumber (v)Inputdata flows(vi)Output dataflows (vii)Processdescription
Documenting the external entities
Must document every external entity.Example attributes of a external entity are:
(i)Name orlabel(ii)Alternatename(s)(iii)Description(iv)Input dataflows (v)Outputdata flows
Documenting the records
Must document every record. Example
attributes of a
record are: (i)Name or label(ii)Alternatename(s)
(iii)Definition ordescription(iv)Record content or composition(v)Data Dictionary Reports
7/31/2019 SEFULL- 2mark 16 Marks With Answers
44/140
Data dictionary serves as a central storehouse fordocumentation Using this data, you can producemany valuable reports through data dictioanry.
9. Explain Process Description Tools and
Modular design. Process descriptiondocuments a functional primitive, usingmodular design Modular design uses threelogical structures
(i)Sequence(ii)Selection(iii)Iterati
on
Process description tools are:
(i)StructuredEnglish(ii)Decisiontables(iii)Decisiontrees
Structured English
Structured English is a subset of standard English,used to describe process logic. Use only standardsequence, selection, and iteration structuresUse indentation for readabilityUse a limited vocabularyDecision tablesProcess logic is sometimes best illustrated by adecision table where conditions and actions arelisted as rows of a table.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
45/140
Every logical combination is showninitially Results then can be combined andsimplified Programmers can use decisiontables in developing code
Decision trees
A decision tree is a graphical representationthat shows a decision tables conditions, actions, andrules. Logic structure is shown horizontally Easy toconstruct and understand. Decisiontable is better in complex situations .Logical andPhysical models Sequence of models need to be
constructed during system analysis.A physical model shows how the systems
requirements are implemented.
(i)Create a physical model of the currentsystem(ii)Develop a logical model of the currentsystem
After the current system is understood, createa logical model of the new system
Logical Versus Physical Models
Four-model approach is also sometimespursued.The four models are:
Normalize a logical data model to removeimpurities that can make a database unstable,inflexible,and nonscalable. Describe a useful tool formapping data requirements to business operatinglocations.
Data analysis is a process that prepares adata model for implementation as a simple,
nonredundant, flexible, andadaptable database. The specific technique is callednormalization.
Normalization is a data analysis techniquethat organizes data attributes such that they aregrouped to form nonredundant, stable, flexible, andadaptive entities
An entity is in first normal form (1NF) ifthere are no attributes
that can have more than one value for a singleinstance of the entity. Any attributes that can havemultiple values actually describe a separate entity,possibly an entity and relationship.
An entity is in second normal form (2NF) if it isalready in 1NF
and if the values of all nonprimary key attributes aredependent on the full primary keynot just part of it.Any nonkey attributes that are dependent
on only part of the primary key should bemoved to any entitywhere that partial key is actually the full key. This
mayrequire
creating a new entity and relationship on the model.(i)Physical model of the current system (ii)Logical model of the
7/31/2019 SEFULL- 2mark 16 Marks With Answers
46/140
current system (iii)Logicalmodel of the new system(iv)Physical model of thenew system
10. Explain about Data Model
An entity is in third normal form (3NF) if it isalready in 2NF and if the values of its nonprimary
key attributes are not dependent on anyother non- primary key attributes. Any nonkeyattributes that aredependent on other nonkey attributes must be
moved or deleted. Again, new entities andrelationships may have to be added to the datamodel.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
47/140
Typ
e: A category of entities sharing common characteristics Consider
the built-in type INTEGER in Pascal (or int in C).By declaring a Pascal variable to be of typeINTEGER, we are specifying that the variable hasthe characteristics of that type:
A value (state) drawn from some set(domain)of possible values--in the case of INTEGER, asubset of the mathematical set of integers, a set ofoperations that can be applied to those values--inthe case of INTEGER, addition, multiplication,comparison for equality,etc.
2. What are the four major areas of concern in design? The
four major areas of concern in design are:
i. Data
ii. Architecture
iii. Interfaces
iv. Components
3. Define - Software design.
Suppose we declare a Pascal variable to havetype INTEGER. By that declaration, we are creatinga container in the
program's memory that, at any point in time, holds asingle value drawn from the INTEGER domain. Thecontents of this container can be operated upon bythe INTEGER operations. In a program, we candeclare several INTEGER variables: each variablemay have a different value, yet all of them have the
same set of operations.
UNIT-III
DESIGN CONCEPTS AND PRINCIPLES
1. What is meant by design?
Design is a meaningful engineering representation of
something that is to be built. It can be traced to a customer'srequirements and at the same time assessed for quality against a
set of predefined criteria.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
48/140
Software design is an iterative process through which
requirements are translated into a blueprint for constructing
software.
4. Mention three characteristics for the evaluation of a gooddesign.
The three characteristics suggested by Mc Glaughlin serves as a
guide for the evaluation of a good design. They are:
i. The design must implement all of the explicit requirements
contained in the analysis model and must accommodate all the
implicit requirements desired by the customer.
.ii. The design must be an understandable guide for those who
generate the code and for those who test and subsequently supportthe software.
iii. The design should provide a complete picture of he software,
addressing the data, functional and behavioral domains from an
7/31/2019 SEFULL- 2mark 16 Marks With Answers
49/140
implementation perspective.
5. Mention any eight software design principles.
The eight software design principles are:
.i. The design should be traceable to the analysis model.
ii. The design should not reinvent the wheel.
iii. The design should exhibit uniformity and integration.
IV. The design should be structured to accommodate change. v.
The design process should not suffer from "tunnel vision" . vi.
Design is not coding, coding is not design.
vii. The design should be assessed for quality as it is being
created.
viii. The design should be reviewed to minimize semantic errors.
6. Explain the terms: Procedural abstraction, data abstraction
and control abstraction.
A "procedural abstraction" is a named sequence of instructions
that has a specific and limited function.
Eg: The word "Open the door" implies walk to the door,
reach out, grasp knob, turn knob pull door etc.
A "data abstraction" is a named collection of data that describes a
data object.
Eg : doo_. The word door encompasses a set of attributes
like door type, swing direction, opening mechanism, etc.
Control abstraction implies a program control mechanism withoutspecifying internal details.
Eg : Synchrpnization semaphore.
7. Are abstraction and refinement complementary concepts?
Justify.
Yes, abstraction and refinement are complementary
concepts. Abstraction enables a designer to specify procedure and
data and yet suppress low-level details. Refinement helps thedesigner to reveal low-level details as design progresses.
8. How can we evaluate a design method to determine., if it
will lead to effective
modularity?
Meyer defines five criteria that enable us to evaluate a
design method with respect to its ability to define an effective
modular system.
i. Modular decomposability: If a design method provides
mechanism for decomposing problems, it will reduce the
complexity of the overall problem.
ii. Modular compos ability: If a design, method enables
reusable design components to be assembled into a new system, it
7/31/2019 SEFULL- 2mark 16 Marks With Answers
50/140
will yield a modular solution that does not reinvent the wheel.
iii. Modular understandability: If a module is understood, it
is easy to build and change.
iv. Modular continuity: If small changes to software
requirements results in change in individual modules rather than
system wide changes, the impact of change-induced tlide effects
will be minimized.
v. Modular protection: If an aberrant condition occurs
within a module and .its effects re constrained within that module,
the impact of error - induced side effects will be minimized.
9. Define - Software architecture.Software architecture is defined as the overall structure of
the software and the ways in which that structure provides
conceptual integrity for a system.
10. Describe the properties that should be specified as
part of the architectural design.
The properties are: .
i. Structural properties: It defines the components of a system andthe manner in which those components are packaged and interact
with one another.
ii. Extra functional properties: The design description should address
how the design- architecture achieves requirements for
performance, capacity, reliability, security, adaptability and other
system characteristics.
iii. Families of related systems:, The design should include the
repeatable patterns commonly. encountered in the design. The
design should have the ability to reuse architectural building
blocks.
11. List all the five models in which the architectural design
can be represented.
The architectural design can be represented using one or
more-of a number of different models namely,
i. Structural model
ii. Framework model
iii. Dynamic model
iv. Process modelv. Functional model
12. What is meant by control hierarchy?
Control hierarchy is the organization of program
components and implies a hierarchy of control.
13. Distinguish between fan in and fan out.
Fan-in Fan-outFan-out is a measure of the number of modules that are direct1y
controlled by another module.
Fan-in indicates how many modules directly control a givenmodule
7/31/2019 SEFULL- 2mark 16 Marks With Answers
51/140
14. Explain the terms: Visibility and Connectivity.
Visibility indicates the set of program components that may
be invoked or used as data by a given component, even when this
is accomplished indirectly.
Connectivity indicates the set of components that are
directly invoked or used as a data by a given component.
15. What are the benefits of horizontal partitioning?
The benefits of horizontal partitioning are:
i. Software is easy to test
ii. Software is easy to maintain iii. Propagation of fewer side
effects iv. Software is easy to extend.
16. What are the two types of structural partitioning? Explain.
The two types of structural partitioning are:
i. Horizontal partitioning
ii. Vertical partitioning
Horizontal partitioning defines separate branches of the
modular hierarchy for each major program function.
Vertical partitioning suggests that the control and workshould be distributed top-down in the program structure.
17. What is a data structure?
Data structure is a representation of the logical relationshipamong individual elements of data. It dictates
The organization. method of access, degree of associativity and
processing alternatives for information.
18. Explain the qualitative criteria for measuring
independence.
Independence is measured using two qualitative criteria
i. Cohesion ii. Coupling
Cohesion is a measure of relative functional strength of a
module.
Coupling is a measure of relative interdependence among
modules.
19. Explain the terms: coincidentally cohesive, logicallycohesive, temporal cohesion.
Modules that perform a set of tasks that relate to each other
loosely are termed as coincidentally cohesive.
A module that performs that are logically related is logically
cohesive.
When a module contains tasks that are related by the fact
that all must be executed with the same span of time, the module
exhibits temporal cohesion.
20. When do we say procedural and communication cohesion
are present?
When processing elements of a module are related and must
7/31/2019 SEFULL- 2mark 16 Marks With Answers
52/140
be executed in a specific order, procedural cohesion exists.
When all processing elements concentrate on one area of
data structure, communicational cohesion is present.
21. Explain the following.
i. Data coupling
ii. Stamp coupling
iii. Control coupling
i. Data coupling is exhibited when a simple data is passed between
modules, i.e., a one-to-one correspondence of items exist.
ii. Stamp coupling is found when a portion of a data structure is
passed via a module interface.
iii. Control coupling exists when a 'control flag' .is passed
between two modules.
22. Explain the following:
i. External coupling
ii. Common coupling
iii. Content coupling
i. When modules are tied to an environment external to software,
external coupling is found.
ii. When a number of modules reference a global data area,
common coupling exists.
iii. Content coupling occurs when one module makes use of data
or control information maintained within the boundary of
another module.
23. Mention any four design heuristics.
The four design heuristics are:
i. Evaluate the "first iteration" of the program structure to reduce
coupling and improve cohesion.
ii. Attempt to minimize structures with high fan-out; strive for fan-
in as depth increases.'
iii. Keep the scope of effect of a module within the scope of
control of that module.
iv. Evaluate module interfaces to reduce complexity andredundancy and improve consistency.
24. With a neat diagram, describe the design model.
Data design transforms information domain model created
during analysis into data structures that will be required to
7/31/2019 SEFULL- 2mark 16 Marks With Answers
53/140
implement the software.
Architectural design defines relationship between major
structural elements of the software.
Interface design describes how the software communicates within
itself, with systems that inter-operate with it, and with humanswho use it.
Component level design transforms structural elements of the
software architecture into a procedural description of software
components.
25. What is the purpose of a cross reference in thedesign specification?
The purpose of cross reference in design specification is :
i. To establish that all requirements are satisfied by the software
design.
ii. To indicate which components are critical to the
implementation of specific requirements.
26. Why is software architecture important?
Software architecture is important for the following reasons:
i. Representations of software architecture are an enabler forcommunication between all parties interested in the development
of a computer - based system.
ii. The architecture highlights early design decisions that will have a
profound impact on all software engineering work.
iii. Architecture constitutes a relatively, small, intellectually
graspable model of how the system is structured and how its
components work together.
27. List the characteristics that differentiate between a data
ware' house and a database.
.The characteristics that differentiate between a data ware houseand a database are
i. Subject orientation
ii. Integration
iii. Time variancy
iv. Non volatility
28. Mention any four principles applicable to data design.
The four principles applicable to data design are:
i. The systematic analysis principles applied to function and
behavior should also be applied to data.
ii. All data structures and the operations to be performed on each
7/31/2019 SEFULL- 2mark 16 Marks With Answers
54/140
should be identified.
iii. A data dictionary should be established and used to define both
data and program design.
iv. Low-level data design decisions should be deferred until late in
the design process.
29. What is an architectural style?
The software built for computer-based systems exhibits one
of manly architectural styles. Each style describes a system
category that encompasses,
i. A set of components - that perform a function required . by a
system.
ii. A set of connectors that enable communication coordination
and co-operation among components.
iii. Constraints that define how components can be integrated to
form the system
iv. Semantic models that enable the designer to understand the
overall properties of a system by analyzing the known properties
of its constituent parts.
30. List any four architectural styles.
The four architectural styles are:
i. Data - centered architectures
ii. Data - flow architectures
iii. Call and return architectures
iv. Object - oriented architectures.
31. Define - Transform Mapping.
Transform Mapping is a set of design steps that allows a
Data Flow Diagram (DFD) with transform flow characteristics to
be mapped into a specific architectural style.
32. Explain - Transform Flow.
Information enters the system along the paths that transform
external data into internal form. These paths are identified as
incoming flow. At the kernel of the software, a
transition occurs. Incoming data are passed through a
transform center and begin to move along paths that HOW lead
"out" of the software. Data moving along these paths are called
outgoing flow.
The overall flow of data occurs in a sequential manner.
When a segment of a data flow diagram exhibits these
characteristics, transform flow is present.33. Describe - Transaction Flow.
The fundamental model is transform flow. The information
flow is characterized by a single data item called a transaction,
that triggers other data flow among one of many paths. When a
data flow diagram takes this form, transaction flow is present.
34. List out the design steps in transform mapping.
7/31/2019 SEFULL- 2mark 16 Marks With Answers
55/140
The design steps in transform mapping are :,
i. Review the fundamental system model.
ii. Review and refine data flow diagrams for the software.
iii. Determine whether the DFD has transform or
transaction flow characteristics.
iv. Isolate the transform center by specifying incoming and
outgoing flow boundaries. .
v. Perform "first - level factoring"
vi. Perform "second - level factoring"
vii. Refine the first iteration architectural using design heuristicsfor improved software quality.
35.What happens after the architecture has been created?
After the architecture 'has been developed and refined, the
following tasks must be completed:
i. A processing narrative must be developed for each module.
ii, An interface description is provided for each module.
iv. Local and global data structures are defined.
v. All design restrictions and limitations are noted.
vi. A set of design reviews are conducted.
vii. Refinement is considered.
36. Explain User Interface Design.
User Interface Design creates an effective communication
medium between a human and a computer. Following a set of
interface design principles, design iden