Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 169

1

QUESTION AND ANSWER SET


OF
SYSTEM ANALYSIS AND DESIGN
1. How data dictionary can be used during software development?(May06-5Marks)
Data Dictionary
a) Data dictionary are integral components of structured analysis; since data flow diagrams by
themselves do not fully describe a subject of the investigation.
b) A data dictionary is a catalog-a repository of the element in the system.
c) In data dictionary one will find a list of all the elements composing the data flowing through a
system. The major elements are
Data flows
Data stores
Processes
d) The dictionary is developed during data flows analysis and assist the analysis
Involved in determining system requirements and its content are used during
System design as well.
e) The data dictionary contains the following description about the data: The name of the data element.
The physical source/ Destination name.
The type of the data element.
The size of data element.
Usage such as input or output or update etc
Reference(/s) of DFD process nos, where used.
Any special information useful for system specification such as validation rules etc.
f) this is appropriately called as system development data dictionary, Since it is created during the
system development, facilitating the development functions, used by the developers and is
designed for the developers information needs in mind.
g) for every single data element mentioned in the DFD there should be at least one and only one
unique data element in the data dictionary.
h) the type of data elements is considered as numeric, textual or image, audio etc
i) usage should specify whether the referenced DFD process uses it as input data(only read) or
creates data output (e.g Insert) or update.
j) a data element can be mentioned with reference to multiple DFD processes but in that case if the
usages are different , then there should be one entry for each usage.
k) the data dictionary is used as an important basic information during the development stages.
l) Importance of data dictionary:
To manage the details in large system.
To communicate a common meaning for all system elements.
To document the features of the system.
To facilitate analysis of the details in order to evaluate characteristics and determine where
system changes should be made.
To locate errors and omissions in the system.
m) Points to be considered while constructing a data dictionary
Each unique data flow in the DFD must have one data dictionary entry. There is also a data
dictionary entry for each data store and process.
Definition must be readily accessible by name.
There should be no redundancy or unnecessary definition in the data definitions. It must also
be simple to make updates.
The procedures for writing definitions should be straightforward but specific there should be
only one way of defining words.

2. Under what circumstances or for what purposes would one use an interview rather than other data
collection methods?Explain
(May06-12Marks)
OR
Discuss hoe interview technique can be used to need of a new system(May-03)
a) Interview is a fact finding technique whereby the system analyst collects information from
individuals through face to face interaction.
b) there are two types of interviews:
a. Unstructured interviews: this is an interview that is conducted with only a general goal or
subject in mind and with few, if any specific questions.
b. Structured interviews: This is an interview in which the interviewer has a specific set of
questions to ask of the interviewee.
c) unstructured interviews tend to involve asking open ended questions while structured interviews
tend to involve asking more close ended questions.
d) ADVANTAGES:
a) Interviews gives the analyst an opportunity to motivate the interviewee to respond freely
and openly to questions.
b) Interviews allow the system analyst to probe for more feedback from the interviewee.
c) Interviews permit the system analyst to adapt or reword questions for each individual.
d) A good system analyst may be able to obtain information by observing the interviewees
body movements and facial expressions as well as listening to verbal replies to questions.
e) this technique is advised in the following situations:a) Where the application system under consideration is highly specific to the user organization.
b) When the application system may not very specialize but the practices followed this
organization may be specific.
c) The organization does not have any documentation where the part of information
requirements are documented or any such documentation is irrelevant or not available or
cannot be shared with developers due to privacy issues etc.
d) The organization is not decided on the details of the practices, the new application system
would demand or would be used to implement new practices but want to decided when
responding to the information requirements determination .
f) A structured interview meeting is useful in the following situation:a) When the development team and the user team members know the broad system
environment with high familiarity. This reduces the amount of communication to
significantly to just a few words or a couple of sentences.
b) Responding to the questions involves collecting data from different sources or person
and/or analyzing it and/or making the analysis ready for discussion at the meeting, in order
to save on the duration of meeting.
c) The costly communication media such as international phone/ conference call are to be
used.
d) Some of all of the members of the user team represent the top management or external
consultants or specialist.
g) A semi structured interview meeting is useful in the following situations :a) Usually in the initial stage of information requirements determination, the users and the
developers need to exchange significant amount of basic information. The structured
interview meetings may not be effective here since there is not enough information to ask
questions of importance.
b) Also very initially or with the new organization,the personal meetings are important
because ,they help the development team not only in knowing the decisions but also in
understanding the decision making process of the organization ,the role of every user team
members in the decision and their organizational and personal interests. These observations
during the meetings can help the software development team significantly in future
communications.
c) When the new application system is not a standard one and /or the users follow radically
different or highly specialized business practices ,then it is very difficult to predict which
questions are important from the point of determining the information requirements.
d) When the members of the development team expects to participate in formulating some
new information requirements or freezing them, as an advisor, say then interview meeting
has to be personal and therefore, semi structured.

e) If the users are generally available , located very close and the number of top management
users or external consultant is nil or a negligible issue, then the personal meeting are
conducted.
f) When there are no warranted reasons that only the structured interviews only the structured
interviews only are to be conducted.
3. Describe steps in SDLC model with an example(Nov-03,May-06,Sies- 04,Dec-04)
The steps in SDLC model are listed as follows
a) System analysis:It is a set of activity in which the system analyst gathers the information requirements of the users,
analyses them systematically in the form of functionality of the application system, the input data
requirement and their sources the output data and their presentation requirements.
The system analyst gathers data about the performance expectations of the users such as expected
response time the total turn around time etc. the system analyst finally prepares a document called as
system requirement specification(SRS) which documents all the agreements reached between the users
and the system analyst.
b) System design:It involves preparing the blue print of the new software system. Taking the SRS as a base to start with it
prepares various diagrammatic representations of the logical and physical artifacts to be developed during
the software development stages to follow. The major artifacts include data models, process models and
presentation model. finally the system design is documented
c) Coding or Construction:This involves programming and testing individual programs on the basis of the design document. The
developers responsible for programming also creates text data sets for inputs and verifies that the
program generate the expected output for these inputs data sets the individual program are also reviewed
to ensure that they meet programming standard as expected by the users. This is the only face where the
conceptual system is first translated into a computer executable program sources.
d) Testing:It is to demonstrate to the development team members that the software system works exactly to meet
the user expectation of information requirements as well as the performance expectation . it involves
planning the testing creating the text data executing text runs matching the text results with the expected
results, analyzing the differences fixing the bugs and testing the bug fixing repeatedly until a satisfactory
number of mismatches are removed.
e) Implementation:It involves installing the software system on the user computer system conducting user trained on new
software system data preparations parallel running and going live as core activities. This is the stage
where the software system is first transferred to the users premises and the users get a chance to work
on the new software system for the first time. Also it involves the most important step of user acceptance
testing which marks the technical and commercial milestone of the software development project
f) Maintenance:It involves maintaining the software system always up to date to ensure that it is in the line with current
information requirements considering even the latest changes in the same. It helps keep the software
system up to date thereby ensuring the users high return on their investment at operational level of the
business. The developer analyses the changes in the light of the latest changes in the design identifies the
new changes in the system design, verify quickly that it works as expected.
E.G :- the library management system done as the assignment.

04). Typically, they include the capabilities to produce data flow diagrams, data structure diagrams, and
program structure charts.

These high-level tools are essential for support of structured analysis mythology and CASE tools
incorporate structured analysis extensively.

They support the capability to draw diagram in chart and to store the details internally. When
changes must be made the nature of changes is described to the system which can then
withdraw the entire diagram automatically.

The ability to change and redraw eliminates an activity that analyst finds both tedious and
undesirable.

Centralized Information Repository

A centralized information repository or data dictionary aides the capture analysis processing and
distribution of all system information.

The dictionary contains the details system components such as data items, data flows and
processes and also includes information describing the volumes and frequency of each
activities.

While dictionary are designed so that the information is easily accessible. They also includes
built-in control and safeguards to preserve the accuracy and consistency of the system details.

The use of authorization levels process validation and procedures for testing consistency of the
description ensures that access to definitions and the revisions made to them in the information
repository occur properly according to the prescribed procedures.

Interface Generators
System interfaces are the means by which users interact with an application, both to enter
information and data and to receive information.

Interface generator provides the capability to prepare mockups and prototypes of user
interfaces.

Typically the support the rapid creation of demonstration system menus, presentation screens
and report layouts.

Interfaces generators are an important element for application prototyping, although they are
useful with all developments methods.

Code Generators:

Code generators automated the preparations of computer software.

They incorporate method that allows the conversion of system specifications into executable
source code.

The best generator will produce the approximately 75 percent of the source code for an
application. The rest must be written by hand. The hand coding as this process is termed, is still
necessary.

Because CASE tools are general purpose tools not limited any specific area such as
manufacturing control, investment portfolio analysis, or accounts management, the challenge of
fully automating software generation is substantial.

The greatest benefits accrue in the code generator are integrated with the central information
repository such as combination achieved objective of creating reusable computer code.

When specification change code can be regenerated by feeding details from data dictionary
through the code generators. The dictionary contents can be reused to prepare the executable
code.

Management Tools:
CASE systems also assist project manager in maintaining efficiency and effectiveness throughout the
application development process.

The CASE components assist development manager in the scheduling of the analysis and designing
activities and allocation of resources to different project activities.

Some CASE systems support the monitoring of project development schedules against the actual
progress as well as the assignments of specific task individuals.

Some CASE management tools allow project managers to specify custom elements. For example,
they can select the graphic symbols to describe process, people, department, etc.

4. What is cost benefit analysis? Describe any two methods of performing same(May06,May-04).
Cost -benefit analysis:
Cost benefit analysis is a procedure that gives the picture of various costs, benefits, and rules associated
with each alternative system.
The cost benefit analysis is a part of economic feasibility study of a system.
The basic tasks

involved in cost-benefit analysis are as follows:


To compute the total costs involved.
To compute the total benefits from the project.
Top compare to decide, if the project provides more net gains or no net gains.

Procedure for cost and benefit determination:


The determination of costs and benefits entails the following steps Identify the costs and benefits pertaining to a given project.
Categorize the various costs and benefits for analysis.
Select a method for evaluation.
Interpret the result of the system.
Take action.
Costs and benefits are classified are classified as follows:
i.
Tangible or intangible cost and benefits:
Tangibility refers to the ease with which costs or benefits can be measured. The following are
the examples of tangible costs and benefits:
Purchase of hardware or software.(tangible cost)
Personnel training.(tangible cost)
Reduced expenses.(tangible benefit)
Increased sales. (tangible benefit)
Costs and benefits that are known to exist but whose financial value
cannot be accurately measured are referred to as intangible costs and
benefits. The following are the examples of intangible costs and
benefits:
Employee morale problems caused by a new system.(intangible cost)
Lowered company image. (intangible cost)
Satisfied customers. (intangible benefit)
Improved corporate image. (intangible benefit)
ii. Direct or Indirect costs and benefits:
Direct costs are those with which a money figure can be directly associated in a project. They
are directly applied to a particular operation.
Direct benefits can also be specifically attributable to a given project.
The following are the examples:
The purchase of a box of diskettes for 35$ is a direct cost.
A new system that can handle 25% more transaction per day is a direct benefit.
Indirect costs are the results of operation that are not directly
associated with a given system or activity. They are often referred to as
overhead.
Indirect benefits are realized as a by-product of another activity or
system.

iii. Fixed or variable costs and benefits:


Fixed costs are sunk costs. They are constant and do not change.
Once encountered, they will not recur.
For example: straight-line depreciation of hardware, exempt employee
salary.
Fixed benefits are also constant and do not change.
For example: A decrease in the number of personnel by 20% resulting
from the use of a new computer.
Variable costs are incurred on a regular basis. They are usually proportional to work volume and
continue as long as the system is in operation.
For example: The costs of computer forms vary in proportion to amount of processing or the length
of the reports required.
Variable benefits are realized on a regular basis.
For example: Consider a safe deposit tracking system that saves 20 minutes preparing customer
with manual system.
The following are the methods of performing cost and benefit analysis:
Net benefit analysis.
Present value analysis.
Payback analysis.
Break-even analysis.
Cash flow analysis.
Return on investment analysis.
Net benefit analysis
Net benefit analysis simply involves subtracting total costs from total benefits. It is easy to calculate, easy
to interpret and easy to present. The main drawback is that it does not account for the time value of
money and does not discount future cash flow.
The time value of money is usually expressed in form of interest on the funds invested to realize the future
value. Assuming compounded interest, the formula is:
F = P (1 + i)n
Where
F= Future value of an investment.
P= Present value of the investment.
I = Interest rate per compounding year.
N = Number of years .
Present value analysis
In developing long-term projects, it is often difficult to compare todays costs with the full value of
tomorrows benefits. The time value of money allows for interest rates, inflation and other factors that alter
the value of the investment. Present value analysis controls for these problems by calculating the costs
and benefits of the system in terms of todays value at the investment and then comparing across
alternatives.
Present value = future value
---------------(1+i)n
Net present value is equal to discounted benefits minus discounted costs.

5.

Explain the concept of Normalization with examples. why would you


denormilzation? (May-04)
Normalization:
Normalization is a process of simplifying the relationship between data elements in a record. Through
normalization a collection of data in a record structure is replaced by successive record structures that are
simpler and more predictable and therefore more manageable. Normalization is carried out for four
reasons:

To
To
To
To

structure the data so that any pertinent relationships between entities can be represented.
permit simple retrieval of data in response to query and report requests.
simplify the maintenance of the data through updates, insertions, and deletions.
reduce the need to restructure or reorganize data when new application requirement arise.

A great deal of research has been conducted to develop methods for carrying out the normalization.
Systems Analysts should be familiar with the steps in normalization, since this process can improve the
quality of design for an application.
1. Decompose all data groups into two- dimensional records.
2. Eliminate any relationships in which data elements do not fully depend on the primary key of the
record.
3. Eliminate any relationships that contain transitive dependencies.
There are three normal forms. Research in database design has also identified other forms, but they are
beyond what analysts use in application design.
First Normal Form:
First normal form is achieved when all repeating groups are removed so that a record is of fixed length. A
repeating group, the reoccurrence of a data item or group of data items within a record is actually another
relation. Hence, it is removed from the record and treated as an additional record structure, or relation.
Consider the information contained in a customer order: order number, customer name, customer
address, order date, as well as the item number, item description, price and quantity of the item ordered.
Designing a record structure to handle an order containing such data is not difficult.
The analyst must consider how to handle the order. The order can be treated as four separate records
with the order and customer information included in each record. However it increases complexity of
changing the details of any part of the order and uses additional space.
Another alternative is to design the record to be of variable length. So when four items are ordered, the
item details are repeated four times. This portion is termed as repeating group.
First normal form is achieved when a record is designed to be of fixed length. This is accomplished by
removing the repeating and creating a separate file or relation containing the repeating group. The original
record and the new records are interrelated by a common data item.
Second Normal Form:
Second normal form is achieved when a record is in first normal form and each item in the record is fully
dependent on the primary record key for identification. In other words, the analyst seeks functional
dependency.
For example: State motor vehicle departments go to great lengths to ensure that only one vehicle in the
state is assigned a specific license tag number. The license number is uniquely identifies a specific vehicle;
a vehicles serial number is associated with one and only one state license number. Thus if you know the
serial number of a vehicle, you can determine the state license number. This is functional dependency.
In contrast, if a motor vehicle record contains the name of all individuals who drive the vehicle,
functional dependency is lost. If we know the license number, we do not know who the driver is there can
be many. And if we know the name of the driver, we do not know the specific license number or vehicle
serial number, since a driver can be associated with more than one vehicle in the file.
Thus to achieve second normal form, every data item in a record that is not dependent on the primary
key of the record should be removed and used to form a separate relation.
Third Normal Form:

Third normal form is achieved when transitive dependencies are removed from record design. The
following is the example of third normal form:
A, B, C are three data items in a record.
If C is a functionally dependent on B and
B is functionally dependent on A,
Then C is functionally dependent on A
Therefore, a transitive dependency exists.
In data management, transitive dependency is a concern because data can inadvertently be lost when the
relationship is hidden. In the above case, if A is deleted, then B and C are deleted also, whether or not this
is intended. This problem is eliminated by designing the record for third normal form. Conversion to third
normal form removes the transitive dependency by splitting the relation into two separate relations.
Denormilzation
Performance needs dictate very quick retrieval capability for data stored in relational databases. To
accomplish this, sometimes the decision is made to denormalize the physical implementation.
Denormalization is the process of putting one fact in numerous places. This speeds data retrieval at the
expense of data modification.
Of course, a normalized set of relational tables is the optimal environment and should be implemented for
whenever possible. Yet, in the real world, denormalization is sometimes necessary. Denormalization is not
necessarily a bad decision if implemented wisely. You should always consider these issues before
denormalizing:

Can the system achieve acceptable performance without denormalizing?


Will the performance of the system after denormalizing still be unacceptable?
Will the system be less reliable due to denormalization?

If the answer to any of these questions is "yes," then you should avoid denormalization because any
benefit that is accrued will not exceed the cost. If, after considering these issues, you decide to
denormalize be sure to adhere to the general guidelines that follow.
The reasons for Denormalization
Only one valid reason exists for denormalizing a relational design - to enhance performance. However,
there are several indicators which will help to identify systems and tables which are potential
denormalization candidates. These are:

Many critical queries and reports exist which rely upon data from more than one table. Often times
these requests need to be processed in an on-line environment.
Repeating groups exist which need to be processed in a group instead of individually.
Many calculations need to be applied to one or many columns before queries can be successfully
answered.
Tables need to be accessed in different ways by different users during the same timeframe.
Many large primary keys exist which are clumsy to query and consume a large amount of DASD
when carried as foreign key columns in related tables.
Certain columns are queried a large percentage of the time. Consider 60% or greater to be a
cautionary number flagging denormalization as an option.

Be aware that each new RDBMS release usually brings enhanced performance and improved access
options that may reduce the need for denormalization. However, most of the popular RDBMS products on
occasion will require denormalized data structures. There are many different types of denormalized tables
which can resolve the performance problems caused when accessing fully normalized data. The following
topics will detail the different types and give advice on when to implement each of the denormalization
types.

10

6. Write detailed note about the different levels and methods of testing software (May-06).
Ans. A table that is not sufficiently normalized can suffer from logical inconsistencies of various types,
and from anomalies involving data operations. In such a table:

The same fact can be expressed on multiple records; therefore updates to the table may result in
logical inconsistencies. For example, each record in an unnormalized "DVD Rentals" table might
contain a DVD ID, Member ID, and Member Address; thus a change of address for a particular
member will potentially need to be applied to multiple records. If the update is not carried through
successfullyif, that is, the member's address is updated on some records but not othersthen the
table is left in an inconsistent state. Specifically, the table provides conflicting answers to the
question of what this particular member's address is. This phenomenon is known as an update
anomaly.
There are circumstances in which certain facts cannot be recorded at all. In the above example, if it
is the case that Member Address is held only in the "DVD Rentals" table, then we cannot record the
address of a member who has not yet rented any DVDs. This phenomenon is known as an
insertion anomaly.
There are circumstances in which the deletion of data representing certain facts necessitates the
deletion of data representing completely different facts. For example, suppose a table has the
attributes Student ID, Course ID, and Lecturer ID (a given student is enrolled in a given course,
which is taught by a given lecturer). If the number of students enrolled in the course temporarily
drops to zero, the last of the records referencing that course must be deletedmeaning, as a sideeffect, that the table no longer tells us which lecturer has been assigned to teach the course. This
phenomenon is known as a deletion anomaly.

Ideally, a relational database should be designed in such a way as to exclude the possibility of update,
insertion, and deletion anomalies. The normal forms of relational database theory provide guidelines for
deciding whether a particular design will be vulnerable to such anomalies. It is possible to correct an
unnormalized design so as to make it adhere to the demands of the normal forms: this is normalization.
Normalization typically involves decomposing an unnormalized table into two or more tables which, were
they to be combined (joined), would convey exactly the same information as the original tabl
Background to normalization: definitions

Functional dependency:Attribute B has a functional dependency on attribute A if, for each value
of attribute A, there is exactly one value of attribute B. For example, Member Address has a
functional dependency on Member ID, because a particular Member Address value corresponds to
every Member ID value. An attribute may be functionally dependent either on a single attribute or
on a combination of attributes. It is not possible to determine the extent to which a design is
normalized without understanding what functional dependencies apply to the attributes within its
tables; understanding this, in turn, requires knowledge of the problem domain.
Trivial functional dependency: A trivial functional dependency is a functional dependency of an
attribute on a superset of itself. {Member ID, Member Address} {Member Address} is trivial, as is
{Member Address} {Member Address}.
Full functional dependency: An attribute is fully functionally dependent on a set of attributes X if
it is a) functionally dependent on X, and b) not functionally dependent on any proper subset of X.
{Member Address} has a functional dependency on {DVD ID, Member ID}, but not a full functional
dependency, for it is also dependent on {Member ID}.
Multivalued dependency: A multivalued dependency is a constraint according to which the
presence of certain rows in a table implies the presence of certain other rows: see the Multivalued
Dependency article for a rigorous definition.
Superkey: A superkey is an attribute or set of attributes that uniquely identifies rows within a
table; in other words, two distinct rows are always guaranteed to have distinct superkeys. {DVD ID,
Member ID, Member Address} would be a superkey for the "DVD Rentals" table; {DVD ID, Member
ID} would also be a superkey.

11

Candidate key: A candidate key is a minimal superkey, that is, a superkey for which we can say
that no proper subset of it is also a superkey. {DVD ID, Member ID} would be a candidate key for
the "DVD Rentals" table.
Non-prime attribute: A non-prime attribute is an attribute that does not occur in any candidate
key. Member Address would be a non-prime attribute in the "DVD Rentals" table.
Primary key: Most DBMSs require a table to be defined as having a single unique key, rather than
a number of possible unique keys. A primary key is a candidate key which the database designer
has designated for this purpose.

History
Edgar F. Codd first proposed the process of normalization and what came to be known as the 1st normal
form:
There is, in fact, a very simple elimination [1] procedure which we shall call normalization. Through
decomposition non-simple domains are replaced by "domains whose elements are atomic (nondecomposable) values."

Edgar F. Codd, A Relational Model of Data for Large Shared Data Banks[2]
In his paper, Edgar F. Codd used the term "non-simple" domains to describe a heterogeneous data
structure, but later researchers would refer to such a structure as an abstract data type.
Normal forms
The normal forms (abbrev. NF) of relational database theory provide criteria for determining a table's
degree of vulnerability to logical inconsistencies and anomalies. The higher the normal form applicable to a
table, the less vulnerable it is to such inconsistencies and anomalies. Each table has a "highest normal
form" (HNF): by definition, a table always meets the requirements of its HNF and of all normal forms lower
than its HNF; also by definition, a table fails to meet the requirements of any normal form higher than its
HNF.
The normal forms are applicable to individual tables; to say that an entire database is in normal form n is
to say that all of its tables are in normal form n.
Newcomers to database design sometimes suppose that normalization proceeds in an iterative fashion, i.e.
a 1NF design is first normalized to 2NF, then to 3NF, and so on. This is not an accurate description of how
normalization typically works. A sensibly designed table is likely to be in 3NF on the first attempt;
furthermore, if it is 3NF, it is overwhelmingly likely to have an HNF of 5NF. Achieving the "higher" normal
forms (above 3NF) does not usually require an extra expenditure of effort on the part of the designer,
because 3NF tables usually need no modification to meet the requirements of these higher normal forms.
Edgar F. Codd originally defined the first three normal forms (1NF, 2NF, and 3NF). These normal forms have
been summarized as requiring that all non-key attributes be dependent on "the key, the whole key and
nothing but the key". The fourth and fifth normal forms (4NF and 5NF) deal specifically with the
representation of many-to-many and one-to-many relationships among attributes. Sixth normal form (6NF)
incorporates considerations relevant to temporal databases.
First normal form
Main article: First normal form
The criteria for first normal form (1NF) are:
A table must be guaranteed not to have any duplicate records; therefore it must have at
least one candidate key.
There must be no repeating groups, i.e. no attributes which occur a different number of
times on different records. For example, suppose that an employee can have multiple skills:

12

a possible representation of employees' skills is {Employee ID, Skill1, Skill2, Skill3 ...}, where
{Employee ID} is the unique identifier for a record. This representation would not be in 1NF.
Second normal form
Main article: Second normal form
The criteria for second normal form (2NF) are:
The table must be in 1NF.
None of the non-prime attributes of the table are functionally dependent on a part (proper
subset) of a candidate key; in other words, all functional dependencies of non-prime
attributes on candidate keys are full functional dependencies. For example, consider a
"Department Members" table whose attributes are Department ID, Employee ID, and
Employee Date of Birth; and suppose that an employee works in one or more departments.
The combination of Department ID and Employee ID uniquely identifies records within the
table. Given that Employee Date of Birth depends on only one of those attributes namely,
Employee ID the table is not in 2NF.
Note that if none of a 1NF table's candidate keys are composite i.e. every candidate key
consists of just one attribute then we can say immediately that the table is in 2NF.
Third normal form
Main article: Third normal form
The criteria for third normal form (3NF) are:
The table must be in 2NF.
There are no non-trivial functional dependencies between non-prime attributes. A violation of 3NF
would mean that at least one non-prime attribute is only indirectly dependent (transitively
dependent) on a candidate key, by virtue of being functionally dependent on another non-prime
attribute. For example, consider a "Departments" table whose attributes are Department ID,
Department Name, Manager ID, and Manager Hire Date; and suppose that each manager can
manage one or more departments. {Department ID} is a candidate key. Although Manager Hire
Date is functionally dependent on {Department ID}, it is also functionally dependent on the nonprime attribute Manager ID. This means the table is not in 3NF.
Boyce-Codd normal form
Main article: Boyce-Codd normal form
The criteria for Boyce-Codd normal form (BCNF) are:
The table must be in 3NF.
Every non-trivial functional dependency must be a dependency on a superkey.
Fourth normal form
Main article: Fourth normal form
The criteria for fourth normal form (4NF) are:
The table must be in BCNF.
There must be no non-trivial multivalued dependencies on something other than a superkey.
A BCNF table is said to be in 4NF if and only if all of its multivalued dependencies are
functional dependencies.
Fifth normal form
Main article: Fifth normal form
The criteria for fifth normal form (5NF and also PJ/NF) are:
The table must be in 4NF.
There must be no non-trivial join dependencies that do not follow from the key constraints. A
4NF table is said to be in the 5NF if and only if every join dependency in it is implied by the
candidate keys.
Domain/key normal form
Main article: Domain/key normal form

13

Domain/key normal form (or DKNF) requires that a table not be subject to any constraints other
than domain constraints and key constraints.
Sixth normal form

It has been suggested that this section be split into a new article entitled Sixth normal form. (Discuss)
This normal form was, as of 2005, only recently proposed: the sixth normal form (6NF) was only defined
when extending the relational model to take into account the temporal dimension. Unfortunately, most
current SQL technologies as of 2005 do not take into account this work, and most temporal extensions to
SQL are not relational. See work by Date, Darwen and Lorentzos [3] for a relational temporal extension, or
see TSQL2 for a different approach.
Denormalization
Main article: Denormalization
Databases intended for Online Transaction Processing (OLTP) are typically more normalized than databases
intended for On Line Analytical Processing (OLAP). OLTP Applications are characterized by a high volume of
small transactions such as updating a sales record at a super market checkout counter. The expectation is
that each transaction will leave the database in a consistent state. By contrast, databases intended for
OLAP operations are primarily "read only" databases. OLAP applications tend to extract historical data that
has accumulated over a long period of time. For such databases, redundant or "denormalized" data may
facilitate Business Intelligence applications. Specifically, dimensional tables in a star schema often contain
denormalized data. The denormalized or redundant data must be carefully controlled during ETL
processing, and users should not be permitted to see the data until it is in a consistent state. The
normalized alternative to the star schema is the snowflake schema.
Denormalization is also used to improve performance on smaller computers as in computerized cashregisters. Since these use the data for look-up only (e.g. price lookups), no changes are to be made to the
data and a swift response is crucial.
Non-first normal form (NF)
In recognition that denormalization can be deliberate and useful, the non-first normal form is a definition of
database designs which do not conform to the first normal form, by allowing "sets and sets of sets to be
attribute domains" (Schek 1982). This extension introduces hierarchies in relations.
Consider the following table:
Non-First Normal
Form
Pers
Favorite
on
Colors
Bob blue, red
green, yellow,
Jane
red
Assume a person has several favorite colors. Obviously, favorite colors consist of a set of colors modeled
by the given table.
To transform this NF table into a 1NF an "unnest" operator is required which extends the relational algebra
of the higher normal forms. The reverse operator is called "nest" which is not always the mathematical
inverse of "unnest", although "unnest" is the mathematical inverse to "nest". Another constraint required is
for the operators to be bijective, which is covered by the Partitioned Normal Form (PNF).

14

The most useful and practical approach is with the understanding that testing is the process of
executing a program with tha explicit intention of finding errors, that is ,making the program dail
TESTING STRATEGIES:
A test case is a set of data that the system will process as normal input.
However the data are created with the express intent of determining whther the system will process them
correctly
There are two logical strategies for testing software that is the strategic of code testing and specification
testing
CODE TESTING:
The code testing strategy examines the logic of the program to follow this
testing method the analyst develops test cases that result in executing every instruction in the program or
module that is every path through the program is tested
This testing strategy does not indicate whether the code meets its
specification nor does it determine whether all aspects are even implemented. Code testing also does not
check the range of data that the program will accept even through when the software failure occur in
actual size it is frequently because users submitted data outside of expected ranges(for example a sales
order for $1 the largest in the history of the organization)
SPECIFICATION TESTING:
To perform specification testing the analyst examines the specifications
stating what the program should do and how it should perform under
various conditions. Then test cases are developed for each condition or combination of condition and
submitted for processing. by examining the results the analyst can determine whether the program
perform according to its specified requirement
LEVELS OF TESTING:
Systems are not designed as entire systems nor are they tested as single
systems.The analyst must perform both unit and system testing
UNIT TESTING:
In unit testing the analyst tests the programs making up a system.(for this reason sometimes unit testing
is also called as program testing)
Unit testing focuses first on the modules independently of one another to locate error.
This enables the tester to detect errors in coding and logic that are contained within that module alone.
Unit testing can be performed only from bottom up,starting with the smallest and lowest level modules are
proceeding one at time .for each module in bottom up testing a shot program executes the module and
provides the needed data so that the module is asked to perform the way it will when embedded within the
larger system.when bottom level modules tested attention turns to those on the next level that use the
lower ones. They are tested individually and the linked with the previously examined lower level modules
SYSTEM TESTING:
System testing does not test the software but rather the integration of each module in the system .it also
tests to find discrepancies between the system and its original objective current specifications , and
system documentation. The primary concern is the compatibility of individual modules .Analyst trying to

15

find areas where modules have been designed with the different specifications for data length,type and
data element name For example one module may expect the data item for customer identification number
to be character data item

16

7. What are structured walkthrough and how are they carried out? Describe the Composition
of walkthrough system.(May-06,Nov-03,May-05).
A structured walkthrough is a planned review of a system or its software by persons involved in
the development efforts. Sometimes structured walkthrough is called peer walkthrough because the
participant are colleagues of the same levels in the organization
PURPOSE:
1. The purpose of structured walkthrough is to find area where improvement can be made in the
system or the development process.
2. structured walkthrough are often employed to enhance quality and to provide guidance to system
analyst and programmers.
3. A walkthrough should be viewed by the programmers and analyst as an opportunity to receive
assistance not as an obstacle to be avoided tolerated.
4. The structured walkthrough can be used to process a constructive and cost effective management
tool after detailed investigation following design and during program development.
PROCESS OF STRUCTURED WALKTHROUGH:
1. The walkthrough concept recognizes that system development is team process. The individuals
who formulated the design specifications or crated the program code are parts of the review team
2. A moderated is chosen to lead the review.
3. A scribe a recorder is also needed to capture the details of the discussions and the ideas that are
raised.
4. Maintenance should be addressed during walkthrough.
5. Generally no more than seven persons should be involved including the individuals who actually
developed the product under review, the recorder and the review leader.
6. structured review rarely exceed 90 minutes in length.
REQUIREMENT REVIEW:
1. A requirement review is a structured walkthrough conducted to examine the requirement
specifications formulated by the analyst.
2. It is also called as specification review.
3. It aims at examining the functional activities and processes that the review the new system will
handle.
4. it includes documentation that participants read and study price to actual walkthrough.
DESIGN REVIEW
1. Design review focuses on design specification for meeting previously identified system
requirements
2. The purpose of this type of structured walkthrough is to determine whether the proposed design will
meet the requirement effectively and efficiently.
3. If the participant find discrepancies between the design and requprement they will point out them
discuss them.
CODE REVIEW:
1. A code review is structured walkthrough conducted to examine the program code developed in a
system along its documentation.
2. It is used for new systems and for systems under maintenance
3. A code review does not deal with the entire software but rather with individual modules or major
components in a program.
4. when programs are reviewed the participants also assess the execution efficiency use of standard
data names and modules and program errors.

17

18

8. What is user interface design?What tools is used to chart a User Interface Design(May-06).
Ans:
User interface design is the spercification of of a conversation between the system user and the
computer.it generally results in the form of input or output.there are several types of user interface styles
including menu selection , instruction sets, question answer dialogue and direct manipulation.
1. Menu selection: It is a strategy of dialogue design that presents a list of alternatives or
options to the user.The system user selects the desired alternative or option by keying in the
no. of alternatives associated with the options.
2. Instruction sets: It is strategy where the application is designed osing a dialogue syntax that
the user must learn.There are three types of syntax :structured English,mnemonic syntax
and natural language.
3. Question answer dialogue strategy: It is a style that wsa primerly used to supplement either
menu-driven or syntax-driven dialogues.The system question involves yes or no.It was also
popular in developing interfaces for character based screens inainframe applications.
4. Direct manipulation: It allows graphical objects appear on a screen.Essentialy, this user
interface style foceses on using icons , small graphical images ,to sugest functions to the
user.

19

9. Describe the different methods of file organization .Illustrate with examples For what
type of system,which type of file organization methods can be used(May-06,Nov-03)
Ans.

File Organisation :

A file id organized to ensure that records are available for processing.It should be designed in line
with the acivity and volatility of the information and the nature of the storage media and devices.
There are Four basic File organization Methods:
1.
Sequential organization:
i.
Sequential organization simply means storing data in physical contigous blocks within
files on tape or disk.Records are also in sequence with in each block.
ii.
To access a record previous records within the block are scanned.Thus sequential record
design is best suited for get next activities,reading one record after another without a
search delay.
iii.
In a sequential organistaion records can be added only at the end of the file.It is not
possible to insert a record in the middle of the file without rewriting the file.
iv.
In this file update,transactions records are in same sequence as in the master
file.Records from both files are matched.One recordat a time,resulting in an updated
mster file.
v.
Advantages:
- simple to design
- easy to program
- variable length and blocked records are available
- best use of disk storage
vi.
Disadvantages :
Records cannot be added to middle of the file.
2.
Indexed Sequencial Organisation :
i.
Like Sequencial Organisation,keyed Sequencial Organisation stores data in physically
contigous blocks.
ii.
The difference in the use of indexes to locate the records.
iii.
Disk storage is divided into three areas:
a.
Prime Area:
The prime are contains file records stored by key or ID numbers.All records
are initially stored in the prime area.
b.
OverFlow area:
The overflow area contains records added to the files that cannot be
placed in logical sequence in the prime area.
c.
Index area:
The index area is more like a data dictionary.It contains keys of records
and their loctions on the disks.A pointer associated with each key is an
address that tells the system where to find a record.
iv.
Advantages :
a.
Indexed sequential organization reduces the magnitude of the sequential
search and provides quick access for sequential and direct processing.
b.
Records can be inserted or updated in the middle of the file.
v.
Disadvantages :
a.
The Prime drawback is the extra storage required for the index.
b.
It also takes longer to search the index for data access or retrieval.
c.
Periodic reorganization of file is required.
3.

Inverted List Organisation :


i.
Like the indexed-sequencial storage method the inverted list organization maintains an
index.
ii.
The two methods differ however in the index level and record storage.
iii.
The indexed seqeuncial method has a multiple index for a given key,whereas the
inverted list method has a single index for each key type.
iv.
In an inverted list records are not necessarily stored in aparticular sequence.They are
placed in data storage area bur indexes are updated for the record keys and location.
v.
Advantage:

20

Inverted lists are best for application that request specific data on multiple keys.They
are ideal for static file as additions and deletions cause expensive pointer updating.
4.

Direct access Organisation:


i.
In direct-access file organization,records are placed randomly throughout the file.
ii.
Records need not be in sequence because they are updated directly and rewritten back
in the same location.
iii.
New records at the end of the file or inserted in specific locations based on software
commands.
iv.
Records are accessed by address that specify their disk location.An address is required
for locating a record,for linking records or for establishing relationships.
v.
Adantages:
a.
Records can be inserted or updated in middle of the file.
b.
Better control over at a location.
vi.
Disadvantages:
a.
Address calculation is required for the processing.
b.
Variable legth records are nearly impossible to process.

21

10.What is mean by prototype? What is its use in application prototyping .(May-06).


Prototyping:
a. Prototyping is a technique for quickly building a functioning but incomplete model of the
information system.
b. A prototype is a small, representative or working model of users requirements oa a proposed
design for an information system.
c. The Development of the prototype is based on the fact that the requirements are seldom fully
known of the beginning of the project.The idea is to build a first simplified version of the system
and seek feedback from the people involved in order to then design a better subsequent
version.This process is repeated until the system meets the client condition of acceptance.
d. Any given prototype may omit certain functions or features until such a time as the prototype
has sufficiently involved into an acceptable implementation of requirements.
e. There are two types of prototyping models
a. Throw-away prototyping In this model, the prototype is discarded once it has served
the purpose of clarifying the system requirements.
b. Explanatory prototyping In this model, the prototype evolves into the main system.
Need for Prototyping :
a.
Information requirement are not always well defined.Users may know onlythat certain
bussiness areas need improvements or that the existing procedures must be changed.Or
may know that they need better information for managing certain activities but are not sure
what that information is.
b.
The users requirements may not be too vague to even begin formulating a design.
c.
Developers may have neither information nor experience of some unique situations or some
high-cost or high-risk situations, in which the proposed design is new and untested.
d.
Developers may be unsure of the efficiency of an algorithm, the adaptabily of an operating
system, or the form that human-machine interaction should take.
e.
In these and many other situations a prototypingapproach may offer the best approach.
Steps in Prototyping:
a.
Requirement Analysis:
Identify the users information and operating requirements.
b.
Prototype creation or modification :
Develop a working prototype that focuses on only the most important functions using a
basic database.
c.
Customer Evalution :
Allow the customers to use the prototype and evaluate it.Gather the feedback, reviews,
comments and suggestion.
d.
Prototype refinement :
Integrate the most important changes into the current prototype on the basis of customer
feedback.
e.
System development and implementation :
Once the refined prototype satisfies all the clients conditions of acceptance, it is transformed
into the actual system.
Advantages :
i.
Shorter development time.
ii.
More accurate user requirements.
iii.
Greater user participation and support
iv.
Relatively inexpensive to build as compared with the cost of conventional system.
Disadvantages :
i.
An appropriate operating system or programming languages may be used simply because is
it available.
ii.
The completed system may not contain all the features and final touch. For instance
headings titles and page numbers in the report may be missing.
iii.
File organization may be temporary nd record structures may left incomplete.
iv.
Processing and input controls may be missing and documentation of system may have been
avoided entirely.
v.
Development of system may become never ending process as changes will keep happening.

22

vi.

Adds to cost and time of the developing system if left uncontrolled.

Application :
i.
This method is most useful for unique applications where developers have little information
or experience or where risk or error may be high.
ii.
It is useful to test the feasibility of the system or to identify user requirements.
11.Distinguish between reliability and validity how are they related?(May-06,Nov-03).
Ans:
Reliability and validity are two faces of information gathering .the term reliability is synonymous with
dependability,consistency and accuracy.Concern for reliability comes from the necesisity for dependability
in measurement whereas validity is concerned on what is being measured rather than consistency and
accuracy.
Reliability can be approached in three ways
1.it is defined as stability, dependability, and predictability.
2.It focuses on accuracy aspect.
3.Errors of measurement-they are random errors stemming from fatigue or fortuitous conditions at
a given time.
The most common question that defines validity is :Does the instrument measure what it is measuring? It
refers to the notion that the question asked are worded to produce the information sought.in validity the
emphasis is on what is being measured .

23

12.Write short notes on(May-06)


a. Structure charts (May-04)(May-03)(Dec-04)
b. HIPO charts(May-04,May-03,May-05,Dec-04)
c. Security and Disaster Recovery Dec-04
d. List of Deliverables Dec-04
e. Warrier or Diagram (M-05,Dec-04,May-04)
HIPO charts
1.
HIPO is a commonly used method for developing software.An acronym for Hierachical
Input Process Output,this method was developed by IBM for its large,complex
Operating Systems.
2.
Purpose: The assumption on which HIPO is based is that one oftenly loses track of the
intended function of large system. This is one reason why it is difficult to compare
existing systems against their original specifications and therefore why failure can
occur even in system that are technically well formulated. From the user view, single
function can often extend across several modules. The concerns of the analyst is that
understanding, describing and documenting the modules and their interaction in a way
that provides sufficient details out that does not lose sight of the larger picture.
3.
HIPO diagrams are graphic, rather than prose or narrative, descriptions of the system.
4.
They assest the analyst in answering three guidelines.
a. What does the system or module do?
b. How does to do it?
c. What are the inputs and outputs?
5.
A HIPO descriptions for a system consists of
a. Visual of the the table of contents(VTOC),and
b. Functional diagrams.
6.
Advantages:
a. HIPO diagrams are effective for documenting a system.
b. They also aid designers and force them to think about how specification will be met
and where activities and components must be linked together.
7.
Disadvantages:
a.
They rely on a set of specialized symbols that require explanation. an extra concern
when compared to the simplicity of, for example, data flow diagrams.
b.
HIPO diagrams are not as easy to use communication purpose as many people would
like.And of course, they donot guarantee error free systems. Hence, their greatest
strength is the documentation of a system.
List of Deliverables:
1. The deliverables are those artifacts of the software system to be deliverable to the users.
2. It is wrong to consider that only the executable code is deliverable. Some additional
documentation as the part of the deliverables, but this
too is incomplete list of deliverables.
3. The deliverables of software system development project are numerous and vary with
user organization.
4. The broad classes of the system deliverables are as follows:a.
Document deliverables.
b.
Source code deliverables.
5. Some of the document deliverables are listed as follows:a.
System requirement specifications.
b.
System Design documents.
i.
Data flow diagrams with process descriptions, data dictionary, etc.
ii.
System Flow chart.
iii.
Entity Relationship Diagrams.
iv.
Structure charts.
v.
Forms Design of Input data forms.
vi.
Forms Design of Outputs such as Query Responses/Reports.
vii.
Errors Messages: List, Contents, Suggested Corrective Actions.
viii.
Databases Schema.
c.
Testing documents:
i.
Test plan with Test Cases, Test Data and expected results.
d.
User Training Manual

24

i.

Operational manual-containing routine operations, exception


processing, housekeeping functions etc.
6. The source code deliverables-these are also called as soft copy deliverables, because
they are delivered in a soft form.(may be in addition to
print form),Major deliverables in this category are listed
as follows
a.
The source code of programs.
b.
The source code of libraries/sharable code.
c.
The data base schema source code.
d.
The database Triggers, Stored Procedures, etc. If not covered above.
e.
The online help pages contents.
7. The list of deliverables is generally a part of proposal. However, the final list of
deliverables may include additional elements or
clarifications after the system requirements
specifications are finalized.
Structure Charts:
It is described as follows:1.
The structured chart is graphical representation of the hierarchical organization of
program functions of a program and the communication between program components.
2.
It is drawn to describe a process or program
component shown in System Flow chart in more details. The structure charts create
further top-down decomposition. Thus it is another lower level of abstraction of the
design before implementation.
3.
A computer program is modularized so that it is
very easy to understand; it avoids repetition of the same code in multiple places of the
same (or different) programs and can be reused to save development time, effort and
costs. The Structured chart makes it possible to model even at the lower level of
design.
4.
These modules of a program, called as
subprograms, are placed physically one after the other serially. However, they are
referenced in the order that the functionality requires them. Thus the program control is
transferred from a line is the calling subprogram to the first line in the called
subprograms. Thus they perform the role of calling and/or called subprograms, at
different times during the program execution.
5.
The calling subprograms is referred to as a
parent and the called one is referred to as a child subprogram. Thus a program can be
logically arranged into hierarchy of subprograms. The structured charts can be used to
represent the parent-child relationships between subprograms effectively by correctly
representing these relationships.
6.
The subprograms also communicate with each
other in either direction. The structure chart can describe the data flows effectively.
These individuals data items between programs modules are called as data couples .
They are represented by an arrow starting from a hollow circle, as shown in the diagram.
The arrow is labeled with the name of data item passed.
7.
The subprograms also communicate among
themselves a type of data item called as flag which is purely internal information
between subprograms, used to indicate some result. They could be binary values,
indicating presence or absence of a thing.
Symbol below is of calling Module calls the called Module

Calling
Module
Data
Returne
Controld
Flag

Data Passed

25

Called
Module
Warrier or Diagram:
1. The ability to show the relationship between processes and steps in a process is not unique
to Warnier/Orr diagrams, not is the use of iteration ,or treatment of individual cases.
2. Both the structured flowcharts and structured-English methods do this equality well.
However, the approach used to develop systems definitions with Warnier/Orr diagrams are
different and fit well with those used in logical system design.
3. To develop a Warnier/Orr diagram, the analyst works backwards, starting with systems
output and using on output-oriented analysis. On paper, the development moves from left
to right. First, the intended output or results of processing are defined..
4. At the next level, shown by inclusion with a bracket, the steps needed to produce the
output are defined. Each step in turn is further defined. Additional brackets group the
processes required to produce the result on the next level.
5. A complete Warnier/Orr diagram includes both process groupings and data requirements.
Both elements are listed for each process or process component. These data elements are
the ones needed to determine which alternative or case should be handled by the system
and to carry out the process.
6. The analyst must determine where each data element originates how it is used, and how
individual elements are combined. When the definition is completed, data structure for
each process is documented. It is turn, is used by the programmers, who work from the
diagrams to code the software.
7. Advantages:
a. Warnier/Orr diagrams offer some distinct advantages to system experts. They are
simple in appearance and easy to understand. Yet they are powerful design tools.
b. They have the advantage of showing grouping of processes and the data that must
be passed from level to level.
c. In addition, the sequence of working backwards ensures that the system will be
result-oriented.
d. This method is also a natural process. with structured flowcharts. for example it is
often necessary to determine the innermost steps before interactions and
modularity.
Security and Disaster Recovery:
The system security problem can be divided into four related issues:
1. System Security:
System security refers to the technical innovations and procedures applied to the
hardware and operating systems to protect deliberate or accidental damage from a
defined threat.
2. System Integrity:
System integrity refers to the proper functioning of hardware and programs,
appropriate physical security, and safety against external threats such as
eavesdropping and wiretapping.
3. Privacy:

26

Privacy defines the rights of the users or organizations to determine what


information they are willing to share with or accept from others and how the
organization can be protected against unwelcome, unfair, or excessive
dissemination of information about it.
4. Confidentiality:
The term confidentiality is a special status given to sensitive information in a
database to minimize the possible invasion of privacy. It is an attribute of information
that characterizes its need for protection.
Disaster/Recovery Planning:
1. Disaster/recovery planning is a means of addressing the concern for system
availability by identifying potential exposure, prioritizing applications, and
designing safeguards that minimize loss if disaster occurs. It means that no
matter what the disaster, the system can be recovered. The business will survive
because a disaster/recovery plan allows quick recovery under the circumstances.
2. In disaster/recovery planning, managements primary roll is to accept the need
for the consistency planning, select an alternative measure, and recognize the
benefits that can be delivered from establishing a disaster/recovery plan. Top
management should establishing a disaster/recovery policy and commit
corporate support staff for its implementation
3. The users role is also important. The users responsibilities include the following:
a. Identifying critical applications, why they are critical, and how computer
unavailability would affect the department.
b.
Approving data protection procedures and determining how long and
how well operations will continue without the data.
c.
Funding the costs of backup.

27

13. What are the roles of the system Analyst in system analysis
design?(Nov-03,May-01)
The various roles of system analyst are as follows:
1. Change Agent:
The analyst may be viewed as an agent of change. A candidate system is designed to introduce change
and reorientation in how the user organization handles information or makes decisions .In role of a
change agent, the system analyst may select various styles to introduce change to user organization.
The styles range from that of the persuader to imposer. In between, there are the catalyst and
confronter roles. When user appears to have a tolerance for change ,the persuader or
catalyst(helper)styles is appropriate. On the other hand , when drastic changes are requires, it may be
necessary to adopt the confronter or even imposer style .No matter what style is used; however the
goal is same :to achieve acceptance of candidate system with a minimum of resistance.
2. Investigator and Monitor.
In defining a problem, the analyst pieces together the information gathered to determine why the
present system does not work well and what changes will correct the problem .In one respect, this work
is similar to that of an investigator. Related to the role of investigator is that of monitor programs in
relation to time, cost, and quality. Of these resources, time is the most important, If time gets away, the
project suffers from increased costs and wasted human resources.
3. Architect:
Just as an architect related the client abstract design requirement and the contractors detailed
building plan, an analyst relates the users logical design requirement with the detailed physical system
design,As an architect,the analyst also creates a detailed physical system design of the candidate
systems.
4. Psychologist
In system development, system are built around people. The analyst plays the role of psychologist in
the way he/she reaches people, interprets their thoughts, assesses their behaviour and draws
conclusions from these interactions. Understanding inetrfunctional relationships is important.It is
important that analyst be aware of peoples feelings and be prepared to get around things in a graceful
way. The art of listening is important in evaluating responses and feedback.
5. Salesperson:
Selling change can be as crucial as initiating change. Selling the system actually takes place at each
step in the system life cycle. Sales skills and persuasiveness are crucial to the success of system.
6. Motivator:
The analyst role as a motivator becomes obvious during the first few weeks after implementation of
new system and during times when turnover results in new people being trained to work with the
candidate system. The amount of dedication if takes to motivate the users often taxes the analyst
abilities to maintain the pace.
7. Politcian:
Related to the role of motivator is that of politician. In implementing a candidate system , the analyst
tries to appeases all parties involved.Diplomacy and fitness in dealing with the people can improve
acceptance of the system.In as much as a politician must have the support of his/her constituency, so
as good analysts goal to have the support of the userss staff.

28

14.What is the requirement f good system analyst (M-04,May-01,M-06)


An analyst must possess various skills to effectively carry out the job. The skills required by system
analyst can be divided into following categories:

vi)

i)
Technical Skills:
Technical skills focus on procedures and techniques for operetional analysis, system analysis and
computer science. The technical skills relevant to system include the following:
a.
Working Knowledge of Information Technologies:
The system analyst must be aware of both existing and emerging information technologies. They
should also stay through disciplined reading and participation in current appropriate professional
societies.
b.
Computer programming experience and expertise:
System Analyst must have some programming experience.
Most system analyst need to be proficient in one or more high level programming language.
ii)
Interpersonal Skills:
Interpersonal skills deal with relationships and interface of the analyst with people in the
business.The interpersonal skills relevant to system include the following:
a.
Good interpersonal Communication skills:
An analyst must be able to communicate, both orally and in writing. Communication is not just
reports, telephone conversations and interviewes. It is people talking, listening, feeling and
reaching to one another; their experiences and reactions. Opening communication channel are a
must for system development.
b.
Good interpersonal Relations skills:
An analyst interacts with all stackholders in a system development project. There interaction
requires effective interpersonal skills that enable the analyst o deal with a group dynamics,
bussiness politics, conflict and change.
iii)
General knowledge of Business process and terminology:
System analyst must be able to communicate with business
experts to gain on understanding of their problems and needs. They should avail themselves of
every opportunity to complete basic business literacy courses such as financial accounting,
management or cost accounting, finance, marketing , manufacturing or operations management,
quality management, economics and business law.
iv)
General Problem solving skills:
The system analyst must be able to tke a large bussiness problem, break down that problem into its
parts, determine problem causes and effects and then recommended a solution.Analyst must avoid
the tendancy to suggest the solution before analyzing the problem.
v)
Flexibility and Adaptability:
No two are alike.Accordingly there is no single, magical approach or standard that is equally
applicable to all projects.Successful system analyst learn to be flexible and to adopt to unique
challenges and situations.
Character and Ethics:
The nature of the systems analyst job requires strong character and a sense of right and
wrong.Analysts often gain access to sensitive and confidential facts and information that are
not meant for public disclosure.

29

15.Build a current Admission for MCA system .Draw context level diagram,
DFD upto Two level, ER diagram and a dataflow and data stores and
a process. Draw input, output screen.(May-04)
EVENT LIST FOR THE CURRENT MCA ADMISSION SYSTEM
1. Administrator enters the college details.
2. Issue of admission forms.
3. Administrator enters the student details into the system.
4. Administrator verifies the details of the student.
5. System generates the hall tickets for the student.
6. Administrator updates the CET score of student in the system.
7. System generates the score card for the students.
8. Student enters his list of preference of college into the system.
9. System generates college-wise student list according to CET score.
10. System sends the list to the college as well as student.
Data Store used in MCA admission:
1)
Student_Details :
i)
Student_id
ii)
Student Name
iii)
Student Address
iv)
STudent_contactNo
v)
Student Qualifiacation
vi)
Studentmarks10th
vii)
Studentmarks12th
viii)
StudentmarksDegree
2)

Stud_cet details:
i)
Student_id
ii)
Student_rollNo
iii)
Student_cetscore
iv)
Student_percentile

3)

Stud_preference List:
i)
Student_id
ii)
Student_rollNo
iii)
Student_prefenence1
iv)
Student_prefenence3
v)
Student_prefenence3
vi)
Student_prefenence4
vii)
Student_prefenence5

4)

College List:
i)
ii)
iii)
iv)
v)

College_id
college_name
college_address
seats available
Fee

Input Files
1)

Student Details Form:

30

Student Name:

___________________________

Student Address:

Student Contact NO:


Student Qualification:
Students Percentge 12th:
Students Percentage 10th:
Students Degree Percentage:
(optional)
2)

Student preference List:

Student_rollNo:

_________

Preference No 1:
Preference No 2:
Preference No 3:
Preference No 4:
Preference No 5:
3)

Stdent CET Details :

Student id :
Student rollno:
Student Score:
Student Percentile:
4)

College List :

College Name:
College Address:
Sets Available :
Fees :
OUTPUT FILES

1)

Student ScoreCard

31

Student RollNo

Student Name

Student SCore

Percentile
2)

Student List to College


RollNo

1
2
3
4
5
6
7
8
9

Name

Score

Percentile

32

33

34

35

16.Give the importance of formal methods.specially give the importance


of spiral development model.(M-03).
DEFINITION - The spiral model, also known as the spiral lifecycle model, is a systems development
method (SDM) used in information technology (IT). This model of development combines the features of
the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and
complicated projects.

The steps in the spiral model can be generalized as follows:


1. The new system requirements are defined in as much detail as possible. This usually involves
interviewing a number of users representing all the external or internal users and other aspects of
the existing system.
2. A preliminary design is created for the new system.
3. A first prototype of the new system is constructed from the preliminary design. This is usually a
scaled-down system, and represents an approximation of the characteristics of the final product.
4. A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of
its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3)
planning and designing the second prototype; (4) constructing and testing the second prototype.
5. At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk
factors might involve development cost overruns, operating-cost miscalculation, or any other factor
that could, in the customer's judgment, result in a less-than-satisfactory final product.
6. The existing prototype is evaluated in the same manner as was the previous prototype, and, if
necessary, another prototype is developed from it according to the fourfold procedure outlined
above.
7. The preceding steps are iterated until the customer is satisfied that the refined prototype
represents the final product desired.
8. The final system is constructed, based on the refined prototype.
9. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a
continuing basis to prevent large-scale failures and to minimize downtime.
Advantages

Estimates (i.e. budget, schedule, etc.) get more realistic as work progresses, because important
issues are discovered earlier.

36

It is more able to cope with the (nearly inevitable) changes that software development generally
entails.
Software engineers (who can get restless with protracted design processes) can get their hands in
and start working on a project earlier.
The spiral model is a realistic approach to the development of large-scale software products
because the software evolves as the process progresses. In addition, the developer and the client
better understand and react to risks at each evolutionary level.

The model uses prototyping as a risk reduction mechanism and allows for the development of
prototypes at any stage of the evolutionary development.

It maintains a systematic stepwise approach, like the classic life cycle model, but incorporates it
into an iterative framework that more reflect the real world.

If employed correctly, this model should reduce risks before they become problematic, as
consideration of technical risks are considered at all stages.

Disadvantages

Demands considerable risk-assessment expertise


It has not been employed as much proven models (e.g. the WF model) and hence may prove
difficult to sell to the client (esp. where a contract is involved) that this model is controllable and
efficient. [More study needs to be done in this regard

It may be difficult to convince customers that evolutionary approach is controllable

37

17.What is 4GL model? What are its advantages and diadvantages ?


(M-03).
Fourth Generation Technique:
1)
The term 'Fourth Generation Technique' encompasses broad array of software tools that
have one thing in common:ech toolenables this software developer to secify some
characteristics of software of a high level.The tool then automatically generates source code
based on developers specification.
2)
There is a little debate that higher the level at which software can be specified to a
machine,the faster a program can be built.
3)
The 4gl model focuses on the ability to specify software to a machine at level that is close
to natural language or using a notation that imparts significant functions.
4)
Currently, a software development enviornment that supports th 4Gl model includes some or
all of the foloowing tools: non-procedural languages for database query,report
generation,data manipulation,screen interaction and defination,code generation,high-level
graphics cpability,spreadsheets capability.
5)
There is no 4GT enviornment today that may be applied with the equal facility to each of the
software application categories.
Steps in 4GT:
1)
Requirement Gathering:
i)
Like other paradigms,4Gt begins with the requirement gathering step.Ideally,customer
would describe requirements and these would be directly translated into an operational
prototype.But this is unworkable.
ii)
The customer may be unsure of what is required,may be ambigous in specifying facts that
are known and may be unable or unwilling to specify information in a matter that 4GT can
consume.
iii)
In addition, current 4GT tools are not sophisticated enough to accomodate truly 'natural
language' and won't be for some time.At this time, the customer-developer dialouge
described for other paradigms remains an essential part of 4GT model.
2)
Design Stratergy:
i)
For small applications it may be possible to move directly from the requirement gathering
step to implementation using non-procedural fourth-generation language(4GT).
ii)
However for large it is necessary to develop a design strategy for the system,even a 4GL is
to be used.
iii)
The use of 4GT without design(for large project) will cause the same difficulties (poor
quality,poor maintainibilty etc) that we haveencountered when developing software using
conentional approaches.
3)

Implemention using 4GL:


Implementation using a 4GL enables the software developer to represent desired results in a
manner that results in automatic generation of code to generate those results obviously,a data
structure with relevant information must exist and be readily accessible by 4GL.

4)

Testing:
To transform a $GT implementation into a product the development must conduct through
testing,develop meaningful documentation and perform all other 'transition' activities that are also
required in other paradigms.In addition the 4GT developed software must be built in a manner that
enables maintainance to be performed expeditiousl.

Merits:
i)
Drastic reduction in software deveopment time.
ii)
Improved productivity for Software developments.
Demerits:
i)
Not much easier to use as compared to programming languages.
ii)
Large software systems builkt using 4GT are very difficult to maintain.

38

18.Discuss prototyping as a way to test a new idea?( M-03)


1. Prototyping is a technique for quickly building a functioning but incomplete model of the information
system.
2. A prototype is a small, representative, or working model of users requirements or a proposed design for
an information system.
3. The development of the prototype is based on the fact that the requirements are seldom fully know at
the beginning of the project. The idea is to build a first, simplified version of the system and seek feedback
from the people involved, in order to then design a better subsequent vesion. This process is repeated until
the system meets the clients condition of acceptance.
4. any given prototype may omit certain functions or features until such a time as the prototype has
sufficiently evolved into an acceptable implementation of requirements.
Reason for Protoyping:
1. information requirements are not always well defined. Users may know only that certain business
areas need improvement or that the existing procedures must be changed. Or, they may know that
they need better information for managing certain activities but are not sure what that information
is.
2. the users requirements may be too vague to even begin formulating a design.
3. developers may have neither information nor experience of some unique sitations or some highcost or high-risk situations, in which the proposed design is new and untested.
4. developers may be unsure of the efficiency of an algorithm, the adaptability of an operating
system, or the form that human-machine interaction should take.
5. in these and many other situations, a prototyping approach may offer the best approach.
Advantages:
1.
2.
3.
4.

Shorter development time.


more accurate user requirements
greater user participation and support
relatively inexpensive to build as compared with the cost of conventional system.

This method is most useful for unique applications where developers have little information or
experience or where risk of error may be high. It is useful to test the feasibility of the system or to
identify user requirements.

39

19.Discuss features of good user interface design, using login


context(M-03).
The features of the good user interface design are as follows:
Provide the best way for people to interact with computers. This is commonly known as Human
Computer Interaction. (HCI).
The presentation should be user friendly. User- friendly Interface is helpful e.g. it should not only
tell user that he has committed and error, but also provide guidance as to how she can rectify it
soon.
It should provide information on what is the error and how to fix it.
User-friendly ness also includes tolerant and adaptable.
A good GUI makes the User more productive.
A good GUI is more effective, because it finds the best solutions to a problem.
It is also efficient because it helps the User to find such solution much quickly and with the least
error.
For a User, using a computer system, his workspace is the computer screen. The goal of the
good GUI is to make the best, if not all, of a Users workspace.
A Good GUI should be robust. High robustness implies that the interface should not fail because
of some action taken by the User. Also, and User error should not lead to a system breakdown.
The Usability o0f the GUI is expected to be high. The Usability is measures in the various terms.
A good GUI is of high Analytical capability; most of the information needed by the User appears
on the screen.
With a good GUI, User finds the work easier and more pleasant.
The User should be happy and confident to use the interface.
A good GUI has a high cognitive workload ability i.e. the mental efforts required of the User to
use the system should be the least. In fact, the GUI closely approximates the Users mental
model or reactions to the screen.
For a good GUI, the User satisfaction is high.

40

20.Discuss use and abuse of multiwindow displays (M-03).


Multiple Window Design: Designer use multiple screens to give users the information they need. The first screen gives
gives general information.
By depressing a specified key, the user retrieves a second screen containing details.
It allows users to browse through the details quickly and identify each item about which
more detail is needed. At the same time, the explosion into detail for one specific item on
a second (or even a third) screen maintains the readability of the first screen by requiring
display of only enough detail to identify the item wanted.
Display different data or report sets simultaneously .
Switch between several programs, alternatively displaying the output from each.
Move information from one window to the other (within the same or different programs).

41

21.Write short notes on(M-03)


a. Design of input and control
b. Economic feasibility analysis
c. Structural walkthroughs
d. Design reviews.
Q 21 (a) Short note on design of input and control ?
Ans : The design of inputs involve the following four tasks :1.
2.
3.
4.

Identify the data input devices and mechanisms.


Identify the input data and attributes.
Identify input controls.
Prototype the input forms.

We study the detailed activities as follows.


1) Identify the data input devices and mechanisms:
To reduce the input errors, use the following guidelines :
Apart from entering data through the electronic form, new ways of entering data is through
scanning , reading and transmitting devices. They are faster, more efficient and less error
prone.
Capture the data as close to where it originates as possible. These days application systems
eliminate the use of paper forms, but encourage entry through laptops etc. which the user
can carry to the origin of the data and enter data directly through it. This reduces errors in
data entry dramatically.
Automate the data entry and avoid the human intervention in the data capture, as much as
possible. This will give users less chance to make typing errors and increase the speed of
data capture.
In case, the information is available in the electronic form, prefer it over entering data
manually. This will also reduce errors further.
Validate the data completely and correctly at the location where it is entered. Reject the
wrong data at its source only.
2) Identify the input data and attributes :
The activities involved in this step are as follows :This is to ensure that all system inputs are indentified and have been specified correctly.
Basically, it involves indenfying the information flows across the system boundary.
Using the DFD models, at the lowest levels of the system the developers mark the system
boundary considering what part of the system is to be automated and what other not.
Each input data flow in the DFD may translate into one or more of the physical inputs to the
system. Thus it is easy to identify the DFD processes, which would input the data from outside
sources.
Knowing now the details of what data elements to input, the GUI designer prepares a list of
input data elements.
When the input form is designed the designer ensures that all these data elements are
provided for entry, validations and storage.

3) Identify input controls :

Input integrity controls are used with all kinds of input mechanisms. They help reduce the
data entry errors at the input stage. One more control is required on the input data to ensure
the completeness.
Various error detection and correction methods are employed these days. Some of them
arelisted as follows :i.
Data validation controls introduce an additional digit called as check digit which
is inserted based on some mathematical formula. The data verification step

42

recalculates, if there is an data entry error, the check digit would not match and
flag error.
ii.
Range of acceptable values in a data item can also be used to check the defects
going into the data. If the data value being entered is beyond the acceptable range,
it flags out an error.
iii.
References to master data tables already stored can be used to validate codes,
such as customer codes, product codes, etc. if there is an error then either the
reference would not be available or will be wrong.
iv.
Some of the controls are used in combination depending upon the business
knowledge.
Transaction logging is another technique of input control. It logs important data base update
operations by user. The transaction log records the user Id, date, time, location of user. This
information is useful to control the fraudulent transactions, and also provides recovery
mechanisms for erroneous transactions.

4) Prototype input forms for better design :


i.

Use the paper form for recording the transaction mainly, if an evidence is required or direct
data capture is not feasible.
Provide help to every data element to be entered.
It should be easy to use, appear natural to the user and should be complete.
The data elements asked should be related in logical order. Typically, the left to right and top
to bottom order of entry is more natural.
A form should not have too many data elements in one screen display.

ii.
iii.
iv.
v.

The prototype form can be provided to the users. The steps are as follows :
a) The users should be provided with the form prototype and related functionality including
validations, help, error messages.
b) The users should be invited to use the prototype forms and the designers should observe them.
c) The designers should observe their body language, in terms of ease of use, comfort levels,
satisfaction levels, help asked etc. they also should note the errors in the data entry.
d) The designers should ask the users their critical feedback.
e) The designers should improve the GUI design and associated functionality and run second test runs
for the users in the same way.
f) This exercise should be continued until the input form delivers expected levels of usability.
Q 21 (b) Economic feasibility analysis ?
Ans : Economic feasibility consists of two tests :

Is the anticipated value of benefits greater than the projected costs of development.
Does the organization have adequate flow to find theproject during the development period?

As soon as specific requirements and solutions have been identified, the analyst can weigh the costs and
benefits of each alternative. This is called costs benefit analysis.
o Variable costs occur in proportion to some usage factor. For eg :
Costs of computer usage (eg : CPU time used) which vary with the
workload.
Supplies ( printer paper used) which vary with the workload.
Overhead costs ( utilities) which can be allocated throughout the lifetime of the
system using standard techniques of cost accounting.
Benefits
Benefits are classified as tangible and intangible.
Tangible benefits: They are those benefits that can be easily quantified. Tangible benefits are
usually measured in terms of monthly or annual savings or of profits to the firm. Eg: fewer
processing errors, decreased response time etc.

43

Intangible benefits : they are those benefits believed to be difficult or impossible to quantify.
Unless these benefits are at least identified, it is entirely possible that many projects would not be
feasible. Eg: improved customer goodwill, better decision making etc.

Cost benefit analysis :


a) The cost benefit analysis is a part of economic feasibility analysis :
b) The basic tasks here are as follows:
i.
To compute the total costs involved.
ii.
To compute the totals benefits from the project.
iii.
Top compare to decide, if the project provides more net gains or no net gains.
c) The costs are classified under two heads :
i.
Development costs :
Although the project manager has final responsibility for estimating the costs of development,
senior analyst always assists with the calculations. Generally project costs come in the
following categories :
Salaries and wages
Software and licenses
Training
Facilities
Support staff.
ii) Operational costs :
Once the system is up and running, normal operating costs are incurred every year. These
annual operating costs must also be accounted for calculating costs and benefits of the new
system. The following is the list of different operational cost :
Connectivity
Equipment maintenance
Computer operations
Supplies
Sources of benefits :
Benefits are usually come under two major sources : decreased costs or increased revenues.
Costs savings come from greater efficiency in the operations of the company. Areas to look for reduced
costs include the following :
Reducing staff due to automating manaual functions or increasing efficiency.
Maintaining constant staff with increasing volumes of work.
Decreasing operating expenses, such as shipping charges for emergency shipments.
Reducing error rates due to automated editing or validation.
Reducing bad accounts or bad credit losses.
Collecting accounts receivables more quickly.
Reducing the costs of goods with the volume discounts and purchases.
Financial calculations :
There are two popular techniques to access economic feasibility also called as costs effectiveness.

Payback analysis : The payback analysis technique is simple and popular method for determining
if and when an investment will be beneficial or not. The payback period, sometimes called the
break- even point, is the point in time at which the increased cash flow exactly pays off the costs of
development and operation.
Return on investments analysis : The return on investment (roi) analysis technique compares
the lifetime profitability of alternatives solutions or projects. The ROI for solutions or project is a
percentage rate that measures the relationship between the amount the business gets back from
an investment and the amount invested. The lifetime ROI for a potential solution or project is
calculated as follows :

44

Lifetime ROI = (Estimated benefits estimated lifetime costs)

Q 21 (c) Structural walkthroughs ?


Ans : it is described as follows :
a) The structured walkthrough is a technique to verify and validate the system requirements.
b) Verifying involves that right requirements have been incorporated into the system requirements
documentation and validation involves that the models used to represent these requirements
communicate the system requirements correctly.
c) Thus it is a technique used to assure quality into the system development very early in the SDLC,
right early at the stage of requirements specifications.
d) It is called as structured b.coz most system analyst follow it as a part ofste of procedures of
quality assurance and also b.coz of that there are slightly formal in terms of the specific
procedures to invite the meeting, recording the major agreements, etc.
e) Systems analysts carry out a structured walkthrough with the help of a documented system
requirements, typically in the form of the System Requirements Specifications.
f) The objective is to highlight the inconsistencies and incompleteness in the system requirements.
g) Typically the systems analysts walk the team line by line or model by model through the
documentation and also describes the system requirements in simple English.
h) The other system analyst also think along and seek clarifications, where required. The system
analysts response reveals the details, if the requirements have been strong, but otherwise they
jointly discover the weakness.
i) Since this meeting is generally with peers, it is informal in its conduct. The bosses are generally
kept away, to foster free and open discussions.
j) The merit of the structured walkthrough is that it reveals the important deficiencies in the system
requirements specifications, which is otherwise being abstract very difficult to discover.
k) Also, for new or inexperienced system analysts, this technique provides learning or a growing
opportunity. This is useful for the development of organization also, to bring up maturity in its
system analysts.
l) The drawback of this technique is that since usually the systems analysts are invited from
outside of the team, the other projects also suffer from the absence of their system analysts. This
may be costly or may be cut short at times, hampering the effectiveness of the walkthrough.
Q 21 (d) Short note on Design reviews ?
Ans : Design review focuses on design specification for meeting previously identified
system requirements.
The purpose of this type of walkthrough is to determine whether the proposed design will
meet the requirement effectively and efficiently.
If the participants find discrepancies between the design and requirement, they will point out them
and discuss them.

45

22.What are the most important reasons why analysis use a Data
Dictionary. Give atleast One example illustrating each reason.
(M-03)
Analyst use data dictionaries for five important reasons
1. To manage the detail in large systems.
2. To communicate a common meaning.
3. To document the features of the system.
4. To facilitate analysis of the details in order to evaluate characteristics and determine
where system changes should be made.
5. To locate errors and omissions in the system.
Ans:
A data dictionary is a catalog - a repository of the elements in the system. Data dictionary is
list of all the elements composing the data flowing through a system. The major elements are
data flows, data stores, and processes.
Analysts use data dictionary for five important reasons:
1. To manage the details in large systems:- Large systems have huge volumes of data flowing
through them in the form of documents, reports, and even conversations. Similarly, many
different activities take place that use existing data or create new details. All systems are
ongoing all of the time and management of all the descriptive details is a challenge. So the
best way is to record the information.
2. To communicate a common meaning for all system elements:- Data dictionaries assist in
ensuring common meanings for system elements and activities.
For example: Order processing (Sales orders from customers are processed so that specified
items can be shipped) have one of its data element invoice. This is a common business term
but does this mean same for all the people referring it?
Does invoice mean the amount owed by the supplier?
Does the amount include tax and shipping costs?
How is one specific invoice identified among others?
Answers to these questions will clarify and define systems requirements by more completely
describing the data used or produced in the system.
Data dictionaries record additional details about the data flow in a system so that all
persons involved can quickly look up the description of data flows, data stores, or processes.
3. To document the features of the system :- Features include the parts or components and the
characteristics that distinguish each. We want to know about the processes are data stores.
But we also need to know under what circumstances each process is performed and hoe often
the circumstances occur. Once the features have been articulated and recorded, all
participants in the project will have a common source for information about the system.
For example: Payment voucher vendor details include field vendor telephone in which area
can be optional if local phone. Item details can be repeated for each item. Purchasing
Authorisation field may be added after invoice arrives if special order.
4. To facilitate analysis of the details in order to evaluate characteristics and determine where
system changes should be made:- The fourth reason for using data dictionaries is to
determine whether new features are needed in a system or whether changes of any type are
in order.
For example: University is considering allowing its students to register for course by dialing
into an online registration system over touch-tone telephones. Then a system analyst will
focus on following system characteristics:
Nature of transactions: What additional features are needed to permit registration by touchtone phone? How will payments be received if students do not choose to pay by credit card?
Will the system permit the processing of course registration transaction where payment is by
bank credit card?

46

Inquiries: Student & course descriptive data are in two separate files that are currently not
linked together. How can we make the data jointly available for advisors who wish to assist
students in program planning & course scheduling?
Output & Report Generation: How can we identify those student who will register for courses
over touch-tone telephones so that they can be listed on a separate report? How do we
provide these same students with a signed registration record as we now do for those
registering on-site?
Files & Databases: What data must be captured to verify the accuracy and authenticity of
transactions arriving over telephones?
System Capacity: How many students can register simultaneously over touch-tone
telephones? What are the current & the anticipated numbers of student that can be registered
in one hour?
5. Locate errors & omissions:- To know that the information itself is complete & accurate we use
data dictionaries. It helps to locate errors in the system description. Conflicting dataflow
descriptions, processes that neither receive input nor generate output, data stores that are
never updated, etc. indicate incomplete or incorrect analysis that we want to correct before
determining that changes are needed.

47

23.Consider a road-side news paper shopGive a typical Data


Dictionary for its Operations (M-03).

48

24.Describe, with example ,the Entity-Realtionship Diagram (ERD).


Use those examples and show how you will derive a Data
Structure Diagram(DSD)from them(M-03).
The object relationship pair is the corner stone of data model. A set of
primary components is identified for ER diagram : data objects, attributes, relationships & various
type indicators. The primary purpose of ERD is to represent data objects & their relationships.
Data objects are represented by a labeled rectangle. Relationships are indicated with a labeled
line connecting objects. In some variations of ER diagrams, the connecting line contains a diamond shape
that is labeled with a relationship. Connections between data objects and relationships are established
using a variety of special symbols that indicate cardinality & modality.
The following is the example of ERD with two entities customer and order.

L ic e n s e

D e a le r s h ip

S to c k s

M a n u fa c tu re r

B u ild s

C ar

C o n tr a c ts

S h ip p e r

T ra n s p o rts

Ans: Entity relationship diagram show the entities and relationships graphically. For example
taking order requires the relating of the 3 distinct entities of order, customer and inventory.

49

Entity Relationship diagram


One customer may
Place many orders

Each order is for one


customer

CUSTOMER

ORDE
R
One order may
Include many
items
Items may be included
On many orders

ITEM

Dependencies between entities

Entity relationships are described by their dependence on each other as well as by the extent
of the relationship.
Entity dependency are of 2 types existence dependency one entity is enable to exist in the database
unless the other is first present & identification dependency an entity cannot be uniquely identified by its
own attributes. In given example orders cannot exist unless there is first a customer.
Extent of dependency includes 2 interrelated concerns: the direction of the relationship & the type of
association between them. In the given example customer entity points to order entity as indicated by
crows foot. The relationship means that customers own/have orders.
Once the entities & relationships are determined we need to focus on data requirements for each entity.

50

In addition to the basic components we have already identified in a data structure diagram- entities ,
attributes, and records- two additional elements are essential:
Attribute pointers: Link two entities by common information, usually a key attribute in one and an attribute
(non key)in another.
Logical pointers: identify the relationship b/w entities, serve to gain immediate access to the information
in one entity by defining a key attribute in another entity.

51

25.Consider a factory making garments. One sequence of actions


starts with the factory receiving an order. Raw materials and bought
Work distributed among the workers. Finished goods are checked and
packed. When the total number of garments are ready. The packed cartoons are counted, a
packing list made, an Invoice prepared and they
are shipped. Give the ERD and DSD for this sequence of actions .Give a
sample, single record of the resulting database that will result from this ERD and DSD.(M-03).
The ERD will be..

Cust_i
d

Cust_name

Cust_add

Customer

Give
The
Orde
r To

Su
ppl
y
Name
Ra
w
Ma
teri
alSupplier

General
Manager

Ma
nag
er
Production Manager
id

Gi
ve
id

Tel.No

Dept No,

Gi

ves

or
Supplier
id

SupSup
plierplier
NamAdd
e ress

Dept
No.

Mgr.
Name
e

Wo

Workers

Giv
es
Ord
er
Det
ails

rk
To

Name

To

Dept

Id

Account Manager

Mgr
Id

Dept
Name

52

And the DSD will be..

Order
Customer

Order_No

Cust_Id

Order_Type

Cust Name

Order_Qunatity

Cust Add

Order_Price

Cust_Tel

Cust_Id
General Mgr_Id
Supplier_Id

Supplier

General Manger

Supplier_Id

Manager_Id

Supplier_name

Name

Supplier_add

Department No.

Supplier_Tel no

Worker
Worker_id
Prod._Manager_Id
Worker_name

Tele no

Production Manager
Manager_id
Name
Department No.
Tel.No
Genera_ Mgr_Id

Account Manager
Id
Name
Dept_no
Tel_no
General_Mgr

53

26.Write short notes on(M-03)


a. Use CASE Tools in the requirements phase
b. Types of Documentations.
c. rapid application development
d. requirement of a good system analyst
Types of Documentation
Documentation is an important part of software engineering that is often overlooked. Types of
documentation include:

Architecture/Design - Overview of software. Includes relations to an environment and construction


principles to be used in design of software components.
Technical - Documentation of code, algorithms, interfaces, and APIs.
End User - Manuals for the end-user, system administrators and support staff.
Marketing - Product briefs and promotional collateral

Architecture/Design Documentation
Architecture documentation is a special breed of design documents. In a way, architecture documents are
third derivative from the code (design documents being second derivative, and code documents being
first). Very little in the architecture documents is specific to the code itself. These documents do not
describe how to program a particular routine, or even why that particular routine exists in the form that it
does, but instead merely lays out the general requirements that would motivate the existence of such a
routine. A good architecture document is short on details but thick on explanation. It may suggest
approaches for lower level design, but leave the actual exploration trade studies to other documents.
Technical Documentation
This is what most programmers mean when using the term software documentation. When creating
software, code alone is insufficient. There must be some text along with it to describe various aspects of its
intended operation. This documentation is usually embedded within the source code itself so it is readily
accessible to anyone who may be traversing it.
User Documentation
Unlike code documents, user documents are usually far divorced from the source code of the program, and
instead simply describe how it is used.
In the case of a software library, the code documents and user documents could be effectively equivalent
and are worth conjoining, but for a general application this is not often true. On the other hand, the Lisp
machine grew out of a tradition in which every piece of code had an attached documentation string. In
combination with strong search capabilities (based on a Unix-like apropos command), and online sources,
Lispm users could look up documentation and paste the associated function directly into their own code.
This level of ease of use is unheard of in putatively more modern systems.

Marketing Documentation
For many applications it is necessary to have some promotional materials to encourage casual observers
to spend more time learning about the product. This form of documentation has three purposes:-

54

1. To excite the potential user about the product and instill in them a desire for
becoming more involved with it.
2. To inform them about what exactly the product does, so that their expectations are
in line with what they will be receiving.
To explain the position of this product with respect to other alternatives.
Requirement/Characteristics of Good Requirements
As described above, a list of system requirements contains a complete description of the important
requirements for a product design. From this list, subsequent design decisions can be based. Of course, if
one is to place their trust in them, we must assume that all the requirements in such a list are good. This
raises the question, How does one differentiate between good requirements and those that are not so
good?
It turns out that good requirements have the following essential qualities:
1. A good requirement contains one idea. If a requirement is found to contain more than one idea then it
should be broken into two or more new requirements.
2. A good requirement is clear; that is, the idea contained within it is not open to interpretation. If any
aspects of a
requirement are open to interpretation then the designer should consult the relevant parties and clarify the
statement.
3. Requirements should remain as general as possible. This ensures that the scope of the design is not
unnecessarily limited.
4. A good requirement is easily verifiable, that is, at the end of the design process it is possible to check
whetherthe requirement has been met.
These criteria apply to both user and systems requirements. Examples are given in the section below.
In addition to the qualities listed above, a set of good requirements should completely describe all aspects
relevant to aproducts design.
Examples
User Requirement
A good user requirement is listed below
The seat shall be comfortable for 95% of the population of each country in which the vehicle is sold.
It meets the three criteria as follows:
1. It contains one idea. If the requirement had also made reference to leg room, then the requirement
would need to have been broken into two requirements.
2. It is easily verifiable. The statement has given quantitative limits from which the seat can be designed.
Stating that, The seat shall be comfortable for the majority of its intended users, would be unacceptable.
3. The requirement is general. The requirement does not state how the seat should be made so as to be
Comfortable for 95% of the population. To do so would unnecessarily narrow the scope, and limit the
design
process.
4. The requirement is verifiable. To test whether the seat is comfortable or uncomfortable for the right
number of people, you need only get people to sit in it, and see if during normal operation they experience
discomfort.

Use Case Tool


What is a use case?
A use case is a description of how users will perform tasks on your Web site.

55

A use case includes two main parts:

the steps a user will take to accomplish a particular task on your site
the way the Web site should respond to a user's actions
A use case begins with a user's goal and ends when that goal is fulfilled.

What does a use case describe?


A use case describes a sequence of interactions between a user and a Web site, without specifying the
user interface.
Each use case captures:

The actor (who is using the Web site?)


The interaction (what does the user want to do?)
The goal (what is the user's goal?)

How do you write a use case?


Generally, you write the steps in a use case in an easy-to-understand narrative. This engages members of
the design team and encourages them to be actively involved in defining the requirements.
Kenworthy (1997) outlines eight steps to developing use cases:
1. Identify who is going to be using the Web site.
2. Pick one of those actors.
3. Define what that actor wants to do on the site. Each thing the actor does on the site becomes a use
case.
4. For each use case, decide on the normal course of events when that actor is using the site.
5. Describe the basic course in the description for the use case. Describe it in terms of what the actor
does and what the system does in response that the actor should be aware of.
6. When the basic course is described, consider alternate courses of events and add those to "extend"
the use case.
7. Look for commonalities among the use cases. Extract these and note them as common course use
cases.
Repeat the steps 2 through 7 for all other actors.

56

27.Consider the DFD given in the figure below


If Item is available, customer buys it and makes cash payment. Add these details and
redraw the DFD. Give a sample entry in each of above 3 database in the original DFD. In
your modification, do you need a new database ? If yes, describe it in terms of sample entry.
If no, justify that the 3 databases can contain the additional information and give a sample
entry in modified 3 databases.
Catalogue
item

Customer

Product item

Availability
Details

Inventory item

Catalogue
item

Customer

Product item

Availability
Details

Inventory item

cash
Customer
We need an extra database for sale of a product to a customer after he/she has paid the cash as the same
details can be recorded in the customer database and to check out later if he returns the product or if sale
is made on credit basis or cash n the records of customers is need for future use. This is clearly seen by
the sample entry of the customer database.
Product Item
Name
Milk
Soap
Pen
Name

Address

ABC

Xyz

Availability
Y
Y
N
Phone Products
NO
Purchased
5641
Milk,Soap

LMN
PQR

Jkn
Jsur

323
6543

Milk
Soap

Quantiity Available
100 liters
2 pieces
Quantiity
Purchased
1 liters,1
piece
2 liters
1 Piece

Total
Amount
35

Price/unit
15
20
10
Cash/Cre Return
dit
Cash
Y

30
20

Credit
Cash

N
N

Customer

57

28.Explain RAD model?(m-04)


Rapid Application Development
Rapid Application Development (RAD) is an incremental software development process model that
emphasises a very short development cycle [typically 60-90 days]. The RAD model, shown in Fig. 1.5, is a
high-speed adaptation of the waterfall model, where the result of each cycle a fully functional system.

RAD is used primarily for information systems applications, the RAD approach encompasses the following
phases:

58

Business modeling
The information flow among business functions is modeled in a way that answers the following questions:
What information drives the business process?
What information is generated?
Who generates it?
Where does the information go?
Who processes it?
Data modeling
The information flow defined as part of the business modeling phase is refined into a set of data objects
that are needed to support the business. The characteristics (called attributes) of each object are identified
and the relationships between these objects are defined.
Process modeling
The data objects defined in the data-modeling phase are transformed to achieve the information flow
necessary to implement a business function. Processing descriptions are created for adding, modifying,
deleting, or retrieving a data object.
Application generation
RAD assumes the use of the RAD fourth generation techniques and tools like VB, VC++, Delphi etc rather
than creating software using conventional third generation programming languages. The RAD works to
reuse existing program components (when possible) or create reusable components (when necessary). In
all cases, automated tools are used to facilitate construction of the software.
Testing and turnover
Since the RAD process emphasizes reuse, many of the program components have already been tested.
This minimizes the testing and development time.
If a business application can be modularized so that each major function can be completed within the
development cycle then it is a candidate for the RAD model. In this case, each team can be assigned a
model, which is then integrated to form a whole.

Disadvantages

For Large (but scalable) projects, RAD requires sufficient resources to create the right number of
RAD teams.

RAD projects will fail if there is no commitment by the developers or the clients to rapid-fire
activities necessary to get a system complete in a much abbreviated time frame.

If a system cannot be properly modularized, building components for RAD will be problematic

RAD is not appropriate when technical risks are high, e.g. this occurs when a new application makes
heavy use of new technology.

59

29.What is the difference between system analysis and system design. How does the focus of information
system analysis differ from information system design?(m-04,m-05)
. System analysis is a problem solving technique that decomposes a system into its component pieces for
the purpose of studying how well the components parts work and interact to accomplish their purpose .
System Analysis:
System analysis is a problem solving technique that decomposes a system into its component
pieces for the purpose of studying how well those component parts work and interact to accomplish their
purpose
System design :
System design is a complimentary problem solving technique(to system analysis) that reassembles
a systems component pieces back into a complete system .This may involve adding deleting and changing
pieces relative to the original system.
Information system analysis:
Information system Analysis primarily focuses on the business problems and requirements,
independent of any technology that can or will be used to implement a solution to that problem .
Information system design:
Information system design is defined as those tasks that follow system analysis and focus on the
specification of a detailed computer based solution
Whereas system analysis emphasizes the business problems, system design focuses on the technical
implementation concerns of the system.

60

30.What are the elements of the cost benefit analysis?(m-05)


Cost/Benefit analysis:
Cost benefit analysis is a procedure that gives the picture of various costs, benefits and rules
associated with each alternative system.
Cost and benefit categories:
In developing cost estimates for a system we need to consider several cost elements among
them are the following:
1.

Hardware costs:
Hardware cost relate to the actual purchase or lease of the computer and peripherals
(e.g. printer, disk drive, tape unit etc .)Determining the actual costs of hardware is generally more
difficult when the system is shared by many users than for a dedicated stand alone system.
2.

Personnel costs:
Personnel costs include EDP staff salaries and benefits (health insurance, vacation time,
sick pay , etc.)as well as payment of those involved in developing the system . Costs incurred
during the development of a system are one time costs and are labeled development costs.
3.

Facility cost:
Facility costs are facilities incurred in the preparation of the physical site where the
application of computer will be in operation. This includes wiring, flooring, lighting and air
conditioning .These costs are treated as one time costs
4.

Operating costs:
Operating costs include all costs associated with the day to-day operation of the
system. The amount depends on the number shifts the nature of the applications and the caliber of
the operating staff. The amount charged is based on computer time, staff time and volume of the
output produced.
5.

Supply cost:
Supply costs are variable costs that increase with increased use of paper, ribbons, disks and
the like.
Procedure for cost benefit determination:
The determination of cost and benefit entails the following steps :
1.
Identify the cost and benefits pertaining to a given project
2.
Categorize the various costs and benefits for analysis
3.
Select a method for evaluation
4.
Interpret the result of the system
5.
Take action
Classification of costs and benefits:
1.
a.

b.

Tangible and intangible costs and benefits


Tangibility refers to the ease with which costs or benefits can be measured. An outlay
of cash for a specific item or activity is referred to as tangible costs. The purchase of
hardware or software personnel training and employee salaries are examples of
tangible costs.
Costs that are known to exist but its financial value cannot be accurately measured
are referred to as intangible costs .For example employee morale problems caused
by a new system or lowered company image is an intangible cost.

c.

Benefits can also be classified as tangible and intangible .Tangible benefits such a s
completing jobs in fewer hours .

d.

Intangible benefits such as more satisfied customers or an improved corporate image


are not easily quantified .

61

2.

Direct or indirect costs and benefits :


a.
Direct costs are those with which a direct figure can be directly associated in a project .
b.
Indirect costs are the results of operation that are directly associated with a given system or
activity

3.

Fixed or variable cost and benefits


a.
b.

Fixed costs are sunked costs .They are constant and d not change
Variable costs are incurred on regular basis .they are usually proportional to work volume
and continue as long as the system is in operation.

Examples of tangible benefits


Fewer processing errors
Increased throughput
Elimination of job steps
Examples of intangible benefits
Improved customer goodwill
Improved employers morale
Better service to community
Evaluation method :
1.
Net benefit analysis
Net benefit analysis simply involves subtracting total costs from total benefits .Its
easy to calculate , easy to interpret and easy to present .its main drawback is that it does
not account for the time value for money and does not discount future cash flow
The time value in money is usually expressed in the form of interest on the funds
invested to realize the future value. Assuming the compound interest the formula is
F=P(L+i)^n
Where F=future value of an investment
P=present value of the investment
I=interest rate pre compounding year
N=number of years
2.

Present value analysis:


In developing long term projects , it is often difficult to compare todays cost with the full
value of tomorrows benefits Present value analysis controls for these problems by
calculating the costs and benefits of the system in terms of todays value of the investment
and then comparing across alternatives
Present value = future value/(1+i)^n
Net price value =discounted value-discounted costs

3.

Payback analysis:
The payback method is a common measure of the relative time value of a project .It is easy
to calculate and allows two or more activities to be ranked .The payback period may be
computed by the following formula
Overall cash outlay/Annual cash return=
+Ins.Time/Years to recover
Element of the formula :
A=capital investment B=investment credit

(A*B)+(C*D)/5+2=Years

62

C=Cost investment
D=Companies income tax
E=state and local taxes
F=Life of capital
G=Time to install system
H=Benefit and savings
4.

5.
6.

Break even analysis:


Break even analysis is a point where the cost of the candidate system and that of the
current one are equal. Break even analysis compares the cost of the current and candidate
system .When a candidate system is developed initial costs usually exceed those of the current
system. This is an investment period .When both costs are equal, it is break even analysis
Cash flow analysis:
Cash flow analysis keeps a track of accumulated cost and revenues on a regular basis.

Return of investment analysis:


The ROI technique analysis compares the life time probability of alternative solution and
projects
ROI=Estimated life time benefits-Estimated costs /Estimated life time costs

63

31.Summarize the procedure for developing DFD?(m-05)


Using your own example illustrate?(m-06)
Developing a DFD
Step1.

Step2.

Make a list of business activities and use it to determine:


a.
External entities i.e. source and sink
b.
Data flows
c.
Processes
d.
Data stores
e.
Draw a context level diagram:
Context level diagram is a top level diagram and contain sonly one process
representing the entire system .It determines the boundaries of the system .Anything
that is not inside the diagram will not be the part of the system study

Step3.

Develop process chart


It is also called as hierarchy chart or decomposition diagram .It shows top down
functional decomposition of the system
Step4.

Step5.

Develop the first level dfd:


Its also known as diagram 0 or level 0diagram.Its the explosion of the context level
diagram It includes data stores and external entities. Here the processes are number

Draw more detailed level :


Each process in diagram 0 may in turn be exploded to create a more detailed DFD.
New data flows and data stores are added .There are further decomposition/leveling of process

64

32.What is the reason for selecting the prototype development method? What is the desired impact on
the application development process?(m-05)
1. Prototyping is a technique for quickly building a functioning but incomplete model of the information
system.
2. A prototype is a small, representative, or working model of users requirements or a proposed design for
an information system.
3. The development of the prototype is based on the fact that the requirements are seldom fully know at
the beginning of the project. The idea is to build a first, simplified version of the system and seek feedback
from the people involved, in order to then design a better subsequent vesion. This process is repeated until
the system meets the clients condition of acceptance.
4. any given prototype may omit certain functions or features until such a time as the prototype has
sufficiently evolved into an acceptable implementation of requirements.
Reason for Protoyping:
6. information requirements are not always well defined. Users may know only that certain business
areas need improvement or that the existing procedures must be changed. Or, they may know that
they need better information for managing certain activities but are not sure what that information
is.
7. the users requirements may be too vague to even begin formulating a design.
8. developers may have neither information nor experience of some unique sitations or some highcost or high-risk situations, in which the proposed design is new and untested.
9. developers may be unsure of the efficiency of an algorithm, the adaptability of an operating
system, or the form that human-machine interaction should take.
10. in these and many other situations, a prototyping approach may offer the best approach.
Advantages:
5.
6.
7.
8.

Shorter development time.


more accurate user requirements
greater user participation and support
relatively inexpensive to build as compared with the cost of conventional system.

This method is most useful for unique applications where developers have little information or
experience or where risk of error may be high. It is useful to test the feasibility of the system or to
identify user requirements.

65

33.What is the feasibility study? Hat are different types of feasibility study?(m-05)
Feasibility study

A feasibility study is a preliminary study undertaken before the real work of a project starts to ascertain
the likelihood of the project's success. It is an analysis of possible alternative solutions to a problem and a
recommendation on the best alternative. It, for example, can decide whether an order processing be
carried out by a new system more efficiently than the previous one.
A feasibility study could be used to test a new working system, which could be used because:

The current system may no longer suit its purpose,


Technological advancement may have rendered the current system redundant,
The business is expanding, allowing it to cope with extra work load,
Customers are complaining about the speed and quality of work the business provides,
Competitors are now winning a big enough market share due to an effective integration of a
computerized system.

Types of Feasibility
Within a feasibility study, six areas must be reviewed, including those of Economics, Technical, Schedule,
Organizational, Cultural, and Legal.
Economic feasibility study
This involves questions such as whether the firm can afford to build the system, whether its benefits
should substantially exceed its costs, and whether the project has higher priority and profits than other
projects that might use the same resources. This also includes whether the project is in the condition to
fulfill all the eligibility criteria and the responsibility of both sides in case there are two parties involved in
performing any project.
Technical feasibility study
This involves questions such as whether the technology needed for the system exists, how difficult it will
be to build, and whether the firm has enough experience using that technology.The assessment is based
on an outline design of system requirements in terms of Input, Output, Fields, Programs, and
Procedures.This can be qualified in terms of volumes of data,trends,frequency of updating,etc..in order to
give an introduction to the technical system.

Schedule Feasibility study


This involves questions such as how much time is available to build the new system, when it can be built
(i.e. during holidays), whether it interferes with normal business operation, etc.
Organizational Feasibility study
This involves questions such as whether the system has enough support to be implemented successfully,
whether it brings an excessive amount of change, and whether the organization is changing too rapidly to
absorb it.

66

Cultural Feasibility study


In this stage, the project's alternatives are evaluated for their impact on the local and general culture. For
example, environmental factors need to be considered.
Legal Feasibility study
Not necessarily last, but all projects must face legal scrutiny. When an organization either has legal council
on staff or on retainer, such reviews are typically standard. However, any project may face legal issues
after completion too.
Marketing Feasibility study
This will include analysis of single and multi-dimensional market forces that could affect the commercial

67

34.Explain briefly by example ?


a. decision table
b. Decision tree.
c. Structured English
d. Data dictionary
Decision Trees, Decision Tables, and Structured English are tools used to represent process logic.
Decision table
Decision tables are a precise yet compact way to model complicated logic. Decision tables, like if-thenelse and switch-case statements, associate conditions with actions to perform. But, unlike the control
structures found in traditional programming languages, decision tables can associate many independent
conditions with several actions in an elegant way.
Structure
Decision tables are typically divided into four quadrants, as shown below.
The four quadrants
Conditio
ns

Condition
alternatives

Actions

Action entries

Each decision corresponds to a variable, relation or predicate whose possible values are listed among the
condition alternatives. Each action is a procedure or operation to perform, and the entries specify whether
(or in what order) the action is to be performed for the set of condition alternatives the entry corresponds
to. Many decision tables include in their condition alternatives the don't care symbol, a hyphen. Using don't
cares can simplify decision tables, especially when a given condition has little influence on the actions to
be performed. In some cases, entire conditions thought to be important initially are found to be irrelevant
when none of the conditions influence which actions are performed.
Aside from the basic four quadrant structure, decision tables vary widely in the way the condition
alternatives and action entries are represented. Some decision tables use simple true/false values to
represent the alternatives to a condition (akin to if-then-else), other tables may use numbered alternatives
(akin to switch-case), and some tables even use fuzzy logic or probabilistic representations for condition
alternatives. In a similar way, action entries can simply represent whether an action is to be performed
(check the actions to perform), or in more advanced decision tables, the sequencing of actions to perform
(number the actions to perform).
Example
The limited-entry decision table is the simplest to describe. The condition alternatives are simple Boolean
values, and the action entries are check-marks, representing which of the actions in a given column are to
be performed.
A technical support company writes a decision table to diagnose printer problems based upon symptoms
described to them over the phone from their clients.
Printer troubleshooter

Conditio
ns

Printer does not print

Y Y Y Y N N N N

A red light is flashing

Y Y N N Y Y N N

Printer is unrecognized

Y N Y N Y N Y N

68

Check the power cable

Actions

Check the printer-computer


cable

Ensure printer software is


installed

Check/replace ink

X X

Check for paper jam

X X
X

Of course, this is just a simple example (and it does not necessarily correspond to the reality of printer
troubleshooting), but even so, it is possible to see how decision tables can scale to several conditions with
many possibilities.
Software engineering benefits
Decision tables make it easy to observe that all possible conditions are accounted for. In the example
above, every possible combination of the three conditions is given. In decision tables, when conditions are
omitted, it is obvious even at a glance that logic is missing. Compare this to traditional control structures,
where it is not easy to notice gaps in program logic with a mere glance --- sometimes it is difficult to follow
which conditions correspond to which actions!
Just as decision tables make it easy to audit control logic, decision tables demand that a programmer think
of all possible conditions. With traditional control structures, it is easy to forget about corner cases,
especially when the else statement is optional. Since logic is so important to programming, decision tables
are an excellent tool for designing control logic. In one incredible anecdote, after a failed 6 man-year
attempt to describe program logic for a file maintenance system using flow charts, four people solved the
problem using decision tables in just four weeks. Choosing the right tool for the problem is fundamental.
Decision tree
In operations research, specifically in decision analysis, a decision tree is a decision support tool that
uses a graph or model of decisions and their possible consequences, including chance event outcomes,
resource costs, and utility. A decision tree is used to identify the strategy most likely to reach a goal.
Another use of trees is as a descriptive means for calculating conditional probabilities.
In data mining and machine learning, a decision tree is a predictive model; that is, a mapping from
observations about an item to conclusions about its target value. More descriptive names for such tree
models are classification tree or reduction tree. In these tree structures, leaves represent
classifications and branches represent conjunctions of features that lead to those classifications [1]. The
machine learning technique for inducing a decision tree from data is called decision tree learning, or
(colloquially)
Four major steps in building Decision Trees:
1.
2.
3.
4.

Identify
Identify
Identify
Identify

the
the
the
the

conditions
outcomes (condition alternatives) for each decision
actions
rules.

Decision Tree Example

69

Structured English
The two building blocks of Structured English are (1) structured logic or instructions organized into nested
or grouped procedures, and (2) simple English statements such as add, multiply, move, etc. (strong,
active, specific verbs)
Five conventions to follow when using Structured English:
1.
2.
3.
4.

Express all logic in terms of sequential structures, decision structures, or iterations.


Use and capitalize accepted keywords such as: IF, THEN, ELSE, DO, DO WHILE, DO UNTIL, PERFORM
Indent blocks of statements to show their hierarchy (nesting) clearly.
When words or phrases have been defined in the Data Dictionary, underline those words or phrases
to indicate that they have a specialized, reserved meaning.
5. Be careful when using "and" and "or" as well as "greater than" and "greater than or equal to" and
other logical comparisons.

70

Data dictionary
A data dictionary is a set of metadata that contains definitions and representations of data elements.
Within the context of a DBMS, a data dictionary is a read-only set of tables and views. Amongst other
things, a data dictionary holds the following information:

Precise definition of data elements


Usernames, roles and privileges
Schema objects

Attribute

Data
type

Book_Id

Number

Bk_name

Text

Stud_Id

Number

Bk_author

Text

Si
ze

Integrit
y

Description

Primary
key

Book Identity

30
4
20

Name of book
Foreign
Key

Student
Identity
Name
of
author
Price of book

Integrity constraints

Stored procedures and triggers

General database structure

Space allocations

One benefit of a well-prepared data


dictionary is a consistency between
Bk_price
Number
3
data items across different tables. For
Bk_edition
Text
6
Number
of example, several tables may hold
edition
telephone numbers; using a data
dictionary the format of this telephone number field will be consistent.
When an organization builds an enterprise-wide data dictionary, it may include both semantics and
representational definitions for data elements. The semantic components focus on creating precise
meaning of data elements. Representation definitions include how data elements are stored in a computer
structure such as an integer, string or date format (see data type). Data dictionaries are one step along a
pathway of creating precise semantic definitions for an organization.
Initially, data dictionaries are sometimes simply a collection of database columns and the definitions of
what the meaning and types the columns contain. Data dictionaries are more precise than glossaries
(terms and definitions) because they frequently have one or more representations of how data is
structured. Data dictionaries are usually separate from data models since data models usually include
complex relationships between data elements.
Data dictionaries can evolve into full ontology (computer science) when discrete logic has been added to
data element definitions.

Example of data Dictionary


Library Management System (Data Dictionary of Book Details)

71

35.What is normalization? What is purpose of normalization of database?(m-06)


Normalization
Broadly, normalization (also spelled normalisation) is any process that makes something more normal,
which typically means conforming to some regularity or rule, or returning from some state of abnormality.
It has specific meanings in various fields:
Audio normalization
Database normalization, used in database theory.
Knowledge normalization
Normalization of a wave function in quantum mechanics
Normalization (people with disabilities)
Normalizing constant, used in mathematics, perhaps most often in probability theory
Normalization (Czechoslovakia), the restoration of the conditions prevalent before the reform in
Czechoslovakia, 1969
Normalization (economics), which pertains when only relative prices matter
Normalization (image processing)
Normalization (metallurgy)
Normalization (sociology), used in sociology.
Normalization (statistics)
Normalization model (visual neuroscience)
Normalization of a function (in general calculus) is the process of removing a discontinuity (or singularity).
Normalization property, used in Raymond's term rewriting systems
Range normalization
Text normalization
Normalization of relations, a concept in diplomacy
Normalization of speech sounds in speech perception

Database normalization

Database normalization is a data design and organization process applied to data structures based on
rules that help build relational databases. In common terms it defines the buckets, fields, columns or blank
spots on a form and how that is to be kept in the file, table or form. In sequential files a field is a
component of a file and in Data Base terms a column belongs to a table and in data design terms an
element belongs to an entity. Normalization defines the entity and the elements in it according to a series
of rules. These rules are called normal forms and they are numbered. The first rule of normalization is also
called first normal form. The term normalization has come to imply the data is in third normal form or
more. Normalization helps; prevent data anomalies, support a single consistent version of the truth and
reduces input and output delays as well as reducing memory usage. This generally speeds up response
time. It is an industry best practice method of file or table or entity design.

Purpose
The primary purpose of database normalization is to improve data quality through the elimination of
redundancy. This involves identification and isolation of repeating data, so that the repeated information
may be reduced down to a single record, then conveniently retrieved wherever it is needed, reducing the
potential for anomalies during data operations. Maintenance of normalized data is simpler because the
user need only modify the repeated information in one place, with confidence that the new information will
be immediately available wherever it is needed. This is because all data duplication is system maintained
by key field inheritance.

72

Uses
Database normalization is a useful tool for requirements analysis and data modeling processes in software
development. The process of database normalization provides many opportunities to improve
understanding of the information which the data represents, leading to the development of a logical data
model which may be used for design of tables in a relational database, classes in an object database, or
elements in an XML schema, to offer just a few examples.
Description
A non-normalized database can suffer from data anomalies:

A non-normalized database may store data representing a particular referent in multiple locations.
An update to such data in some but not all of those locations results in an update anomaly,
yielding inconsistent data. A normalized database prevents such an anomaly by storing such data
(i.e. data other than primary keys) in only one location.
A non-normalized database may have inappropriate dependencies, i.e. relationships between data
with no functional dependencies. Adding data to such a database may require first adding the
unrelated dependency. A normalized database prevents such insertion anomalies by ensuring
that database relations mirror functional dependencies.
Similarly, such dependencies in non-normalized databases can hinder deletion. That is, deleting
data from such databases may require deleting data from the inappropriate dependency. A
normalized database prevents such deletion anomalies by ensuring that all records are uniquely
identifiable and contain no extraneous information.

Normalized databases have a design that reflects the true dependencies between tracked quantities,
allowing quick updates to data with little risk of introducing inconsistencies. Instead of attempting to lump
all information into one table, data is spread out logically into many tables. Normalizing the data is
decomposing a single relation into a set of smaller relations which satisfy the constraints of the original
relation. Redundancy can be solved by decomposing the tables. However certain new problems are caused
by decomposition.
One can only describe a database as having a normal form if the relationships between quantities have
been rigorously defined. It is possible to use set theory to express this knowledge once a problem domain
has been fully understood, but most database designers model the relationships in terms of an "idealized
schema". (The mathematical support came back into play in proofs regarding the process of transforming
from one form to another.)

73

36.what are the major threads in the system security. Which is one of the most serious and important and
why?
System Security Threats
ComAirs system crash on December 24, 2004, was just one example showing that the availability of data
and system operations is essential to ensure business continuity. Due to resource constraints,
organizations cannot implement unlimited controls to protect their systems. Instead, they should
understand the major threats, and implement effective controls accordingly. An effective internal control
structure cannot be implemented overnight, and internal control over financial reporting must be a
continuing process.
The term system security threats refers to the acts or incidents that can and will affect the integrity of
business systems, which in turn will affect the reliability and privacy of business data. Most organizations
are dependent on computer systems to function, and thus must deal with systems security threats. Small
firms, however, are often understaffed for basic information technology (IT) functions as well as system
security skills. Nonetheless, to protect a companys systems and ensure business continuity, all
organizations must designate an individual or a group with the responsibilities for system security.
Outsourcing system security functions may be a less expensive alternative for small organizations
Top System Security Threats
The 2005 CSI/FBI Computer Crime and Security Survey of 700 computer security practitioners revealed
that the frequency of system security breaches has been steadily decreasing since 1999 in almost all
threats except the abuse of wireless networks.
Viruses
A computer virus is a software code that can multiply and propagate itself. A virus can spread into another
computer via e-mail, downloading files from the Internet, or opening a contaminated file. It is almost
impossible to completely protect a network computer from virus attacks; the CSI/FBI survey indicated that
virus attacks were the most widespread attack for six straight years since 2000.
Insider Abuse of Internet Access
Annual U.S. productivity growth was 2.5% during the second half of the 1990s, as compared to 1.5% from
1973 to 1995, a jump that has been attributed to the use of IT (Stephen D. Oliner and Daniel E. Sichel,
Information Technology and Productivity: Where Are We Now and Where Are We Going?, Reserve Bank of
Atlanta Economic Review, Third Quarter 2002). Unfortunately, IT tools can be abused. For example, e-mail
and Internet connections are available in almost all offices to improve productivity, but employees may use
them for personal reasons, such as online shopping, playing games, and sending instant messages to
friends during work hours.
Laptop or Mobile Theft
Because they are relatively expensive, laptops and PDAs have become the targets of thieves. Although the
percentage has declined steadily since 1999, about half of network executives indicated that their
corporate laptops or PDAs were stolen in 2005 (Network World Technology Executive Newsletter,
02/21/05). Besides being expensive, they often contain proprietary corporate data, access codes
Denial of Service
A denial of service (DoS) attack is specifically designed to interrupt normal system functions and affect
legitimate users access to the system. Hostile users send a flood of fake requests to a server,
overwhelming it and making a connection between the server and legitimate clients difficult or impossible
to establish. The distributed denial of service (DDoS) allows the hacker to launch a massive, coordinated
attack from thousands of hijacked (zombie) computers remotely controlled by the hacker. A massive DDoS
attack can paralyze a network system and bring down giant websites. For example, the 2000 DDoS attacks

74

brought down websites such as Yahoo! and eBay for hours. Unfortunately, any computer system can be a
hackers target as long as it is connected to the Internet.
Unauthorized Access to Information
To control unauthorized access to information, access controls, including passwords and a controlled
environment, are necessary. Computers installed in a public area, such as a conference room or reception
area, can create serious threats and should be avoided if possible. Any computer in a public area must be
equipped with a physical protection device to control access when there is no business need. The LAN
should be in a controlled environment accessed by authorized employees only. Employees should be
allowed to access only the data necessary for them to perform their jobs.
Abuse of Wireless Networks
Wireless networks offer the advantage of convenience and flexibility, but system security can be a big
issue. Attackers do not need to have physical access to the network. Attackers can take their time cracking
the passwords and reading the network data without leaving a trace. One option to prevent an attack is to
use one of several encryption standards that can be built into wireless network devices. One example,
wired equivalent privacy (WEP) encryption, can be effective at stopping amateur snoopers, but it is not
sophisticated enough to foil determined hackers. Consequently, any sensitive information transmitted over
wireless networks should be encrypted at the data level as if it were being sent over a public network.
System Penetration
Hackers penetrate systems illegally to steal information, modify data, or harm the system.
Telecom Fraud
In the past, telecom fraud involved fraudulent use of telecommunication (telephone) facilities. Intruders
often hacked into a companys private branch exchange (PBX) and administration or maintenance port for
personal gains, including free long-distance calls, stealing (changing) information in voicemail boxes,
diverting calls illegally, wiretapping, and eavesdropping.
Theft of Proprietary Information
Information is a commodity in the e-commerce era, and there are always buyers for sensitive information,
including customer data, credit card information, and trade secrets. Data theft by an insider is common
when access controls are not implemented. Outside hackers can also use Trojan viruses to steal
information from unprotected systems. Beyond installing firewall and anti-virus software to secure
systems, a company should encrypt all of its important data
Financial Fraud
The nature of financial fraud has changed over the years with information technology. System-based
financial fraud includes scam e-mails, identity theft, and fraudulent transactions. With spam, con artists
can send scam e-mails to thousands of people in hours. Victims of the so-called 419 scam are often
promised a lottery winning or a large sum of unclaimed money sitting in an offshore bank account, but
they must pay a fee first to get their shares. Anyone who gets this kind of e-mail is recommended to
forward a copy to the U.S. Secret Service
Misuse of Public Web Applications
The nature of e-commerceconvenience and flexibilitymakes Web applications vulnerable and easily
abused. Hackers can circumvent traditional network firewalls and intrusion-prevention systems and attack
web applications directly. They can inject commands into databases via the web application user interfaces
and surreptitiously steal data, such as customer and credit card information.
Website Defacement

75

Website defacement is the sabotage of webpages by hackers inserting or altering information. The altered
webpages may mislead unknowing users and represent negative publicity that could affect a companys
image and credibility. Web defacement is in essence a system attack, and the attackers often take
advantage of undisclosed system vulnerabilities or unpatched systems.

Most Serious And Important


Viruses
A computer virus is a software code that can multiply and propagate itself. A virus can spread into another
computer via e-mail, downloading files from the Internet, or opening a contaminated file. It is almost
impossible to completely protect a network computer from virus attacks; the CSI/FBI survey indicated that
virus attacks were the most widespread attack for six straight years since 2000.
Viruses are just one of several programmed threats or malicious codes (malware) in todays interconnected
system environment. Programmed threats are computer programs that can create a nuisance, alter or
damage data, steal information, or cripple system functions. Programmed threats include, computer
viruses, Trojan horses, logic bombs, worms, spam, spyware, and adware.
According to a recent study by the University of Maryland, more than 75% of participants received e-mail
spam every day. There are two problems with spam: Employees waste time reading and deleting spam,
and it increases the system overhead to deliver and store junk data. The average daily spam is 18.5
messages, and the average time spent deleting them all is 2.8 minutes.
Spyware is a computer program that secretly gathers users personal information and relays it to third
parties, such as advertisers. Common functionalities of spyware include monitoring keystrokes, scanning
files, snooping on other applications such as chat programs or word processors, installing other spyware
programs, reading cookies, changing the default homepage on the Web browser, and consistently relaying
information to the spyware home base. Unknowing users often install spyware as the result of visiting a
website, clicking on a disguised pop-up window, or downloading a file from the Internet.
Adware is a program that can display advertisements such as pop-up windows or advertising banners on
webpages. A growing number of software developers offer free trials for their software until users pay to
register. Free-trial users view sponsored advertisements while the software is being used. Some adware
does more than just present advertisements, however; it can report users habits, preferences, or even
personal information to advertisers or other third parties, similar to spyware.
To protect computer systems against viruses and other programmed threats, companies must have
effective access controls and install and regularly update quarantine software. With effective protection
against unauthorized access and by encouraging staff to become defensive computer users, virus threats
can be reduced. Some viruses can infect a computer through operating system vulnerabilities. It is critical
to install system security patches as soon as they are available. Furthermore, effective security policies
can be implemented with server operating systems such as Microsoft Windows XP and Windows Server
2003. Other kinds of software (e.g., Deep Freeze) can protect and preserve original computer
configurations. Each system restart eradicates all changes, including virus infections, and resets the
computer to its original state. The software eliminates the need for IT professionals to perform timeconsuming and counterproductive rebuilding, re-imaging, or troubleshooting when a computer becomes
infected.
Fighting against programmed threats is an ongoing and ever-changing battle. Many organizations,
especially small ones, are understaffed and underfunded for system security. Organizations can use
one of a number of effective security suites (e.g., Norton Internet Security 2005, ZoneAlarm Security
Suite 5.5, McAfee VirusScan) that offer firewall, anti-virus, anti-spam, anti-spyware, and parental
controls (for home offices) at the desktop level. Firewalls and routers should also be installed at the

76

network level to eliminate threats before they reach the desktop. Anti-adware and anti-spyware
software are signature-based, and companies are advised to install more than one to ensure effective
protection. Installing anti-spam software on the server is important because increasing spam results
in productivity loss and a waste of computing resources. Important considerations for selecting antispam software include a systems effectiveness, impact on mail delivery, ease of use, maintenance,
and cost. Many Internet service providers conveniently reduce spam on their servers before it
reaches subscribers. Additionally, companies must maintain in-house and off-site backup copies of
corporate data and software so that data and software can be quickly restored in the case of a
system failure.

77

37.Define Data structure? What are the major type of data structure ? illustrate?
Data are structured according to the data model. An entity is a conceptual representation of an object.
Relationships between entities makeup a data structure. A data model represents a data structure that is
described to the DBMS in DDL.
Types of Data-Structure
Data-structuring determines whether the system can create 1:1 1:m or m:m relationships among entities.
Although all DBMSs have a common approach to data management they differ in the way they structure
data.
i.
Hierarchical
ii.
Network and
iii.
Relational
Hierarchical Structuring
i.
Hierarchical (also called tree) structuring specifies that an entity can have no more than one owing
entity; that is, we can establish a 1:1 or a 1:m relationship.
ii.
The owing entity is called the parent; the owned entity, the child. A parent can have many children
(1:m), whereas a child can have only one parent
iii.
A parent with no owners is called the root. There is only one root in a hierarchical model.
iv.
Elements at the ends of the branches with no children are called leaves.
v.
Trees are normally upside down, with the root at the top and leaves at the bottom.
vi.
The hierarchical model is easy to design and understand . some application,however do not
conform to such a scheme. The problem is sometimes resolved by using a network-structure.
Network-Structuring
i.
A network structure allows 1:1 1:m or m:m relationships among entities. For example, an auto
parts shop may have dealings with more than one automaker(parent).
ii.
A network structure reflects the real-world although a PROGRAM STRUCTURE CAN BECOME
COMPLEX. The solution is to separate the network into several hierarchies with duplicates. This
simplifies the relationship to more complex than 1: M A hierarchy, then , becomes a subview of
the network structure
Relational Structuring
i.
In relational structuring all data and relationships are represented in a flattwo dimensional tables
called a relation
ii.
A relation is equivalent to a file where each line represents a record.
iii.
All entries in each column are of same kind. Furthermore each column has a unique name
iv.
Finally, no two rows in the tables are identical a row is reffered to as a tuple

78

38.what cost elements are considered in the cost/benefit analysis? Which do you think is most difficult to
estimate? Why?
The cost-benefit analysis is a part of economic feasibility study of a system. The basic elements of costbenefit analysis are as follows.
I. To compute the total costs involved.
II. To compute the total benefits from the project.
III. Top compare to decide, if the project provides more net gains or no net gains.
The costs are classified under two heads as follows.
i.
Initial Costs- They are mainly the development costs.
ii.
Recurring Costs- They are the costs incurred in running the application system or
operating the system (usually per month or per year)
The initial costs include the following major heads of expenses: Salary of development staf
Consultant fees
Costs of software Development tools-Licensing Fees.
Infrastructure development costs
Training and Training material costs
Travel costs
Development hardware applied for te costs, Networking costs
Salary of support staf
The development costs are applied for the entire duration of the software development. Therefore, they
are over initial but longer period. To keep these costs lower, the development time reduction is the key.
The Recurring costs include the following major costs: Salary of operation users
License fees for software tools used for running the software systems, if any.
Hardware/Networking Maintenance charges
Costs of hard discs, magnetic tapes, being used as media for data storage.
The furniture and fixture leasing charges
Electricity and other charges
Rents and Taxes
Infrastructure Maintenance charges
Spare Parts and Tools
The benefits are classified under two heads, as follows:i.
Tangible benefits- benefits that can be measured in terms of the rupee value.
ii.
Intangible benefits-benefits that can not be measured in terms of the rupee value.
The common heads of tangible benefits vary from organisation to organisation, but some of them are as
follows:i.
Benefits due to reduced business cycle times i.e production cycle, marketing cycle, etc.
ii.
Benefits due to increased efficiency
iii.
Savings in the salary of operational users
iv.
Savings in the space rent and taxes
v.
Savings in the cost of stationary, telephone and other communication costs, etc.
vi.
Savings in the costs due to the use of storage media
vii.
Benefits due to overall increase in profits before tax.
The common heads of intangible benefits vary from organisation to organisation, but some of them are as
follows:i.
Benefits due to increased working satisfaction of employees.
ii.
Benefits due to increased quality of products and/or services provided to the end-customer.
iii.
Benefits in terms of business growth due to better customer services
iv.
Benefits due to increased brand image
v.
Benefits due to captured errors, which could not be captured in the current system.

79

vi.

Savings on costs of extra activities that were carried out and now not required to be carried out in
the new system.
The net gain or loss is worked after calculating the difference in the costs and benefits.
The advantages of cost or benefit analysis are many. Some of them are listed below
i.
Since it is a computed value, the decisions of go or no-go ahead based on it are likely to be
more effective than just going ahead without it.
ii.
It completes the user management proposal developer to think through the costs and benefits
ahead of time proactively and assign some numbers to these heads of accounts.
iii.
Since it assigns the amount values to each one of these heads, they can be used to verify
against, after the g-ahead decision is implemented, to test the correctness of basis of
assumptions made during the planning stage. This acts as a very effective control tool.
iv.
If used properly, the cost/benefit analysis can be used as a very good opportunity for
organisational learning which will go into building up the organisational maturity into that key
performance area. (KPA)
Some common drawbacks of the cost/benefits analysis are as follows:
i.
The basis for computing of costs and that of benefits should be balanced. E.g. salary
expenses incurred and salary expenses saved should have some bearings on reality.
Unfortunately, these basis are subjective and therefore, may be difficult to balance.
ii.
The personal bias of the team members may reflect upon the computations. If a
person/team is in favour of developing the new system, they may overlook, some
important cost elements or likely to underestimate the costs and vice versa.
iii.
Some of the intangible benefits may be very hard to compute accurately.
iv.
Many times, in practice, the Top managements decision does not depend upon the
outcome of the cost/benefit analysis. If the project manager/system analyst knows about
the decision, they may not take all hard efforts to collect data and carry out the
comparative analysis.
v.
Many times, the software development projects are business compulsions rather than
the matter of choice. Therefore, the cost/benefit analysis may be either fertile exercise or
acts only as a paper horse.

80

39.There are 2 ways of debugging program software bottom up and top down. How do they differ?
Its a long-standing principle of programming style that the functional elements of a program should not be
too large. If some component of a program grows beyond the stage where it's readily comprehensible, it
becomes a mass of complexity which conceals errors.Such software will be hard to read, hard to test, and
hard to debug.
In accordance with this principle, a large program must be divided into pieces, and the larger the program,
the more it must be divided. How do you divide a program? The traditional approach is called top-down
design: you say "the purpose of the program is to do these seven things, so I divide it into seven major
subroutines. The first subroutine has to do these four things, so it in turn will have four of its own
subroutines," and so on. This process continues until the whole program has the right level of granularity-each part large enough to do something substantial, but small enough to be understood as a single unit.
As well as top-down design, they follow a principle which could be called bottom-up design-- changing the
language to suit the problem.It's worth emphasizing that bottom-up design doesn't mean just writing the
same program in a different order. When you work bottom-up, you usually end up with a different program.
Instead of a single, monolithic program, you will get a larger language with more abstract operators, and a
smaller program written in it. Instead of a lintel, you'll get an arch.
This brings several advantages:
1.By making the language do more of the work, bottom-up design yields programs which are smaller and
more agile. A shorter program doesn't have to be divided into so many components, and fewer
components means programs which are easier to read or modify. Fewer components also means fewer
connections between components, and thus less chance for errors there. As industrial designers strive to
reduce the number of moving parts in a machine, experienced Lisp programmers use bottom-up design to
reduce the size and complexity of their programs.
2.Bottom-up design promotes code re-use. When you write two or more programs, many of the utilities you
wrote for the first program will also be useful in the succeeding ones. Once you've acquired a large
substrate of utilities, writing a new program can take only a fraction of the effort it would require if you had
to start with raw Lisp.
3.Bottom-up design makes programs easier to read. An instance of this type of abstraction asks the reader
to understand a general-purpose operator; an instance of functional abstraction asks the reader to
understand a special-purpose subroutine.
4.Because it causes you always to be on the lookout for patterns in your code, working bottom-up helps to
clarify your ideas about the design of your program. If two distant components of a program are similar in
form, you'll be led to notice the similarity and perhaps to redesign the program in a simpler way.
Top-Down
Advantages
1.Design errors are trapped earlier
2.A working (prototype) system
3.Enables early validation of design
4.No test drivers are needed
5.The control program plus a few modules forms a basic early prototype
6.Interface errors discovered early
7.Modular features aid debugging
Disadvantages
1.Difficult to produce a stub for a complex component
2.Difficult to observe test output from top-level modules
3.Test stubs are needed

81

4.Extended early phases dictate a slow manpower buildup


5.Errors in critical modules at low levels are found late
Bottom-Up
Advantages
1.Easier to create test cases and observe output
2.Uses simple drivers for low-level modules to provide data and the interface
3.Natural fit with OO development techniques
4.No test stubs are needed
5.Easier to adjust manpower needs
6.Errors in critical modules are found early
7.Natural fit with OO development techniques
Disadvantages
1.No program until all modules tested
2.High-level errors may cause changes in lower modules
3.Test drivers are needed
4.Many modules must be integrated before a working program is available
5.Interface errors are discovered late

82

40.Discuss the six special system test? Give special examples?


Special System Tests:
The tests which do not focus on the normal running of the system but come under special category
and are used for performing specific tests related specific tasks are termed as Special System Tests.
They are listed as follows:
1. Peak Load Test:
This is used to determine whether the system will handle the volume of activities that occur when the
system is at peak of the processing demand. For instance when all terminals are active at the same time.
This test applies mainly for on-line systems.
For example, in a banking system, analyst want to know what will happen if all the tellers sign on at their
terminals at the same time before start of the business day. Will the system handle them one at a time
without incident, or will it attempt to handle all of them at once and be so confused that it locks up and
must be restarted, or will terminal address be post? The only sure way to find out is to test for it.
2. Storage Testing:
This test is to be carried out to determine the capacity of the system to store transaction data on a disk or
in other files. Capacities her are measured in terms of the number of records that a disk will handle or a file
can contain. If this test is not carried out then there are possibilities that during installation one may
discover that, there is not enough storage capacity for transactions and master file records.
3. Performance Time Testing:
This test refers to the response time of the system being installed. Performance time testing is conducted
prior to implementation to determine how long it takes to receive a response to a inquiry, make a backup
copy of the file, or send a transmission and receive a response.
This also includes test runs to time indexing or restoring of large files of the size the system will have
during atypical run or to prepare a report. A system may run well with only a handful of test transactions
may be unacceptably slow when full loaded. This should be done using the entire volume of live data.
4. Recovery Testing:
Analyst must never be too sure of anything. He must always be prepared for the worst. One should assume
that the system will fail and data will be damaged or lost. Even though plans and procedures are written
to cover these situations, they also must be tested.
5. Procedure Testing:
Documentation & manuals telling the user how to perform certain functions and tests quite easily by
asking the user to follow them exactly through a series of events.
By not including instructions about aspects such as, when to depress the enter key, removing the diskettes
before putting off the power and so on, could cause problems. This type of testing brings out what is not
mentioned in the documentation, and also the errors in them.
6. Human Factors:
In case during processing, the screen goes blank the operator may start to wonder as to what is happening
and the operator may just do things like press the enter key number of times, or switch off the system and
so on, but if a message is displayed saying that the processing is in progress and asking the operator to
wait, then these types of problems can be avoided.
Thus, during this test we determine how users will use the system when processing data or preparing
reports.
As we have noticed that these special test are used for some special situations, and hence the name as
Special System Tests.

83

41.Define the following types of maintenance. Give examples for each?


a. corrective maintenance b. adaptive maintenance c. perfective maintenance d. preventive
maintenance
Solution
Corrective Maintenance:
Corrective maintenance means repairing processing or performance
failures or making changes because of previously uncorrected problems or false assumptions.
For example,
fixing cosmetic problems, like correcting a misspelled word in the

user interface;
fixing functional errors that dont obviously affect processing,
like correcting a mathematical function so that it is calculated
correctly;
fixing algorithmic errors that cause severe performance problems,
like changing a program to avoid crashes or infinite loops
fixing algorithmic problems that damage lose, corrupt, or destroy
data in the program or in files.

Adaptive Maintenance:
Adaptive maintenance is a type of software maintenance where changes the software in response
to changes in the working environment or due to system upgrade or hardware replacement in short
changing the program function/
For example,
porting to use newer versions of the development tools and/or

components,
porting product to a different operating system,
adapting a program for new locales,
modification of code to take full advantages of hardware supported
operations,

most year 2000 fixes,


adding support for network access or web access.
Perfective Maintenance:
Perfective maintenance means enhancing the performance or modifying the program(s) to
respond to the users additional or changing needs.
For example:
changing the GUI to streamline user interactions,

replacing algorithms to speed up processing,


adding color, higher resolution, better sound, better graphics
animation, and other multimedia enhancements,
adding security features,
making a program more customizable and adaptable to user
preferences.

Preventive Maintenance:

84

Preventive maintenance is a type of software maintenance where work is done in order to try to
prevent malfunctions or improve
maintainability.

85

42.what are different methods of file organization? Explain advantages and disadvantages of each?
File Organization:
A file is organized to ensure that records are available for processing. It should be designed in line with the
activity and volatility of the information and the nature of the storage media and devices. Other
consideration for it are Cost of the media, File privacy, security, and confidentiality.
There are four methods of organizing files:
1. Sequential organization:
- Sequential organization simply means storing data in physical , contiguous blocks
within files on tapes
or disk. Records are also in sequence within each block.
- To access a record, previous records within the block are scanned. Thus this design is best suited for get
next activities, reading one record after another without a search delay.
- In this, records can be added only at the end of the file. It is not possible to insert a record in the middle
of file without rewriting the file.
- In this, file update, transactions records are in the same sequence as in the master file. Records from
both files are matched, one record at a time, resulting in an updated master file.
Advantages:
- Simple to design and Easy to program.
- Variable length and blocked records are available.
- Best use of disk storage.
Disadvantages:
- Records cannot be added to middle of the file.
2. Indexed Sequential Organization:
- Like sequential organization, it also stores data in physically contiguous blocks.
- The difference is in the use of indexes to locate the records.
-Disk storage is divided into three areas:
(a). Prime area: It contains file records stored by key or ID numbers. All records
are initially stored in
the prime area.
(b). Overflow area: It contains records added to the files that cannot be placed in logical sequence in the
prime area.
(c) Index area: This is more like a data dictionary. It contains keys of records and their locations on the
disks. A pointer associated with each key is an address that tells the system where to find a record.
Advantages:
- Indexed sequential organization reduces the magnitude of the sequential search and provides quick
access for sequential and direct processing.
- Records can be inserted or updated in middle of the file.
Disadvantages:
- The prime drawback is the extra storage required for the index.
- It also takes longer to search the index for data access or retrieval.
- Periodic reorganization of file is required.

3. Inverted List Organization:

86

- Like the Indexed-sequenced storage method, the inverted list organization maintains an index.
- The two methods differ, however, in the index level and record storage.
- The Indexed-sequenced method has a multiple index for a given key, whereas the inverted list method
has a single index for each key type.
- In an inverted list, records are not necessary stored in a particular sequence. They are placed in data
storage area, but indexes are updated for record keys & location.
Advantage:
- Inverted lists are best for applications that request specific data on multiple keys. They are ideal for
static files because additions and updated cause expensive pointer updating.
4. Direct Access Organization:
- In direct-access file organization, records are placed randomly throughout the file.
- Records need not be in sequence because they are updated directly and rewritten back in the same
location.
- New records are added at the file or inserted in specific locations based on software commands.
- Records are accessed by addresses that specify their disk locations. An address is required for locating a
record. for linking records, or for establishing relationships.
Advantages:
- Records can be inserted or updated in middle of the file.
- Better control over record at a location.
Disadvantages:
- Address calculation is required for the processing.
- Variable length records are nearly impossible to process.

87

43.Consider an online railway reservation system perform output design. Show some sample screen
layouts. A detailed note about different levels and methods of testing software?
Levels of tests:
1)
Unit Test
2)
System Testing
Unit Testing:
In unit testing the analyst test the programs making up a system. The software units in a system
are the modules and routines that are assembled and integrated to perform a specific function.
Unit testing focuses first on the modules, independently of one
another, to locate errors. This enables the tester to detect errors in coding and logic that are contained
within that model only. The test cases needed for unit testing should exercise each condition and option
Unit testing can be performed from the bottom up, starting with the smallest and lowest-levels
modules and proceeding one at a time. For each module in bottom-up testing, a short program executes
the module and provides the needed data, so that the module is asked to perform the way it will when
embedded within the larger systems. When bottom-level modules are tested, attention turns on the next
level that use the lower ones. Then are tested individually and then linked with the previously examined
lower-level modules.
Top-down testing begins with the upper-level modules. However, since the detailed activities
usually performed in the lower-level routines are not provided, stubs are written. A stub is a module shell
that can be called by the upper-level module and that, when reached properly, return a message to the
calling module, indicating that proper interaction occurred. No attempt is made to verify lower-level
module.
System Testing:
System testing does not test the software per se but rather the
integration of each module in the system. It also tests to find discrepancies between the system and its
original objective, current specifications,
and systems documentation. The primary concern is the compatibility of
individual modules.
System testing must also verify that file sizes are adequate and thatindices have been built
properly. Sorting and reindexing procedures
assumed to be present in the lower-level modules must be tested at the
system level to see that they in fact exist and achieve the results
modules expect.
Methods of testing software:
There are two general methods for testing software,
1)
Code Testing
2)
Specification Testing
Code Testing:
The code-testing strategy examines the logic of the program. To follow the testing method, the
analyst develops test cases that result in executing every instruction in the program or module, that is,
every path through the program is tested. A path is a specific combination of
conditions that is handled by the program.
Code testing seems the ideal method for testing software. This testing strategy does not indicate
whether the code meets its specification nor

88

does it determines whether all aspects are even implemented. It also


does not check the range of data that the program will accept.
Specification Testing:
In this the analyst examines the specifications stating what the
program should do and how it should perform under various conditions. Then the test case are developed
for each condition or combination of
conditions and submitted for the processing. By examining the results, the analyst can determine whether
the program performs according to its
specified requirements.
This strategy treats the program as if it were a black box: the
analyst does not look into the program to study the code and is not concerned about whether every
instruction or path through the program m is tested.
Specification testing strategy is a more efficient, since it focuses on the way software expected to
be used.

89

44.Write a note on
a) software design tools
b) GUI design
- The Concept of use of tools is brought to software engineering is similar to that of tools used in the other
Engineering production technologies such as automobile industry etc.
- A software tool is general-purpose software, which carries out a highly specific task of human being,
which would completely or partially eliminate need of human skills in that task.
- Though there are various types of software tools available, we study here only those which can automate
some or many of the software system development tasks. These are broadly termed as Software
development (design) tools. CASE (Computer Aided Software Engineering) tool is another broader set of
tools.
- The Software tools can be useful in the following SDLC phases as shown below:
Sr
No.
1

SDLC Phase

Software Tools can be used for

System Analysis

High-Level Design

3
4

Low-Level Design
Construction

Testing

Implementation

Project Management

Software Configuration
Control Management

DFD, ERD, and other models, Word Processor and editors,


Drawing/Graphics.
DFD, ERD, and other models, Word Processor and editors,
Drawing/Graphics.
Integrated Development Environment (IDE).
IDE, DBMS, Code generation, Report generators, Query builders, Form
developers, Control development tools, Web Page Builder.
Test data generation tools, Tools to execute and monitor test runs,
Debugging tools, Change Impact Analysis Tools.
Reverse Engineering Tools, Remote deployment tools, e-tutors, Online help development management tools.
PERT/CPM schedule generation tools, Spread sheet, Charting tools,
Reporting tools, Appointments/ Schedule management tools.
Software Inventory Management, Version Control Management,
Source code safes.

&

The basic purpose of using software tools are as follows:


- Increased Speed and Accuracy.
- High-level of automation brings in lot of Standardization.
- Less dependence on human skills.
- For high volume of work, the costs are considerably low.
- Iterative several times.
- Versatile because of high programmability.
Thus the use of tools increases the development productivity several times.

(b) GUI Design:


- The word GUI stands for Graphical User Interface (GUI). Since the PC was invented, the computer systems
and application systems have started considering the GUI as one of the most important aspect of system
design. The GUI design component in every application system will vary depending upon the importance of
the user interactions for the success of the system.
- However, by now, we have definitely shifted successfully from purely non-interactive batch oriented
application system, having almost no component of GUI, to present day applications such as games and
animations and internet based application systems, where the success of the application systems vests
almost completely on the effectiveness of the GUI.

90

The Goals of a good GUI:


1. Provide the best way for people to interact with computers. This is commonly known
as Human
Computer Interaction (HCI).
2. The presentation should be user friendly. User-friendly Interface is helpful eg. It should not only tell
user that he has committed an error, but also provide guidance as to how he/she can rectify it soon.
3. It should provide information on what is the error and how to fix it.
4. User-friendliness also includes tolerant and adaptable.
5. A good GUI makes the User more productive.
6. A good GUI is more effective, because it finds the best solutions to a problem.
7. It is also efficient because it helps the User to find such solution much quickly and with the least
error.
8. For a user, using a computer system, his workspace is the computer screen. The goal of a good GUI
is to make the best, if not all, of a Users workspace.
9. A good GUI should be robust. High robustness implies that the interface should not fall because of
some action taken by the user. Also, any user error should not lead to a system breakdown.
10. The Usability of a GUI is expected to be high. The usability is measured in the various terms.
11. A good GUI is of high Analytical capability, most of the information needed by user appears on the
screen.
12. With a good GUI, user finds the work easier and more pleasant.
13. The user should be happy and confident to use the interface.
14. A good GUI has a high cognitive workload ability i.e. the mental efforts required of the user to use
the system should be the latest. In fact, the GUI closely approximates the users mental model or
reactions to the screen.
15. For a good GUI, the user satisfaction is HIGH.
These are the Characteristics or Goals of a good GUI.

91

45.Describe in brief the spiral model of development?


DEFINITION - The spiral model, also known as the spiral lifecycle model, is a systems development
method (SDM) used in information technology (IT). This model of development combines the features of
the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and
complicated projects.

The steps in the spiral model can be generalized as follows:


10. The new system requirements are defined in as much detail as possible. This usually involves
interviewing a number of users representing all the external or internal users and other aspects of
the existing system.
11. A preliminary design is created for the new system.
12. A first prototype of the new system is constructed from the preliminary design. This is usually a
scaled-down system, and represents an approximation of the characteristics of the final product.
13. A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of
its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3)
planning and designing the second prototype; (4) constructing and testing the second prototype.
14. At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk
factors might involve development cost overruns, operating-cost miscalculation, or any other factor
that could, in the customer's judgment, result in a less-than-satisfactory final product.
15. The existing prototype is evaluated in the same manner as was the previous prototype, and, if
necessary, another prototype is developed from it according to the fourfold procedure outlined
above.
16. The preceding steps are iterated until the customer is satisfied that the refined prototype
represents the final product desired.
17. The final system is constructed, based on the refined prototype.
18. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a
continuing basis to prevent large-scale failures and to minimize downtime.
Advantages

Estimates (i.e. budget, schedule, etc.) get more realistic as work progresses, because important
issues are discovered earlier.
It is more able to cope with the (nearly inevitable) changes that software development generally
entails.

92

Software engineers (who can get restless with protracted design processes) can get their hands in
and start working on a project earlier.
The spiral model is a realistic approach to the development of large-scale software products
because the software evolves as the process progresses. In addition, the developer and the client
better understand and react to risks at each evolutionary level.

The model uses prototyping as a risk reduction mechanism and allows for the development of
prototypes at any stage of the evolutionary development.

It maintains a systematic stepwise approach, like the classic life cycle model, but incorporates it
into an iterative framework that more reflect the real world.

If employed correctly, this model should reduce risks before they become problematic, as
consideration of technical risks are considered at all stages.

Disadvantages

Demands considerable risk-assessment expertise


It has not been employed as much proven models (e.g. the WF model) and hence may prove
difficult to sell to the client (esp. where a contract is involved) that this model is controllable and
efficient. [More study needs to be done in this regard

It may be difficult to convince customers that evolutionary approach is controllable

93

46.what is the purpose of feasibility study? What are the parameter used to decide different feasibilities
of a system in detail?
Feasibility study is an analysis of possible alternative solutions to a problem and a recommendation on the
best alternative .It, for example, can decide whether an order processing be carried out by a new system
more efficiently than the previous one.
A feasibility study is a study conducted to find out whether the proposed system would be :
1. Possible to build with given technology and resources
2. Affordable given the time and cost constraint of the organisation ,and
3. Acceptable for use by the eventual users of the system

Purpose of the feasibility study


1. Need analysis-to determine the need for a change in an organisation
2. Cost benefit analysis -to study the effect of the change on the economics of the organisation
3. Technical feasibility - to evaluate various technologies that can be used for implementing the
suggested change given the cost and resources constraints of an organisation
4. Legal feasibility - to evaluate the legal procedure ,if any should come into play to implement the
suggested change
5. Evaluation of alternatives -to evaluate the various alternatives that would be thrown up with
regards to resolving the problems of an organisation and recommend the best suited one.
Parameter used to decide different feasibilities :
1.Economic feasibility study
This involves questions such as whether the firm can afford to build the system, whether its benefits
should substantially exceed its costs, and whether the project has higher priority and profits than other
projects that might use the same resources. This also includes whether the project is in the condition to
fulfill all the eligibility criteria and the responsibility of both sides in case there are two parties involved in
performing any project.

2.Technical feasibility study


This involves questions such as whether the technology needed for the system exists, how difficult it will
be to build, and whether the firm has enough experience using that technology.The assessment is based
on an outline design of system requirements in terms of Input, Output, Fields, Programs, and
Procedures.This can be qualified in terms of volumes of data,trends,frequency of updating,etc..in order to
give an introduction to the technical system.
3.Schedule Feasibility study
This involves questions such as how much time is available to build the new system, when it can be built
(i.e. during holidays), whether it interferes with normal business operation, etc.

94

4.Organizational Feasibility study


This involves questions such as whether the system has enough support to be implemented successfully,
whether it brings an excessive amount of change, and whether the organization is changing too rapidly to
absorb it.
5.Cultural Feasibility study
In this stage, the project's alternatives are evaluated for their impact on the local and general culture. For
example, environmental factors need to be considered.
6.Legal Feasibility study
Not necessarily last, but all projects must face legal scrutiny. When an organization either has legal council
on staff or on retainer, such reviews are typically standard. However, any project may face legal issues
after completion too.
7.Marketing Feasibility study
This will include analysis of single and multi-dimensional market forces that could affect the commercial

95

47.Explain how the waterfall model and the prototyping model can be accommodated in spiral process
model?
DEFINITION - The spiral model, also known as the spiral lifecycle model, is a systems development
method (SDM) used in information technology (IT). This model of development combines the features of
the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and
complicated projects.

The steps in the spiral model can be generalized as follows:


19. The new system requirements are defined in as much detail as possible. This usually involves
interviewing a number of users representing all the external or internal users and other aspects of
the existing system.
20. A preliminary design is created for the new system.
21. A first prototype of the new system is constructed from the preliminary design. This is usually a
scaled-down system, and represents an approximation of the characteristics of the final product.
22. A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of
its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3)
planning and designing the second prototype; (4) constructing and testing the second prototype.
23. At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk
factors might involve development cost overruns, operating-cost miscalculation, or any other factor
that could, in the customer's judgment, result in a less-than-satisfactory final product.
24. The existing prototype is evaluated in the same manner as was the previous prototype, and, if
necessary, another prototype is developed from it according to the fourfold procedure outlined
above.
25. The preceding steps are iterated until the customer is satisfied that the refined prototype
represents the final product desired.
26. The final system is constructed, based on the refined prototype.
27. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a
continuing basis to prevent large-scale failures and to minimize downtime.
Advantages

Estimates (i.e. budget, schedule, etc.) get more realistic as work progresses, because important
issues are discovered earlier.

96

It is more able to cope with the (nearly inevitable) changes that software development generally
entails.
Software engineers (who can get restless with protracted design processes) can get their hands in
and start working on a project earlier.
The spiral model is a realistic approach to the development of large-scale software products
because the software evolves as the process progresses. In addition, the developer and the client
better understand and react to risks at each evolutionary level.

The model uses prototyping as a risk reduction mechanism and allows for the development of
prototypes at any stage of the evolutionary development.

It maintains a systematic stepwise approach, like the classic life cycle model, but incorporates it
into an iterative framework that more reflect the real world.

If employed correctly, this model should reduce risks before they become problematic, as
consideration of technical risks are considered at all stages.

Disadvantages

Demands considerable risk-assessment expertise


It has not been employed as much proven models (e.g. the WF model) and hence may prove
difficult to sell to the client (esp. where a contract is involved) that this model is controllable and
efficient. [More study needs to be done in this regard

It may be difficult to convince customers that evolutionary approach is controllable

97

48.Discuss the advantages of graphical information displays and suggest four application areas where it
would be more appropriate to use graphical rather than digital display of numeric information?
The Advantages of Graphical information display are:
- Improve Effevtiveness of Output.
- Manage Information Volume.
- Fulfilling Personal Preference.
- Use of different graphic forms ensures better readibility of
information.
Use of ICONS- < Pictorial representation of entities described by
data. >
- Properly selected icons communicate information immediately since
they duplicate
images that Users are already familiar with.
- Appropriate icon ensures that the right words & phrases,that is the
Intended
Meaning is conveyed.
COLOUR REPRESENTATION- A consistent colour usage enhances a good output design.
eg- RED for Exceptions, GREEN/BLUE for Normal Situations.
- The Bightest colour Emphasizing most important information on
Display screen
eg- TORQUOISE & PINK.

the
figures.

Application areasi. BUSINESS REPORTS- PIE-DIAGRAMS, BAR CHARTS help better understand
information than just printing the values &

ii. AUTOMOBILE SHOWROOMS- A Comparison of Different Models using


different
graphics gives a better output value to the user.
iii.HOSPITALS- Diagrams showing different dosages,
Instrument outputs on paper< Scans>
give a quick idea about the patient condition n needs.

98

49.What are design principles of a good user interface?


The U.I is everything that the end user comes into contact with while
using the system.
The 3 aspects of UI are:1.Physical 2.Perceptual 3.Conceptual aspect.
The General Design Principles a Good USER INTERFACE are:
1. VISIBILITY: All the controls should be Visible & provide Feedback to
indicate that the control is responding to the User's Action.
2. AFFORDANCE: Appearance of any Control should suggest its
FUNTIONALITY.
3. ROBUSTNESS: Ability to prevent interface error from Corrupting the
system.
4: USABILITY: How EASY it is to use an Interface..
The 8 Golden Rules for DESIGNING INTERACTIVE INTERFACE are:
1: STRIVE for CONSISTENCY.
2: ENABLE USE of SHORTCUTS.
3: OFFER INFORMATIVE FEEDBACK.
4: DESIGN DIALOGUE to YIELD CLOSURE.
5: OFFER SIMPLE ERROR HANDLING.
6: SUPPORT INTERNAL LOCUS of CONTROL.
7: PERMIT EASY REVERSAL of ACTIONS.
8: REDUSE SHORT TERM MEMORY-LOADS.

99

50.What do you mean by structured analysis? describe the various tools used for structured analysis wit
pros n cons of each
STRUCTURED ANALYSIS:SET OF TECHNIQUES & GRAPHICAL TOOLS THAT ALLOW THE ANALYST TO DEVELOP
A NEW KIND
OF SYSTEM SPECIFICATIONS THAT ARE UNDERSTANDABLE TO THE USER.
Tools of Structured Analysis are:
1: DATA FLOW DIAGRAM ( DFD )--[ Bubble Chart ]
Modular Design;
Symbols:
i. External Entities: A Rectangle or Cube -- Represents SOURCE or
DESTINATION.
ii. Data Flows/Arrows: Shows MOTION of Data.
iii.Processes/Circles/Bubbles: Transform INCOMING to OUTGOING
functions.
iv. Open Rectangles: File or Data Store.
( Data at rest or temporary repository of
data )
-DFD describes data flow logically rahter than how it is processed.
-Independent of H/W, S/W, Data Structure or File Organization.
ADV- Ability to represent data flow.
Useful in HIGH & LOW level Analysis.
Provides Good System Documentation.
DIS ADV- Weak input & output details.
Confusing Initially.
Iterations.
2: DATA DICTIONARY-- It is a STRUCTURED REPOSITORY of DATA
METADATA: Data about Data
3 items of Data present in Data Dictionary are:
i. DATA ELEMENT.
ii. DATA STRUCTURE.
iii. DATA FLOW & DATA STORES.
ADV- Supports Documentation.
Improves Communication b/w Analyst & User.
Provides common database for Control.
Easy to locate error.
DIS ADV- No Functional Details.
Not Acceptable by non-technical users.
3: DECISION TREE-ADV- Used to Verify Logic.
Used where Complex Decisions are Involved.
Used to Calculate Discount or Commissions in Inventory Control
System.
DIS ADV- A Large no. of Branches with MANY THROUGH PATHS will make S.A
difficult rather
than Easy.

100

4: DECISION TABLE-- A Matrix of rows & coloumns that shows conditions &
actions.
LIMITED/EXTENDED/MIXED ENTRY DECISION TABLE.
CONDITION STUB | CONDITION ENTRY
ACTION STUB | ACTION ENTRY
ADV- Condition Statement identifies relevant conditions.
Condition Entries tell which value applies for any particular
condition.
Actions are based on the above condition statements & entries.
DIS ADV- Drawing tables becomes Cumbersome if there are many
conditions and Respective
entries.
5: STRUCTURED ENGLISH-- 3 Statements are used:
i. SEQUENCE- All statements written as Sequence get executed
Sequentially.
The Execution does not depend upon the existence of any
other
statement.
ii. Selection- Make a choice from given options.
Choice is made based on conditions.
Normally condition is written after 'IF' & action after
'THEN'.
For 2 way selection 'ELSE' is used.
iii.Iteration- When a set of statements is to be performed a no. of
times,the
statements are put iin a loop.
ADV- Easy to understand.
DIS ADV- Unambigious language used to describe the logic.

101

51.Describe how you would expect documentation to help analyst and designers?
Introduction:
Documentation is not a step in SDLC. It is an activity on-going in every phase of SDLC. It is about
developing documents initially as a draft, later on the review document and then a signed-off document.
The document is born, either after it is signed-off by an authority or after its review. It cries initial version
number. However, the document also undergoes changes and then the only way to keep your document
up tom date is to incorporate these changes.
Software Documentation helps Analysts and Designers in the following ways:
1. The development of software starts with abstract ideas in the minds of the Top Management of User
organization, and these ideas take different forms as the software development takes place. The
Documentation is the only link between the entire complex processes of software development.
2. The documentation is a written communication, therefore, it can be used for future reference as the
software development advances, or even after the software is developed, it is useful for keeping the
software up to date.
3. The documentation carried out during a SDLC stage, say system analysis, is useful for the
respective system developer to draft his/her ideas in the form which is shareable with the other
team members or Users. Thus it acts as a very important media for communication.
4. The document reviewer(s) can use the document for pointing out the deficiencies in them, only
because the abstract ideas or models are documented. Thus, documentation provides facility to
make abstract ideas, tangible.
5. When the draft document is reviewed and recommendations incorporated, the same is useful for
the next stage developers, to base their work on. Thus documentation of a stage is important for
the next stage.
6. Documentation is a very important because it documents very important decisions about freezing
the system requirements, the system design and implementation decisions, agreed between the
Users and Developers or amongst the developers themselves.
7. Documentation provides a lot of information about the software system. This makes it very useful
tool to know about the software system even without using it.
8. Since the team members in a software development team, keep adding, as the software
development project goes on, the documentation acts as important source of detailed and
complete information for the newly joined members.
9. Also, the User organization may spread implementation of a successful software system to few
other locations in the organization. The documentation will help the new Users to know the
operations of the software system. The same advantage can be drawn when a new User joins the
existing team of Users. Thus documentation makes the Users productive on the job, very fast and
at low cost.
10. Documentation is live and important as long as the software is in use by the User organization.
11. When the User organization starts developing a new software system to replace this one, even then
the documentation is useful. E.G. The system analysts can refer to the documentation as a starting
point for discussions on the documentation as a starting point for discussions on the new system
requirements.
Hence, we can say that Software documentation is a very important aspect of SDLC.

102

52.What are the elements of cost/benefits analysis. Take a suitable example and given a system proposal
for it?
Soln: Cost-benefit analysis:
Cost-benefit analysis is a procedure that gives the picture of various costs,benefits and rules
associated with each alternative system.
Cost-benefit categories:
In developing cost estimates for a system we need to consider several cost elements. Among them
are following:
1. Hardware costs:
Hardware costs relate to the actual purchase or lease of the computer and
Peripherals(e.g printer,disk drive, tape unit, etc). Determining the actual costs of hardware is generally
more difficult when the system is shared by many users than for a dedicated stand-alone system.
2.Personnel Costs:
Personnel costs include EDP staff salaries and benefits (health insurance, vacation time, sick pay,
etc.) as well as payment of those involved in developing the system . Costs incurred during the
development of a system are one-time costs and are labeled development costs.
3.Facility Costs:
Facility costs are expenses incurred in the preparation of the physical site
where the application or computer will be in operation. This includes wiring, flooring, lightning and air
conditioning. These costs are treated as one time costs.
4. Operating costs:
Operating costs includes all costs associated with the day-to-day operation of the system. The
amount depends on the number shifts, the nature of the application and the caliber of the operating staff.
The amount charged is based on computer time, staff time and volume of the output produced.
5. Supply Costs:
Supply costs are variable costs that increase with increased use of paper, ribbons, disks and the
like.
Procedure for cost-benefit Determination:
The determination of costs and benefit entails the following steps:
1. Identify the costs and benefits pertaining to a given project.
2. Categorize the various costs and benefits for analysis.
3. Select a method of evaluation.
4. Interpret the result of the system.
5. Take action.
Classification of costs and benefits:
1. Tangible and intangible costs and benefits:
a. Tangible refers to the ease with which costs or benefits can be measured. An outlay of cash
for a specific item or activity is referred to as tangible costs. The purchase of a hardware or
software, personnel training and employee salaries are examples of tangible costs.
b. Costs that are known to exist but those financial value cannot be accurately measured are
referred to as the intangible costs. For example employee morale problems caused by a new
system or lowered company image is an intangible cost.
c. Benefits can also be classified as tangible and intangible. Tangible benefits such as
completing jobs in few hours or producing reports with no errors are quantifiable.
d. Intangible benefits such as more satisfied customers or an improved corporate image are
not easily quantified.
2. Direct and Indirect Cost and benefits:
a. Direct costs are those with which a money figure can be directly associated in a project.
They are applied directly to a particular operation. For example the purchase of a box of
diskettes for $35 is a direct cost.
b. Indirect costs are the result of operation that are not directly associated with a given system
or activity. They are often referred to as overhead.
c. Direct benefits also can be specifically attributable to a given project. For example a new
system that can handle 25 percent more transaction per day is a direct benefit.

103

d. Indirect benefits are realized as a by-product at another activity or system.


3. Fixed or variable cost and benefits:
a. Fixed costs sre sunk costs. They are constant and do not change. Once encountered, they
will not recur. Examples are straight-line depreciation of hardware, exempt employee salary,
and insurance.
b. Variable costs are incurred on a regular basis. They are usually proportional to work volume
and continue as long as system is in operation. For example the costs of the computer forms
vary in proportion to amount of processing or the length of the reports required.
c. Fixed benefits are also constant and do not change. An example is a decrease in the number
of personnel by 20 percent resulting from the use of a new computer.
d. Variable costs are realized on a regular basis. For example consider a safe deposit tracking
system that saves 20 minutes preparing customer notices compared with the manual
system.
Examples of Tangible benefits:
Fewer processing errors.
Increased throughput.
Decreased response time.
Elimination of job step.
Reduced expenses.
Increased Scale.
Faster turnaround.
Better credit.
Reduced credit losses.

Examples of Intangible Benefits:


Improved customer goodwill.
Improve employer morals.
Improved employer job satisfaction.
Better service to community.
Better decision making.

Evaluation Method:
1. Net Benefit analysis:
Net benefit analysis simply involves subtracting total costs from total
benefits. It is easy to calculate, easy to interpret and easy to present.The main drawback is that it does not
account for the time value of money and does not discount future cash flow.
The time value of money is usually expressed in the form of interest on the funds invested to realize
the future value. Assuming compounded interest, the formula is:
F=P(1+i)n
Where
F=future value of an investment.
P=Present value of the investment.
I=Interest rate per compounding year.
N=Number of years.
2. Present value analysis:
In developing long-term project, it is often difficult to compare todays costs with the full
value of tomorrows benefits. The time value of money allows for interest rates,inflation and
other factors that alter the value of the investment. Present value analysis controls for these
problems by calculating the costs and benefits of the system in terms of todays value of the
investment and then comparing across alternatives.
Present Value=Future Value
(1+i)n
Net present value is equal to discounted benefits minus discounted costs.

104

3. Payback analysis:
The pay back method is a common measure of the relative time value of a project. It
determines the time it takes for the accumulated benefits to equal the initial investment. It
is easy to calculate and allows two or more activities to be ranked. The payback period may
be computed by the following formula:
Overall Cash Outlay = (A*B)+(C*D) = Years + Ins.Time
Annual Cash return
5+2
Years to recover
Where
A=Capital Investment
B=Investment Credit
C=Cost investment.
D=Companies income tax.
E=State and local taxes.
F=Life of capital
G=Time to install system.
H=Benefits and Savings.
4. Break even analysis:
Break even is a point where the cost of the candidate system and that of the current one are
equal. Break-even compares the costs of the current and the candidate system. When a
candidate system is developed initial costs usually exceeds those of the current system. This
is an investment period. When both costs are equal, it is break-even. Beyond that point, the
candidate system provides greater benefits than the old one-a return period.
5. Cash Flow analysis:
Cash-flow analysis keeps track of accumulated costs and revenues on a regular basis. The
spreadsheet format also provides break-even analysis and payback information.
6. Return on Investment analysis:
The ROI analysis technique compares the life time probability of alternative solutions and
projects. The ROI for a solution or project is a percentage note that measures the
relationship between the amount the business gets back from an investment and the
amount invested. The ROI is calculated as follows:
ROI=Estimated lifetime benefits-Estimated costs
Estimated lifetime costs

105

53.What are the sources of information used for evaluating hardware and software? Which
source do you consider the most reliable and why?
Hardware Selection:
1. Determining Size and Capacity Requirements:
The starting point in the equipment decision process is the size and
capacity requirements. One particular system may be appropriate for one workload and inappropriate for
another. Systems capacity is frequently the determining factor. Relevant features to consider include the
following:
1. Internal memory size.
2. Cycle speed of system for processing.
3. Number of channels for input, output and communication.
4. Characteristics of display and communication components.
5. Types and numbers of auxiliary storage units that can be attached.
6. Systems support and utility software provided or available.
Auxiliary storage capacity is generally determined by file storage and processing needs. To estimate
the disk storage needed for a system, the analyst must consider the space needed for each master file,
the space for programs and software, including systems software, and the method by which backup copies
will be made. When using flexible diskettes on a small business system the analyst must determine
whether master and transaction files will be maintained on the same diskette and on which diskette
programs will be stored. Backup considerations as well as file size, guide the decision about how many disk
drives are needed.
2. Design of synthetic Programs:
A synthetic job is a program written to exercise a computers resources in a
way that allows the analyst to imitate the expected job stream and determine the results. Then the
artificial job stream can be adjusted and rerun to determine the impact. The process can be repeated as
many times as necessary to see which tasks a comparison set of computers handles well and which they
do not handle as well.
The synthetic jobs can be adjusted to produce the same type of activity as actual programs, including
random access of files, sequential searching of files with varying size records.
3. Plug Compatible Equipment:
For reasons of cost, analysts frequently consider using equipment for a particular make of
computer that is not manufactured by the computer vendor. Such components are called plug-compatible
equipment. Some companies specialize in manufacturing systems components, such as printers, disk
drives, or memory units, that can be connected to a vendors system in place of the same equipment
manufactured by the vendor. The central processing unit does not care or know that the equipment is not
the same make.
The benefit of plug-Compatible equipment is the lower cost of an item compared with one produced by
a major computer vendor. Because firms specializing in specific components can develop manufacturing

106

expertise or are likely to have a smaller investment in research and developmentthey are duplicating
components developed by another firmthey are able to offer the same product at a lower cost.
Although there is a large market for plug-compatible equipment because of price differences, the
analyst must ensure that the equipment will meet necessary quality levels, that it will perform as well
as(or possibly better than) the original equipment, and that the computer vendor will not disallow
warranties and service agreements on the rest of the system. Also must reach agreements on
maintenance responsibilities and methods for resolving possible disputes about malfunction.
4. Financial Factors:
The acquisition of and payment for a computer system are usually handled
through one of three common methods: rental, lease, or purchase. Determining which option is appropriate
depends on the characteristics and plans of the organization at the time the acquisition is made. No one
option is always better than others.
5. Maintenance and Support:
An additional factor in hardware decisions concerns the maintenance and
support of the system after it is installed. Primary concerns are the source of maintenance, terms, and
response times.
Maintenance Source:
Once the system is delivered and installed, there is a brief warranty period during which time the sales
unit is responsible for maintenance. This is a typically a 90-day period. After that time, the purchaser has
the option of acquiring maintenance from various sources.
The most common source of maintenance for new equipment is the firm from which it was purchased.
Service is also available from companies specializing in providing maintenance service. Third-party
maintenance companies, as these firms are called, frequently provide service in smaller communities,
where manufactures do not find it cost effective to maintain offices. When a used computer system is
purchased from an independent sales organization, the purchaser may have no choice but to use a thirdparty maintenance firm. Many manufactures do not service equipment they did not sell.
Terms:
In formulating a maintenance agreement, the terms of agreement are as important as the cost. The
type of contract desired depends on the expenditures the organization is willing to make in comparison
with how frequently it estimates service will be required.
The analyst should also consider how maintenance costs will change.
Service and Response:
Maintenance support is useful only if it is available when needed. Two concerns in maintenance are the
response time when service is requested and the hours of support.
The user has a right to expect a reasonable response time after making an emergency call. Organizations
often specify in the contract that the response to a telephone call must be made in how much time.
Whenever contracting for maintenance, a schedule of preventive maintenance must be agreed on in
advance.
Evaluation of software:

107

One of the most difficult tasks in selecting software, once systems requirements are known, is
determining whether a particular software package fits the requirements. After initial selection, further
scrutiny is needed to determine the desirability of a particular software compared with other candidates.

1. Application Requirements Questions:


When analyst evaluates possible software for adoption, they do so by
comparing software features with previously developed application requirements. Representative
requirements considerations include the following:

What transactions and what data about each transaction must be handled?
What reports, documents, and other output must the system produce?
What files and database drive the system? What transaction files are needed to maintain them?
What is the volume of data to be stored? What volume of transactions will be processed?
Are there unique features about this application that require special consideration when selecting
software?
What inquiry requirements must the software support?
What are the limitations of the software?
Working from this basic set of questions, coupled with mandated cost and
expenditure limitations, the analyst is able to quickly remove from consideration those packages that do
not meet requirements. Then it is necessary to further examine the remaining candidates for adoption on
the basis of other attributes such as flexibility, capacity and vendor support.
2. Flexibility: The flexibility of a software system should include the ability to meet changing
requirements and varying user needs. Software that is flexible is generally is more valuable than a
program that is totally inflexible. However, excessive flexibility is not desirable, since that requires the
user or analyst to define many details in the system that could be included in the design as the
standard feature.
Areas where flexibility is needed are data storage, reporting and options, definition of parameters, and
input output. The flexibility of software varies according to the types of hardware it will support. The
capability to instruct the system to handle one of the optional formats is another dimension of software
flexibility.
3. Audit and Reliability Provisions: Users often have a tendency to trust systems more than should,
to the extent that they frequently believe the results produced through a computer-based information
system without sufficient skepticism. Therefore the need to ensure that adequate controls are included
in the system is an essential step in the selection of the software. Auditors must have the ability to
validate reports and output and to test the authenticity and accuracy of data and information.
Systems reliability means that the data are reliable, that they are accurate and believable. It also
includes the element of security, which the analyst evaluates by determining the method and
suitability of protecting the system against unauthorized use. Ensuring system has passwords is not
sufficient access protection. Multiple levels of passwords are often needed to allow different staff
members access to those files and databases or capabilities that they need.
4. Capacity: Systems capacity refers to the number of files that can be stored and the amount each file
will hold. To show complete capacity, it may be necessary to consider the specific hardware on which
the software will be used. Capacity also depends on the language in which the software is written.
Capacity is also determined by following:

108

The
The
The
The
The

maximum size of each record measured in number of bytes.


maximum size of the file measured in number of bytes.
maximum size of the file measured in number of fields per record.
number of files that can be active at one time.
number of files that can be registered in a file directory.

109

54.STAR HOTELis medium size hotel having capacity of 100 rooms


belonging to to different categories such as AC/Non-AC/Delux/Super
Delux/Suit etc
The main purpose of the Hotel is to computerized its billing
system end get some financial related MIS reports.
The Hotel wants to keep following information in their database
1. Customer who are booking and checking in the hotel.
2. The Hotel offers different kinds of services such as Bar and Restaurant, Laundry ,Room
service, Rent-a-car etc.
3. The customer are charges daily for the given services, through voucher and such
transactions are maintained.
4. The room tariff depends on the category of the room selected by the customer.
5. When the customer check-out,The bill is generated and details of payments received are
maintained for generating various financial reports.
a. Draw context level DFD for the above case.
b. Draw ER-Diagram mentioninfg the key attributes of Entities.(May-04)

110

111

55.Draw screen Layout for the capturing information written on following input documents.
i. Purchase Order.
ii. Case paper of patients,admitted in the Hospital.
iii. Saving Bamk Account opening form[M-04]
Purchase Order
Purchase Order
No.
Supl No.

Date:-

Supplier:Address:Pin:Sr. No
1.
2.
3.

Class

Title

Qty

Rate

Case paper of patient admitted in the hospital


II SHREE HOSPITAL II
Name of patient:Address:Telephone No:Age:Sex (M/F):Disease:Ref of Dr.:Case Handled by Dr.:Admit Date:-

Saving Bank Account Opening Form


ICICI Bank
Photo
Name:Address:Telephone:Age:Sex (M/F):Nationality:Marital status:Email:Deposit Amt:ATM(Y/N):Internet Banking(Y/N):Signature
Name:A/c No.:-

For office use only

Signature

Value

112

56. i) Explain with examples specialization/Generalization


ii) Explain with examples Aggregation
iii) Explain with example Decision Table[May-04]
iv) Discuss Importance of Functional Decomposition Diagram.
Decision table:A decision table is a matrix of rows and column rather than a tree that shows
conditions and actions. Decision rules, included in a decision table, state what rules to follow when
certain condition exist.
Decision table characteristic:a) condition statement :The condition statement identifies the relevant condition
b) condition entries:Condition entries tell which value, if any, apply for a
particular condition.
c) Action statement:Action statements list the set of all steps that can be taken when a certain
condition occurs.
d) Action entities:Action entities show what specific actions in the set to take when selected
condition or combinations of conditions are true.

Condition
Condition statement

Action statement
For example :Conditions
C1 patient has basic health
C2 patient has social health
assurance

Decision rules
Condition entities

Action entities

Decision rules
1
2
3
4
Y
N
Y
N
N
Y
N
Y

2) Specialization:The term specialization often comes up when discussing inheritance,


Specialization is define as the term taking on features in addition to those inherited from another object.
We can say that5 item offers and volume is a specialization of offers. The inherit all the features of offers
but are also specialized with additional features.
Decision table
1. This techniques use a tabular structure of specification.
2. It is tabular representation of processing logic containing the decision variables, decision variable
values, and actions.

113

3. The decision variables are the parameters on the basis of which a decision alternative is chosen. A
decision variable can take carious values.
4. Decision variable values are those values decision variable is likely to take, one at a time. All
different values that decision variable can take and that can impact the decision are tabulated
5. An action or a decision to be taken by the process is a direct result of set of decision values of
different decision variables in combination such as AND, OR and NOT or another combination of
them.
6. Typically, one set of decision values generates only one set of action(s) or decision(s). However,
vice versa may not be true.
Advantages
1. The tabular structure is well understood by the user as well as developers.
2. Less or no chance of communication error.
3. Highly specific and therefore no room for ambiguity.
4. Usually, it provides self check to ensure the completeness of specification.
5. Since it provides for combinations of decision values, complex conditions can also be represented
using this technique.
Disadvantages
1. This is reasonably good technique up to certain number of decision variables, but when the decision
variable exceed 5, typically, the decision table is difficult to communicate
2. Even for lesser number of decision variables, the possible number of alternatives for decision values
of all decision variables may pose threat to the increasing complexity of the decision table.

114

57.Solve
a. Draw report of pay-slip give to employees in payroll system
b. Draw layout of the Hotel Bill given to customer for lodging and
boarding.
Employee no :
Employee Name :
Designation :
Branch Name :
Month :
Basic :
Days :
Sal Code

Earnings
Current
Arrears

Basic
DA
TSA
MMA
HRA
Total
COIN B/F :
RC

COIN C/F :
POST-EXP

Sal Code

Deduction
Current
Arrears
NPF
EDB
PT

PF-ADV-BAL
PF-AC-NO

PAN No:

Signature
Net Rs

Officer In Charge

115

58.Write short notes.


a. Importance of Documentation in SSAD?
b. Feasibility study
c. Requirements Gathering techniques
Importance of documentation in SSAD
1. The development software starts with abstract ideas in the minds of the top management of user
organization, and these ideas take different forms as the software development take place. The
documentation is the only link between the entire complex processes of software development.
2. The documentation is a written communication, therefore it can be used for future reference as the
software development advances, or even after software developed, and it is useful for keeping
software up to date.
3. The documentation carried out during a SDLC stage, say a system analysis is useful for the
respective system developer to draft his/her ideas in the form which is sharable with the other team
members or users. Thus it acts as a very important media for communication.
4. The documentation reviewer can use the document for pointing out the deficiencies in them, only
because the abstract ideas or models are documented. Thus the documentation provides facility to
make abstract ideas.
5. When the draft document is reviewed and recommendations incorporated, the same is useful for
the next stage developers, to base their work on, thus documentation of stage is important for the
next stage.
6. Documentation is very important because it documents very important decision about freezing the
system requirements, the system design and implementation decision, agreed between the user
and developer or among the developers itself.
7. Documentation provides lots of information about software system. This makes it very useful tool to
know about the software system even without using it.
8. Since the team members in a software development team, keep adding, as the software
development project going on, the documentation acts as important source of detailed and
complete information for the newly joined members.
9. Also, the user organization may spear implementation of a successful software system to little other
location in the organization. The documentation will help the new user to know the operation of the
software system. The same advantage can be drawn when a new user joins existing team of user.
Thus documentation makes the users productive on the job, very fast and at low cost.
10. Documentation is live and important as long as software is in use by the user organization.
11. When the user organization starts developing a new software system to replace older one, even
then the documentation is useful.
b) Feasibility Study
The feasibility of a project can be ascertained in terms of technical factors, economic factors, or both. A
feasibility study is documented with a report showing all the ramifications of the project. In project
finance, the pre-financing work (sometimes referred to as due diligence) is to make sure there is no "dry

116

rot" in the project and to identify project risks ensuring they can be mitigated and managed in addition to
ascertaining "debt service" capability.
Technical Feasibility
Technical feasibility refers to the ability of the process to take advantage of the current state of the
technology in pursuing further improvement. The technical capability of the personnel as well as the
capability of the available technology should be considered. Technology transfer between geographical
areas and cultures needs to be analyzed to understand productivity loss (or gain) due to differences (see
Cultural Feasibility).

Managerial Feasibility
Managerial feasibility involves the capability of the infrastructure of a process to achieve and sustain
process improvement. Management support, employee involvement, and commitment are key elements
required to ascertain managerial feasibility.

Economic Feasibility
This involves the feasibility of the proposed project to generate economic benefits. A benefit-cost analysis
and a breakeven analysis are important aspects of evaluating the economic feasibility of new industrial
projects. The tangible and intangible aspects of a project should be translated into economic terms to
facilitate a consistent basis for evaluation.

117

Financial Feasibility
Financial feasibility should be distinguished from economic feasibility.

Financial feasibility involves the

capability of the project organization to raise the appropriate funds needed to implement the proposed
project. Project financing can be a major obstacle in large multi-party projects because of the level of
capital required. Loan availability, credit worthiness, equity, and loan schedule are important aspects of
financial feasibility analysis.

Cultural Feasibility
Cultural feasibility deals with the compatibility of the proposed project with the cultural setup of the project
environment. In labor-intensive projects, planned functions must be integrated with the local cultural
practices and beliefs. For example, religious beliefs may influence what an individual is willing to do or not
do.

Social Feasibility
Social feasibility addresses the influences that a proposed project may have on the social system in the
project environment. The ambient social structure may be such that certain categories of workers may be
in short supply or nonexistent. The effect of the project on the social status of the project participants
must be assessed to ensure compatibility. It should be recognized that workers in certain industries may
have certain status symbols within the society.

Safety Feasibility
Safety feasibility is another important aspect that should be considered in project planning.

Safety

feasibility refers to an analysis of whether the project is capable of being implemented and operated safely
with minimal adverse effects on the environment. Unfortunately, environmental impact assessment is
often not adequately addressed in complex projects.

As an example, the North America Free Trade

Agreement (NAFTA) between the U.S., Canada, and Mexico was temporarily suspended in 1993 because of
the legal consideration of the potential environmental impacts of the projects to be undertaken under the
agreement.

Political Feasibility

118

A politically feasible project may be referred to as a "politically correct project." Political considerations
often dictate direction for a proposed project. This is particularly true for large projects with national
visibility that may have significant government inputs and political implications. For example, political
necessity may be a source of support for a project regardless of the project's merits. On the other hand,
worthy projects may face insurmountable opposition simply because of political factors. Political feasibility
analysis requires an evaluation of the compatibility of project goals with the prevailing goals of the political
system.

Environmental Feasibility
Often a killer of projects through long, drawn-out approval processes and outright active opposition by
those claiming environmental concerns. This is an aspect worthy of real attention in the very early stages
of a project. Concern must be shown and action must be taken to address any and all environmental
concerns raised or anticipated. A perfect example was the recent attempt by Disney to build a theme park
in Virginia. After a lot of funds and efforts, Disney could not overcome the local opposition to the
environmental impact that the Disney project would have on the historic Manassas battleground area.

Market Feasibility
Another concern is market variability and impact on the project. This area should not be confused with the
Economic Feasibility.

The market needs analysis to view the potential impacts of market demand,

competitive activities, etc. and "divertible" market share available. Price war activities by competitors,
whether local, regional, national or international, must also be analyzed for early contingency funding and
debt service negotiations during the start-up, ramp-up, and commercial start-up phases of the project.

119

58.c
Information Gathering

Gathering all the relevant information is one of the most crucial tasks in the analysis of system.

The steps followed in gathering information are to first identify the information sources and then
find the appropriate method of obtaining information from each identified source.

The most important source of information, both qualitative and quantitative, are the end-users of
the system at all levels.

The other secondary sources can be:


o

Forms and reports used by the organization

Procedure manual

Book of rules

Information is gathered from top down. An overview is obtained at the top. Details are collected
from the people at working level. Gaining the confidence of working level users are vital for the
success of the project.

General strategy used by an analyst to gather information:


o

Identifying information sources

Evolving a method of obtaining information from the identified sources, and

Using an informational flow model of the organization

Main sources of information of an organization:


o

Interview with users of systems

Group Discussion

Forms and documents used in the organization

Procedure manuals and rule books (if any)

Any existing automated applications

Systems used in other similar organizations

Trade Journals

Conference Proceedings

Trade Statistics

Conversation with other system analyst

Methods of Gathering Information:


o

Interviewing various levels of managers

Interviewing persons who will operate the system

Using questionnaires distributed to the users

Interviews
o

Both qualitative and quantitative information can be obtained

120

Suggestion based on experience should be incorporated

Reading of the background material and preparation of the checklist prior to interview is
always recommended

Taking prior appointment, informing the purpose and time needed for interview always help.

Interview should be brief and should not exceed 40 minutes (ideally)

Group Discussions
o

Useful to obtain consensus on priorities

Many facts collected from individuals serves as an useful input to project

Questionnaires
o

Can gather quantitative data quickly from a large number of responders

Short questionnaires elicit quick response.

Anonymity, if needed, of responders can be preserved

Follow up may be required to get questionnaires back.

Questionnaires should not be used when qualitative information is needed

121

59.What is data structure? What is there are relation to data elements to data process data Hows, data
stores,[Nov-04].
Data Elements:The most fundamental level is the data element, for e.g. invoice no. invoice date, and amount due
are data elements included in the invoice data flow.
These serve as building blocks for all other data elements in the system. By themselves, they do
not convey any enough message to any user, for e.g. the meaning of the data item DATE on an invoice
may be well understood it means the date invoice was issued. However, out of this context it is
meaningless. It might pertain to pay date, graduation date, starting date or invoice date.
Data Structures:It is a set of data items that are related to one another and that collectively describe a component
in the system.
Both Data flows and data stores are data structures. They consist relevant elements that describe
the activity or entity being studied.
Relationship between data structures, data elements, data processes, data flows, and data
stores: Data element is the smallest unit of data that provides no further decomposition.
Data structure is a group of data elements handled as a unit e.g. Student Data Structure consist of
student_id, student_name, gender, prog_enrolled, blood_grp, Address, contact_no.
Data flows and data stores are data structures in motion and data structures at rest respectively.
And, Process is a procedure that transforms incoming data flows to outgoing Data flows.

122

60.Built air line reservation system. Draw context level diagram, DFD upto two level, ER diagram, draw
input, output screen [Nov-04].

123

124

125

126

127

128

61.What is goal of input and output design.[Apr-04]


Goals of Input Design:
1. The data which is input to a computerized system should be correct.. If the data is carelessly
entered will lead to erroneous results. The system designer should ensure that system prevents
such errors.
2. The Volume of data should be considered since if any error occurs, it will take long time to find out
the source of error.
The design of inputs involves the following four tasks:
a. Identify data inputs devices and mechanism.
b. Identify the input data and attributes
c. Identify input controls
d. Prototype the input forms
a. Identify data inputs devices and mechanism.
To reduce input error:
1. Automate the data entry process for reducing human errors.
2. Validate the data completely and correctly at the location where it is entered. Reject the
wrong data at its source only.
b. Identify the input data and attributes
1. It involves identifying information flow across the system boundary.
2. When the input form is designed the designer ensures that all these data elements are
provided for entry, validations and storage.
c. Identify input controls
1. Input integrity controls are used with all kinds of mechanisms which help reduces the
data entry errors at input stage and ensure completeness.
2. Various error detection and correction techniques are applied.
d. prototype the input forms
1. the users should be provided with the form prototype and related functionality including
validation, help ,error message.
Goals of Output Design:
In order to select an appropriate output device and to design a proper output format, it is necessary to
understand the objectives the output is expected to serve.
Following questions can address these objectives:
1. Who will use the report?
2. What is the proposed use of the report?
3. What is the volume of the output?
4. How often is the output required?
a.
If the report is for top management, it must be summarized, highlighting important results.
Graphical outputs e.g. bar charts and pie charts convey information in a form useful for decision
making.
b.
If the report is for middle management it should highlight exceptions. for example, in a
stores management system, information on whether items are rapidly consumed or not consumed
for longer period should be highlighted. Exceptions convey information for tactical management.
c.
At operational level all relevant information needs to be printed. for example, in a Payroll
system, pay slips for all employees have to be printed monthly.
d. The system should provide the volume of information appropriate for user requirement. The total
volume of printed output should be minimal. Irrelevant reports should be avoided.

129

62.Describe the concept and procedure used in constructing DFDs.Using and example of your own to
illustrate.[Apr-04]
Data flow diagram (DFD):
DFD is a process model used to depict the flow of data through a system & work or processing
performed by the system.
It also known as Bubble Chart Transformation graph & process model.
DFD is a graphic tool to describe & analyze the movement of data through a system, using the
processes, stores of data & delay in system.
DFD are of two types:
A) Physical DFD
B) Logical DFD
Physical DFD:
Represents implementation-dependent view of current system & system show what task are carried
out & how they are performed.
Physical Characteristics are:
1. name of people
2. form & document names or numbers
3. names of department
4. master & transaction files
5. locations
6. names of procedures
Logical DFD:
They represent implementation-independent view of the system & focus on the flow of the
specific devices, storage locations, or people in the system. They do not specify physical
characteristics
Listed above for physical DFDs.
The most useful approach to develop an accurate & complete description system begins with
the development of a physical DFD & then they are converted to logical DFD

Data store

PROCES
S

External entity

Procedure:
Step 1: make a list of business activities & use it to determine:
External entities
Data flows
Processes
Data stores
Step 2: draw a context level diagram:
Context level diagram is a top level diagram & contains
Only one process representing the entire system. Anything that not inside the context diagram will
not be the part of the system study.
Step3: develop process chart:

130

It is also called as hierarchy charts or decomposition diagram. It shows top down functional
decomposition of the system.
Step4: develop the first level DFD:
It is also known as diagram 0 or level 0 diagram. It is the explosion of the context level
diagram. It includes data stores & external entities. Here the processes are number.
Step 5: draw more detailed level:
Each process in diagram 0 may in turn be exploded to create a more detailed DFD. New data
flows & data stores are added. There are decomposition/ leveling of processes.
E.g. library management system

1.0

Librarian

Maintenance of
Book Master

Book Master

131

63.What consideration are involved in feasibility analysis which consideration do you think is not crucial?
Why?
Feasibility study
1. Feasibility study is the measure of how beneficial or practical development of an information
system will be to an organization.
2. Feasibility analysis is the process by which feasibility is measured
3. Feasibility study should be performed throughout the system development file cycle
4. A feasibility study is a study conducted to find out whether the proposed system would be
Possible to build with given technology and given resources
Affordable given the time and cost constraints of the organization
Acceptable for the use by an eventual user of the system
Purpose of the feasibility study
1. Need analysis : to determine the need for a change in an organization
2. cost benefit analysis : to study the effect of the change on the economics of the organization
3. Technical Feasibility : to evaluate various technologies that can be used for implementing
suggested change given the cost and resources constraints of an organization
4. Legal feasibility : to evaluate the legal procedure , if any should come into play to implement the
suggested change
Feasibility consideration:
1. need analysis
a need analysis is conducted with the following
objectives
seekig background information of the organization
understanding current issues to be tackled
understanding the user profile
Economic feasibility
Economic analysis is the most frequently used method for evaluating the effectiveness of the
candidate system. It is the most important phase in the development of the project. It is also know as cost
benefit analysis
While doing economic feasibility, one attempt to weigh the cost of developing n
implementing a new system against the benefit to be occurred from the having the new system in place
Tangible benefits are those that can be measured in money value where as intangible are
difficult to quantity
Technical feasibility
Technical feasibility is a measure of the practicality of a technical solution and the
availability of the technical resources and expertise
It helps I understanding what level and kind of technology is needed for the system
It entails an understanding in different technologies involved in the proposed system,
existing technology levels within the organizations and the level of expertise to use the suggested
technology
Legal feasibility
It entails copyright violations for systems that have to be developed for the open market
framing the contract for large systems, violation of terms etc
In order to ascertain legal feasibility, legal expert have to be called in
In many organization company secretaries can help out
Personal/ behavioral feasibility
People are into inherently resistant to change and computers have been to know to facilitate
the change
It is common knowledge that computer installations have something to do turnover,
transfer, retraining and changes in employee job status
Its is considerable that the introduction of a candidate system requires special effort to
educate, sell and train staff on new ways of conducting business

132

Political feasibility
It depends on the political environment of the organization

Steps in feasibility analysis


Form a project team and a appoint a project leader
Prepare system flow chart
Enumerate potential candidate systems
Describe and identify the characteristic of the candidate systems
Determine and evaluate the performance of each candidate systems
Weight system performance and cost data
Select the best candidate systems
Prepare and report the final project directives to management

133

64.What is normalization? What is purpose of normization,illustrate the method of normalization of


databases.
Normalization is a data analysis technique that organizes data attributes such that they are grouped to
form non redundant, stable, flexible and adaptive entities. Normalization is a three step technique that
places the data model into first normal form (1NF), second normal form (2NF), and third normal form (3NF).
It is a process of analyzing the given relation schemas based on their functional dependencies and
primary key to achieve the desirable properties of: Minimizing Redundancy.
Minimizing insertion, deletion, and update anomalies.
Method of Normalization of Databases
The process of normalization was first proposed by Codd, the process proceeds in a top down
fashion by evaluating each relation against a criterion of normal forms and decomposing relations as
necessary.
A relation schema is said to be in first normal form (1NF) if the values in the domain of each
attribute relation are atomic. In, other words only one value is associated with each attribute and the value
is not a set of value. A database schema is in 1NFif every relation schema included in the database schema
is in 1NF.
A relation schema is in second normal form (2NF) if it is in 1NFand if all the non prime attribute are
fully functional dependent on the relation keys. A database schema is in 2NF if every relation schema
included in the database schema is in 2NF.
A relation schema is in 3NF if for all non trivial functional dependencies in F + (closure of the given
set of functional dependencies ) of the form X->A, either X contains a key (i.e. X is a Super key) or A is a
prime attribute. A database schema is in 3NF if every relation schema included in the database schema is
in 3NF.

134

65.Discuss the six special system tests. Explain the purpose of each. Give example to show the purpose
of the tests.
Following are the types of system testing:
Functional Requirement Testing
Regression Testing
Parallel Testing
Execution Testing
Recovery Testing
Operations Testing
The first three types of system testing focus on testing the functional aspects of the system. i.e.
examining if the system is doing all that it was expected to do and it doing completely and accurately.
The last three types of system testing focus on testing the structural aspects of the system. I.e.
examining if the structure on the system is built meets expectations and how best.
1) Functional Requirement Testing
This is described as follows:a. The focus of this system testing is to ensure that the system requirements and specifications
are all met by the system. It also examines, if the application system meets the user
standards.
b. The test conditions are created directly from the user requirements and they aim to prove
the correctness of the system functionality.
c. The development team may prepare a list of core functionality to check and follow it
rigorously during the system testing for completion.
d. Every software system must be tested for the functional requirements testing. It is a
mandatory system testing.
e. The testing activities should begin at the system analysis phase and continue in every
phase, as expected.
2) Regression Testing
This is described as follows:a. Software testing is peculiar in a way that a system change carried out in one part of the
application system to charge its (previously tested) functionality.
b. The regression testing examines that the (testing) changes carried out in one part has not
changed the functionality in the other parts of the system.
c. This may happen, if a change (in software requirements or due to testing) is implemented
incorrectly either to wrong program (or lines) or wrongly.
d. In order to carry out the regression testing, the previously run test-data-packs are applied at
the input of the tested and/or unchanged programs and their expected outputs are
compared to match exactly to the expected output.
e. It also checks that there is no change in the manual procedures of unchanged parts of the
application system.
f. Regression system is more useful during system testing of large complex system, where
development team is very large, multiplication and/or team communication may be weak.
g. It is also advisable in frequently changing systems, such as the fast changing requirements
application system etc., where the regression system testing not only is effective technique
but also saves the system testing time and efforts significantly controlling the costs.
h. Also, with the changing requirements, changing test data is not current, then quality of
regression testing is poor.
i. Regression testing is optional.
3) Parallel Testing
It is described as follows:a. The objective of the parallel system testing is to ensure that the new application system
generates exactly similar output data as the just previous or the current application system.

135

b. Since the current application system is working live, the input data for that system is readily
available for parallel testing the new application system. Also, the expected results for that
data as input are also computed by the current application system.
c. The parallel testing for an exiting computerized current system involves mainly setting up
the environment for accepting the same input data, running the new application system and
matching the results or highlight the differences.
d. The purpose is to develop the user confidence in the new application systems. The Users
use the current system, so they are more confident about the functionality of the current
system. If the new system results the current one, Users derive confidence from it.
e. The parallel testing is advantageous because the testing activities are very minimum and
user confidence, which is otherwise very difficult to build, is built.
f. The drawback of the parallel testing is that the variation in the new and current system
functionality may make it difficult. Usually, the user builds newer systems to draw many
more benefits and therefore, typically, there are many differences. Therefore, analyzing the
mismatches is a very complex task.
g. Since the users are not trained so well on the new system. Or they are new to the new
system. They take time to analyze the differences and hence it may be costly activity.
h. Some times the changes may need to change the input data before the test run. This may
not be simple, therefore error prone, time consuming and frustrating to many users.
i. The parallel Run testing is optional.
4) Execution Testing
This is described as follows:a. The execution testing is to examine the new system by executing it. The purpose is to check,
how far it meets the operational expectations of the users.
b. It focuses on measuring the actual performance of the system, by measuring the response
time, turn around time, etc.
c. The response time is measured by timing the following activities as follows: The time taken by the new system to respond to critical queries of the users, where
a large database is accessed, computations performed and the query response is
displayed on the user screen.
The time taken by the new system to respond to some on-line transactions
processing requests of the users, involving Updating of the database and/or printing
a document and/or any other activity, as a part of the same transaction processing.
Similar operations carried out by secondary User, such as a Customer of the User
organization, etc who is located in different local and/or remote locations of the
installations etc.
d. the turn-around-time is measured in some situations as follows: For some batch processing part of the system, it measures the end-to-end time
taken for completely executing a certain number of transactions.
The above processing may include or exclusive processing dedicated processing
involving one or more of the following activites,such as report printing or
documents printing (e.g. bills)
And/or mass database updating/insertions.
The above processing in the different combination can be carried out from local
and remote locations.
e. The execution testing will also examine the system performance under the User stated
constraints. Various possible situations are as follows: Shortage of memory-either internal or external.
Use of slightly old and/or slower technologies to accept the external input data or to
send the output data to.
Restrictions of execution time-windows e.g. a specific processing must complete
end-to-end in45 minutes -60 minutes during the lunch hours in the Head Office etc.
or night processing/week-end processing windows etc.
f. The execution testing is also used to find out the resource requirements of the new system,
such as the internal memory, storage space, etc; this can also be used to plan for capacity
expansion, e.g. targeted speed of the proposed printer to be purchased soon.
g. Some times it is not possible to create the actual scenarios during the execution testing, for
various reasons. Then the execution testing uses simulations and models and uses them
effectively.

136

h. The execution testing is advantageous, because it can be carried out with little modifications
along with the other types of testing, e.g.requriements testing. Therefore, it saves time,
efforts and costs of total testing.
i. The drawback of execution testing is that creating the situations like remote processing or
use of new hardware/software proposed to be bought but not in possession at the time
execution time.
j. Also, the simulation may not be possible at times.
5) Recovery Testing
This is described as follows:a. Due to any attempts of attacks on the software systems integrity, such as virus or
unauthorized intrusion, etc. the systems integrity may be threatened or sometimes harmed.
In that case, the software system reliability is said to be in danger.
b. The recovery testing is expected to examine how far the system can recover from such a
disintegrated state and how fast.
c. The recover testing is also aimed at the following: Establishing the procedures for successful recovery.
Create Operational documentation for recovery procedure.
Train the users on the same and provide them an opportunity to develop/build
confidence on the system security.
d. The integrity loss may happen at any time for any long duration. Therefore the system
recovery processing must identify the time of failure, duration of failure and the scope of
damages carried out. The recovery testing should examine various commonly occurring
situations and even some exceptional situations.
e. The recovery procedure essentially involves the procedures to back-up of data,
documentating and training on the same.
f.
The recovery requirements differ from one application system to another. Therefore it may
not be carried out for some application system.
g. The drawback of the recovery system testing is the number of security failure scenarios, it
has been built for may be inadequate.
h. Also, the time, budget inadequacies may reflect to avoid or to inadequate focus on it.
6) Operation Testing
This is described as follows:a. The operation testing is to examine the operations of the new system in the operational
environment of the organization, along with the other systems being executed
simultaneously.
b. Typically, it can be used for the other purpose also, as mentioned below: To examine if the operations documents are complete, unambiguous and user
friendly.
To examine the effectiveness of the User training.
To examine the completeness and correctness of the Job Control source codes
developed to automate system operations.
To examine the operations of external interfaces and their Users efficiency in
handling them at work.
c. The advantages of the operation Testing is that it helps surface otherwise hidden problems
related to User Training, Documentation, and other operational flaws.
d. Also, if planned properly, it need not be carried out separately; it can be combined to save
testing time, effort and costs.
e. The drawback is that the users availability is always very for a limited time. Therefore, this
testing is either avoided or inadequately performed.

137

66.Consider payroll system for college, Explain the system to be developed for this the task through.
Develop Context level DFD,Draw physical and logical DFD,Data Dictionary and Draw ERD Diagram.

138

67.What is purpose of the system study? Whom should it invove? What outcome is expected?
Different stages in the System Study (SDLC) addresses the following keys points:
1. Recognition of needs:
Identify the business problem and opportunities.
2. Feasibility Study:
Check whether the problem is worth solving. Redefine the problem.
3. Analysis:
Select appropriate solution for solving the problem.
4. Design:
Design the system to address ho must the problem be solved and define
system flow. the user approval is important.
Proper testing should be exercised over each and every program/module.
5. Implementation:
Actual operations should be identified. Manuals should be provided to the user.
6. Post Implementation and Maintenance:
Proper maintenance support should be provided. Modifications are done if
some change occurs.
The primary source of information for the functional system requirement is various types of stake
holders of the new system. Stake holders are all the people who have interest in the successful
implementation of the system.
Stake holders are classified in three groups:
1. The uses: who actually work on the system on a daily basis.
2. the clients: who pay or own the system.
3. the technical staff: who ensure that the system operates the computing environment of the
organization.
The next important after identifying the stakeholders, is to identify the critical persons from each
stakeholder type.

139

68.What is structured analysis? How is it related to Fact Finding Technique?


1) Structured analysis is a model-driven, process-centered technique used to either analyze
system or define business requirements for new system, or both.
2) The models are pictures that illustrate the systems components pieces: processes and their
associated inputs, outputs, and files.
3) The traditional approach focuses on cost-benefit and feasibility anaysis, project management,
hardware and software selection, and personnel considerations. In contrast, structured analysis
considers new goals and structured tools for analysis.
4) The new goal specify the following:
i. Use graphics wherever possible to help communicate better with the user.
ii. Differentiate between logical and physical systems.
iii. Build a logical system model to familiarize the user with system characteristics and
interrelationships before implementation.
5) The structured tools focus on the following toolsi. Data flow diagrams (DFDs)
ii. Data Dictionary
iii. Structured English
iv. Decision trees and
v. Decision tables.
6) The objective is to build a new document, called system specifications. This document provides
the basis for design and implementation.
Step 1: Study affected user areas, resulting in a physical DFD.
Step 2: remove the physical checkpoint and replace them with a logical equivalent, resulting in the
logical DFD.
Step 3: Model new logical system.
Step 4: Establish man-machine interface.
Step 5: Quantify costs and benefits and select hardware.
Features of Structured Analysis:
1. It is graphic. The DFD for example, presents a picture of what is being specified and is a
conceptually easy-to-understand presentation of the application.
2. The process is partitioned so that we have a clear picture of the progression from general to specific
in the system flow.
3. It is logical rather than physical. The elements of the system do not depend on vendor or hardware.
They specify in a precise, concise, and highly readable manner the working of the system and how it
hangs together.
4. It calls for a rigorous study of the user area, a commitment that is often taken lightly in the traditional
approach to system analysis.
5. Certain tasks that are normally carried out late in the system development life cycle are moved to the
analysis phase. For example, user procedures are documented during analysis rather than later in
implementation.
Following are the fact finding techniques:
1. Existing documents or record review
2. On-site observation
3. Interview
4. Questionnaires
Existing documents or record review:
1. Many kinds of records and reports can provide analysts with valuable information about the
organization and its operation.
2. 2. In record reviews analyst examines information that has been recorded about system and users.
3. Records include written policy manual, regulation and standard operation procedures used by most
organization as a guide for managers and employees.
4. They describe the formal and functions of the present system. Included in most manual are
systems requirements that help determine how well various objectives are met.
5. Up-to-date manuals save hours of information gathering time. Unfortunately, in many cases,
manuals do not exist or are seriously out of date.

140

On-site observation:
1. On-site observation is the process of recognizing and nothing people, objects and occurrences to
obtain information.
2. The analyst role is that of an information seeker who is expected to be detached
from the system being observed. This role permits participation with the user staff
openly and freely.
3. The major objective of on-site observation is to get as close as possible to the real system being
studied. For this reason it is important that the analyst is knowledgeable about the general make-up
and activities of the system.
Advantages:
1. Data gathered based on the observation can be reliable. Sometimes observations are conducted to
check the validity of the data obtained directly from individuals.
2. The system analyst is able to see exactly what is being done. Through observation the analyst can
identify tasks that have been missed or inaccurately described by other fact-finding techniques.
3. Observation is relatively inexpensive compared with other fact-finding techniques usually require
substantially more employee release time and copying expenses.
4. Observation allows the system analyst to do work measurements.
Disadvantages:
1. Because people usually feel uncomfortable when being watched they may unwittingly perform
differently when being observed.
2. The work being observed may not involve the level of difficulty or volume normally experienced
during that time period.
3. Some system activities may take place at odd times, causing a scheduling inconvenience for the
system analyst.
4. If people have been performing tasks in a manner that violates standards operating procedures,
they may temporarily perform their job correctly while they are being observed. In other words
people may let you see what they want you to see.
Interviews:
1. Interview is a fact-finding technique where by the system analyst collects information from
individuals through face-to-face interaction.
2. There are two roles assumed in an interview:
a. Interviewer: The system analyst is the interviewer responsible for organizing interviews.
b. Interviewee: The system user or system owner is the Interviewee, who is asked to respond
to a series of questions.
3. There are two types of interviews:
a. Unstructured interviews: This is an interview that is conducted with only a general goal or
subject in mind and with few if any specific questions. The interviewer counts on the
interviewee to provide a framework and direct the conversation.
b. Structured interviews: This is an interview in which the interviewer has a specific set of
questions to ask of the interviewee.
4. Unstructured interviews tend to involve asking open ended questions while structured interviews
tent to involve asking more closed ended questions.
Advantages:
1. Interviews give the analyst an opportunity to motivate the interviewee to respond freely and openly
to questions.
2. Interviews allow the system analyst to probe for more feedback from the interviewee.
3. Interviews permits the system analyst to adapt or reword questions for each individual.
4. A good system analyst may be able to obtain information by observing the interviewees body
movements and facial expressions as well as by listening to verbal replies to questions.

141

Disadvantages:
1.
2.
3.
4.

Interviewing is very time consuming fact-finding approach.


It is costlier that other approaches.
Success of interviews is highly dependant on the system analysts human skills.
Interviewing may be impractical due to location of the interviewees.

Questionnaires:
1. Questionnaire is a special purpose documents that allows the analyst to collect information and
options from respondent.
2. There are two format for questionnaires:
a. Free format questionnaire: these are designed to offer the respondent greater latitude in
answer. A question is asked, and the respondent records the answer in the space provided
after the question.
b. Fixed format questionnaires: these are more rigid and contain questions that require
selecting an answer from predefined available responses.
Advantages:
1. Most questionnaires can answers quickly. People can complete and returns questionnaires at their
convenience.
2. Questionnaires allow individuals to maintain anonymity. Therefore, individuals are more likely to
provide the real facts, rather that telling u what they think their boss would want them to.
3. Questionnaires are relatively inexpensive means of gathering data from a large number of
individuals.
4. Responses can be tabulated and analyzed quickly.
Disadvantage:
1. The number of respondents is often low.
2. Theres no guarantee that an individual will answers or expand an all of the questions.
3. Questionnaires tend to be inflexible. There is no opportunity for the system analyst to obtain
voluntary information from individuals or to reword questions that may have been misinterpreted.
4. Its impossible for the system analyst to observe and analyze the respondents body language.
5. Good questionnaires are difficultly to prepare.

142

69.What are the basic components of the file? Give an example of each. Explain how file differ.

143

70.Explain how you would expect documentation to help analyst and designers.
Introduction:
Documentation is not a step in SDLC. It is an activity on-going in every phase of SDLC. It is about
developing documents initially as a draft, later on the review document and then a signed-off document.
The document is born, either after it is signed-off by an authority or after its review. It cries initial version
number. However, the document also undergoes changes and then the only way to keep your document
up tom date is to incorporate these changes.
Software Documentation helps Analysts and Designers in the following ways:
12. The development of software starts with abstract ideas in the minds of the Top Management of User
organization, and these ideas take different forms as the software development takes place. The
Documentation is the only link between the entire complex processes of software development.
13. The documentation is a written communication, therefore, it can be used for future reference as the
software development advances, or even after the software is developed, it is useful for keeping the
software up to date.
14. The documentation carried out during a SDLC stage, say system analysis, is useful for the
respective system developer to draft his/her ideas in the form which is shareable with the other
team members or Users. Thus it acts as a very important media for communication.
15. The document reviewer(s) can use the document for pointing out the deficiencies in them, only
because the abstract ideas or models are documented. Thus, documentation provides facility to
make abstract ideas, tangible.
16. When the draft document is reviewed and recommendations incorporated, the same is useful for
the next stage developers, to base their work on. Thus documentation of a stage is important for
the next stage.
17. Documentation is a very important because it documents very important decisions about freezing
the system requirements, the system design and implementation decisions, agreed between the
Users and Developers or amongst the developers themselves.
18. Documentation provides a lot of information about the software system. This makes it very useful
tool to know about the software system even without using it.
19. Since the team members in a software development team, keep adding, as the software
development project goes on, the documentation acts as important source of detailed and
complete information for the newly joined members.
20. Also, the User organization may spread implementation of a successful software system to few
other locations in the organization. The documentation will help the new Users to know the
operations of the software system. The same advantage can be drawn when a new User joins the
existing team of Users. Thus documentation makes the Users productive on the job, very fast and
at low cost.
21. Documentation is live and important as long as the software is in use by the User organization.
22. When the User organization starts developing a new software system to replace this one, even then
the documentation is useful. E.G. The system analysts can refer to the documentation as a starting
point for discussions on the documentation as a starting point for discussions on the new system
requirements.
Hence, we can say that Software documentation is a very important aspect of SDLC.

144

71.Discuss the six special system test give example?


The system testing examines the entire system to check how far it meets user expectations, especially in
terms of meeting the functional requirements and also meeting the performance requirements.
Six different types of testing are
Functional requirements testing
Regression testing
Parallel testing
Execution testing
Recovery testing
Operations testing
Functional requirements testing:
This is described as follows:
o
o
o
o
o

The focus of this system testing is to ensure that the system requirements and specifications
are all met by the system. It also examines, if the application system meets the user standards.
The test conditions are created directly from the user requirements and they aim to prove the
correctness of the system functionality.
The development team may prepare a list of core functionality to check and follow it rigorously
during the system testing for completion.
Every software system must be tested for the functional requirements testing. It is a mandatory
system testing.
The testing activities should begin at the system analysis phase and continue in every phase, as
expected.

Regression Testing:
This is described as follows:o
o
o
o
o

Software testing is peculiar in a way that a system change carried out in one part of the
application system, may impact the unchanged part of the application system to change its
functionality.
The regression testing examines that the testing changes carried out in one part has not
changed the functionality in the other parts of the system.
This may happen, if a change is implemented incorrectly either to wrong programs or wrong.
In order to carry out the regression testing, the previously run test data packs are applied at the
input of the tested and/or unchanged programs and their expected outputs are compared to
match exactly to the expected output.
This testing is more useful during system of large complex system, where development team is
very large, multilocation and or team communication may be weak.

Parallel Testing:
It is described as below:
o The objective of the parallel system is to ensure that the new application system generates exactly
similar output data as the just previous or the current application system.
o The parallel testing for an existing computerized current system involves mainly setting up the
environment for accepting the same input data, running the new application system and matching
the results to highlight the differences.
o The parallel testing is advantageous because the testing activities are minimum and user
confidence, which is otherwise very difficult to build, is built.
o The drawback of the parallel testing is that the variations in the new and current system
functionality may make it difficult.
Execution testing:
It is described as below:

145

o
o
o
o
o

The execution testing is to examine the new system by executing it. The purpose is to check, how
far it meets the operational expectations of the users.
It focuses on measuring the actual performance of the system, by measuring the response time,
turn around time etc.
The execution testing is also used to find out the resource requirements of the new system, such as
the internal memory, storage space, etc. this can also be used to plan for capacity expansion.
The execution testing is advantageous, because it can be carried out with little modifications along
with the other types of testing. Therefore it saves time effort and cost of total testing.
The drawback of execution testing is that creating situations like remote processing or use of new
hardware/ software proposed to be bought but not in possession at the time of execution time.

Recovery testing:
It is described as below:
o Due to any attempts of attacks on the software systems integrity, such as virus or unauthorized
intrusion. The sys integrity may be threatened or sometimes harmed. In that , the software system
reliability is said to be in danger.
o The recovery testing is also aimed at the following:
- Establishing the procedures for successful recovery,
- Create operational documentation for recovery procedure.
- Train the users on the same and provide them an opportunity to develop/build confidence on
the security .
o

The integrity loss may happen at any time for any long duration. Therefore the system recovery
processing must identify the time of failure, duration of failure and the scope of damages carried
out. The recovery testing should examine various commonly occurring situations and even some
exceptional situations.

Operations testing:
It is described as below:
o The operation testing is to examine the operations of the new system in the operational
environment of the organization, along with the other systems being executed simultaneously.
o Typically it can be used for the other purposes also, as mentioned below:
o
o

To examine if the operations documents are complete, unambiguous and user friendly
To examine the effectiveness of the user training
To examine the completeness and correctness of the job control source codes developed to
automate system operations
To examine the operations of external interfaces and their users efficiency in handling them
at work.

The advantages of the operations testing is that it helps surface otherwise hidden problems related
to user training, documentation and any other operational flaws.
The drawback is that the users availability is always very for a limited. Therefore this testing is
either avoided or inadequately performed.

146

72.Build Buying and selling system of import business of engineering products. Using following problem
definition.
a. Recording details of sales.
b. Details of stock
c. Evaluation of stock and placement of order to appropriate suppliers develop context level
DFD.Draw physical and logical DFD, Data Dictionary and Draw ER Diagram.

147

73.Explain the difference between:


a. Logical and physical record.
b. Data item and field
c. File activity and file volatility.
d. Sequential and indexed sequential.
1. Logical and Physical record.
2. Data item and field.
3. File activity and file volatility.
4. Sequential and indexed sequential.
Logical record:1) A logical record maintains a logical relationship among all the data times in record .
2) It is the way the program or user sees the data.
3) The software present the logical record in the require sequence.
Physical record:1) Physical record is the way data recorded on storage medium.
2) The programmer does not mean about the physical Map on the disk.
Data Item:1) Individual elements of data are called data items (also known as fields). Each data item is identified by
name and has specific value associate with it. The association of a value with a field creates one instance
of data item.
2) Data items can comprise sub items or subfields for examples, Data is often used as a single data item,
consisting of subfields of month, day and year.
3) Whenever a field consisting of subfields is referenced by name, it automatically includes only that
subfields and excludes all other subfields in data item. Therefore the subfield day in data item excludes
months and year.
Data Fields:
1) Fields are the smallest units of meaningful data stored in a file or database. There are four types of
fields that can be stored: primary key, secondary key, and foreign keys, and descriptive fields.

Primary key: A primary key is a field that identifies a record in a file.


Secondary key: A secondary key is a field that identifies single record or a subset of related
records.
Foreign key: A foreign key is a field that points to records in different file in a database.
Descriptive fields: A descriptive field is a nonkey field that stores business data.

File Activity:
1) Its specifies the percentage of actual record processed in single record.
2) If small percentage of record is accessed at any given time file should be organized on the disk for direct
access and if fair percentage is effected regularly then storing the file on the tap would be more efficient
and less costly.
File Volatility:1) It addresses properties of record changes .
2) File record with substantial change are highly volatile, meaning disk design would be more efficient
then tape.

148

3) Higher the volatility more attractive is disk design.


Sequential:1) In computer science sequential access means that a group of elements (e.g. data in a memory array
or a disk file or on a tape) is accessed in a predetermined, ordered sequence. Sequential access is
sometimes the only way of accessing the data, for example if it is on a tape. It may also be the access
method of choice, for example if we simply want to process a sequence of data elements in order.
2) Write operation require that data is first arrange in order thus data need to be sorted before entry
.Append adding at the end of the file is simple.
3) to access the record, previous record within the block are scanned thus the sequential record design is
best suited for get next activities , reading one record after another without a search delay.
4) Advantages:

Simple to desine
Easy to program
Variable length & block record are available
Best use of best disk storage

5) Disadvantage
Records can not be added to the middle of the file.
Indexed Sequential:1) ISAM stands for Indexed Sequential Access Method, a method for storing data for fast retrieval. ISAM
was originally developed by IBM and today forms the basic data store of almost all databases, both
relational and otherwise.
2) The difference is in use of indexes to locate the record.
3) Disks storage:
Disk storage is divided in 3 parts
1) prime area: Contain file records stored by key or id no
2) Overflow area: contains records added to the files that cannot be placed to in the logical sequence
in prime area.
3) Index area: Contains keys of records and their locations on the disks.
4) Advantages:
reduces the magnitude of the sequential search
Records can be inserted or updated in middle of the file.
5) Disadvantage: extra storage is required
Longer to search
Periodic reorganization off file is required.

149

74.Describe some ways of questioning during an interview?Describe some typical users and the most
appropriate questioning for then.
Asking question depends upon the developer team asking questions to different users with the purpose to
seek their exact and complete information requirements.
The types of Questions to be asked:- either the structured interview meetings or semi-structure, questions
is the powerful tool the software development team uses to determine information requirements in this
technique. Therefore, it is important to ask right questions, at the right time, to the right user members
and confirms time and again with the user, the development team members understanding of the exact
information requirements during the meeting and document them correctly for future references.
It is therefore, important to know, how the question should be framed.
There are two types of questions they are as follows:
1. Open questions These are those questions which seek descriptions of an object of the system.
Eg.what is the purpose of the new software system? is an open ended question, since it expects
the elaborate, descriptive answers to the question asked. Generally, this type of questions start
with words, such as what, how why etc. some times answers to questions starts when and who may
also descriptive.
The open questions are very useful in information requirements determination, because if answered
properly by the user, they provide a lot of information to the developers. This helps very
significantly, in ending a lot of uncertainty about the proposed application system just with a single
question. That means, if used properly the open ended questions are very efficient for information
determination requirements.
2. Closed questions It can also be used effectively to freeze the understanding of the user team
and development team on long discussed topic. eg. in payroll application there was a long
discussion on should the new information system should provide for two components of salary
structure, such as a fixed component and a variable components. The meeting nearly concluded
that new application system should provide the same. The developers may ask questions to the
users, such as Can this meeting confirms to the development team, that new payroll application
should provide for two components salary structure, such as fixed and variable components? Will
force the meeting to answer as either Yes or No or To be confirmed later by the VR (HR). this will
summarize the status on agreement on this issue. This is an important issue of the payroll
application development, which can be concluded very effectively by asking a close question as
above.
There are two types of interviews, unstructured and structured. Unstructured interviews are
characterized as involving general questions that allow the interviewee to direct the conservation. This
type of interview frequently gets off track, and the analyst must be prepared to redirect the interview back
to main goal or subject. For this reason, unstructured interviews dont usually work well for systems
analysis and design.
Structured interviews involve the interviewer asking specific questions designed to elicit specific
information from the interviewee. Depending on the interviewees responses the interviewer will direct
additional questions to obtain clarification or amplification.
Some of these questions may be planned and others spontaneous.
Unstructured interviews tend to involve asking open-ended questions. Questions give the interviewee
significant latitude in their answers. An example of an open-ended question is Why are You dissatisfied
with there ort of uncollectible accounts?. Structured interviews tend to involve asking more closed-ended
Questions that are designed to elicit short, direct responses from the interviewee .Examples of such
questions are Are you receiving the report of uncollectible accounts on time?. And does the report of
uncollectible accounts on time? and Does the report of uncollectible accounts contain accurate
information / Realistically, most questions fall between the two extremes.

150

75.What is decoupling? What is its role in system handling?


DECOUPLING AND ITS ROLE IN SYSTEM HANDLING

Decoupling facilitates each module of the system to work independently of others.


Decoupling enhances the adaptability of the system by helping in isolating the impact of potential
changes i.e. more the decoupling, easier it is to make changes to a subsystem without effecting the
rest of the system.
Concept of decoupling is also used in :
Separation of functions between human beings and machines.
Defining the human-computer interfaces.
Decoupling is achieved by:
Defining the subsystems such that each performs a single complete function.
Minimizing the degree of interconnection (exchange of data and control parameters).
Key decoupling mechanisms in system designs are:
Inventory, buffer, and waiting line.
Provision of slack resources.
Extensive use of standards.

151

76.Draw a context diagram for purchasing systems. Also draw two levels of details for the same. Write
data dictionary entries for any 2 data elements,2 data stores,2 processes and 2 data structure of your
choice for the above system.

Product

Purchasing Dept

Customer

Bills

Order request

Customer

Order notification

Purchasing Dept

Purcha
sing

WareHouse

Low inventory
notice
Shipment request

System

WareHouse

Product
Low inventory notice

Supplier

Raises invoice

Payment
Purchase order

Supplier

Product supply

CONTEXT DIAGRAM

DATA FLOW DIAGRAM


1. Warehouse dept gives stock details to the system.

Warehouse

Stock details

1.
0

Manage stock

Stock details

2. Customer gives product order to the system.

2.0

Customer

Customer and
order details

Process order

p
Shi

1 Stock master

Warehouse

est
equ
r
t
n
me

Order details

Order details
Customer details

Customer details

152

3. Warehouse gives product confirmation/low inventory notification to the system and the
system gives delivery confirmation to the customer and the low inventory notice to the
purchasing dept.

Warehouse

Con
deli firma
ver tion
y
of

Low inventory notice


Stock
details

Customer
3.
0

Process request

Stock

1 master

Product delivery
notification
Low inventory
notice

Purchasing Dept.

4. Make purchase order process gives purchasing order to the supplier.

Purchasing dept.
Purchasing
details
Order
details

4.
0

Make purchase
order

Purchase
details

4
Purchasing
details
Purchase Order
details

Supplier

Order details

5. Supplier gives receipt for product supplied to the purchasing


dept.
4 Purchase

Supplier
produc
t

5.0
Receive
product

details
Purchasing
details
Receipt of supplied product

Purchasing
dept.

153

6. Manage inventory process updates the stock master file.

Warehouse.

Purchasing dept.

Purchasing order
details
Purchasing details

6.0
Manage
inventory

Inventory details
Inventory details
1 Stock master

4 Purchase details

7. Supplier raise invoice for the product supplied to the purchasing


dept.

Purchasing dept.
Supplier
Raises invoice

7.0
Generate
invoice

invoice
Invoice details
5

Invoice master

154

8.Purchasing dept. makes payment to the supplier

Purchasing details

Purchasing
dept.

Make
payment

8.
0

Make
payment

Payment
details

Invoice details

5
2

Supplier

Payment received
Payment
details

Order
details

9. Purchasing dept generates bills to the customer .

Purchasing
dept.
Bill details
Invoice
details
5

Invoice details

Customer

9.0

Generate
bills

Bill issued
Bill
details
3

customer
details

155

10.Receive payment process maintains the payment maid by the


customer in various master

Customer
Make
payment

10

Receive
payment

Invoice details

Payment
details
Payment 2
details
Payment details

Order details

customer details

156

77.Develop a decision tree and a decision table for the following:


a. If thre person is under 3 years of age,there is no admission fee.If a person is under 16 half the full
admission is charged and this admission is reduced to quarter of full admission if the person is
accompanied by adult (the reduction applies only if the person is under 12).Between 16 and
18,half the full admission fee is charged if the person is student :otherwise the full admission is
charged.
b. Over 18,the full admission fee is charged.
c. A discount of 10% is allowed for a person over 16,if they are in group of 10 or more.
d. There are no student concession during weekends.On weekends under 125 get one free ride.

157

158

What is difference between system analysis and system design. How does the focus of
information system analysis differ from information system design?
System analysis:
System analysis is a problem solving technique that decomposes a system into its component pieces for
the purpose of studying how well those components parts work and interact to accomplish their purpose
System design:
System design is the process of planning a new business system or one to replace or complement an
existing system.
Information system analysis:
Information system analysis primarily focuses on the business problem and requirements, independent of
any technology that can or will be used to implement a solution to that problem
Information system design:
Information system design is defined as those tasks that follow system analysis and focus on the
specification of a detailed computer based solution.
System analysis emphasizes the business problems; system design focuses on the technical or
implementation concerns of the system.
What are the elements of cost benefit analysis?
Cost benefit analysis is a procedure that gives the picture of various costs, benefits and rules association with
each alternative system
Cost benefit categories:
In developing cost estimates for a system, we need to consider several cost elements. They are:

Hardware costs: It relates to the actual purchase or lease of the computer and peripherals (for e.g.
printer, diskdrive, and tape unit). Determining the actual cost of hardware is generally more difficult
when the system is shared by various users than for a dedicated stand alone system alone system. In
some cases, the best way to control for this cost is to treat it as an operating cost.
Personnel costs: It includes EDP staff salaries and benefits (health insurance, vacation time, sick pay
etc.) as well as pay for those involved in developing the system. Costs incurred during the development
of a system are one time costs and are labeled developmental costs. Once the system is installed, the
costs of operating and maintaining the system become recurring costs.
Facility costs: They are the expenses incurred in the preparation of the physical site where the
application or the computer will be in operation. This includes wiring, flooring, acoustics lighting and air
conditioning. These costs are treated as one time cost and are incorporated into overall cost estimate
of the candidate system.
Operating costs : It includes all costs associated with the day to day operation of the system; the
amount depends on the no. of shifts, the nature of the applications and the caliber of the operating
staff. There are various ways of covering operating costs. One approach is to treat operating costs as
overhead. Another method is to charge each authorized user for the amount of processing they request
from the system. The amount of processing they request from the system. The amount charged is
based on computer time, time and volume of the o/p produced. In any case, some accounting is
necessary to determine how operating costs should be handled.
Supply costs: They are variable cost that increases with increased use of paper, ribbons, disks etc. They
should be estimated & included in the overall cost of the system.

159

The two major benefits are improving performance & minimizing the cost of processing. The performance
category emphasizes improvement in the accuracy of or access to info & easier access to the system by
authorized users. Minimizing costs through an efficient sys. Error control or reduction of staff is benefit that
should be measured & included in cost benefit analysis.
Summarize he procedure for developing DFD, using your own example illustrate.
Structured analysis is a model driven, process centered technique used to either analyze an existing
system or define business requirements for a new system or both.
One of the tools of structured analysis is the DFD.
DFD is a process model used to depict the flow of data through a system and work or processing
performed by the system.
DFD are of 2 types:
Physical DFD
Logical DFD
Physical DFD represent implementation dependent view of the current system & show what tasks are
carried out and how they are performed.
Logical DFD represent implementation independent view of the system and focus on the flow of the
specific devices, storage locations or people in the system.
Most comprehensive and useful approach to develop an accurate & complete description of the current
begins with the development of physical DFD & then they are converted to logical DFD.
Developing DFD:
1. make a list of biz activities & use it to determine
External entities i.e. source & sink
Data flows
Processes
Data stores
2. draw a context level diagram
Context level diagram is a top level diag and contains only one process representing the entire
system. It determines the boundaries of the system. Anything that is not inside the context diag will
not be the part of system study.
3. develop process chart
It is also called as hierarchy charts or decomposition diagram. It shows top down functional
decomposition of the sys.
4. develop the first level DFD
It is aka diag 0 or 0 level diag. It is the explosion of the context level diagram. More processes are
included. It includes data stores and external entities. Here the processes are numbered.
5. draw more detailed level :
Each process in diagram 0 may in turn be exploded to create a more detailed DFD. New data flows
& data stores are added. There are further decomposition/ leveling of processes.

160

Explain briefly by example:


Decision table
A decision tree is a diagram that presents conditions and actions sequentially and thus shows which
conditions to consider first, which second and so on..it is also a method of showing the
relationship of each condition and its permissible actions.
The root of the tree, on the left of the diagram is the starting point of the decision sequence. The
particular branch to follow depends on the conditions that exist and the decision to be made.
Progression form the left to right along a particular branch is the result of making a series of
decisions.
Developing decision trees is beneficial to analyst in 2 ways:
The need to describe conditions & actions forces analysts to formally identify the actual
decisions that must be made. It becomes difficult to overlook an integral step in the decision
process, whether it depends on quantitative or quantitative value
Decision trees also force analysts to consider the sequence of decision

Condition:
Size of order: over $10,000
$ 5000 to $ 10,000
Less than $ 5000

Action:
take 3 % discounts from
Invoice tools
2%
no discount

161

3
Amount

< 10days
0

Days

> 10 days

Amount

Decision tables
A decision table is a matrix of rows and columns, rather than a tree that shows conditions and
actions.
The decision table is made up o four sections: conditions statements, condition entries, action
statement and action entries.

Condition statements identifies the relevant conditions


Conditions entries tell which value, if any applied for particular condition.
Action statements list the set of all steps that can be taken when a certain condition occurs.
Action entries show what specific action in the set to take when selected conditions or
combinations of conditions are true.

The columns on the right side of the table, linking conditions and actions, form decision rules, which
state the conditions that must be satisfied for a particular set of actions to be taken.
e.g. decision table using y/n format for payment discount

<10 days
>$
10,000
$ 5000 - $
10,000
< $ 5000
Take 3%
discount
Take 2 %
discount
Pay full
invoice

Y
Y

Y
N

Y
N

N
Y

N
N

N
N

N
X

162

amount

Structured English
This technique is described as follows:

The structured English description of process combines the structured programming techniques
with the simple English
The statements used are very brief
The process description is articulated very carefully
This method does not use trees or tables, but rather narrative statements to describe a procedure
It does not show decision rules: it states them
The terminology used in the structured description of an application consists largely of data names
for elements that are defined in the data dictionary developed for the project.
It makes a rich use of indentations to denote the nesting of blocks of statements
There is no scope for ambiguity & representation errors.

Eg a/c payable processing


Accept invoice for processing
Prepare payment voucher using invoice
Revise a/c balance due
Mail check to vendor

Data Dictionary
Data dictionaries are integral components of structures analysis, since data flow diagrams themselves do
not fully describe the subject of the investigations.
A data dictionary is a catalog a repository of the elements in a system
In data dictionary one will find a list of all the elements composing the data flowing through a system. The
major elements are
Data flows
Data stores
Processes
The dictionary is developed during data flow analysis and assists the analysis involved in determining the
sys. Design as well..
Importance
To manage the details in large sys.
To communicate a common meaning for all system elements
To document the features of the sys.
To facilitate analysis of the details in order to evaluate characteristics and determine where sys
changes should be made
To locate errors and omissions in the sys
Contents of data dictionary
Data elements
The most fundamental data level is the data element. They are the building blocks for all other data in the
system
Data structures

163

A data structure is a set of data items that are related to one another and that collectively describe a
component in the sys.
What is the reason for selecting the prototype development method? What are the desired
impacts on the application development process?

The sys prototype method involves the user more directly in the analysis & design experience than
does the SDLC or structured analysis method.
A prototype is working sys not just an idea on paper that is developed to test ideas and
assumption about the new system. Like any computer based sys it consists of working software that
accepts input, performs calculations, produces printed or displayed information or performs other
meaningful activities.it is the first version or iteration of an information system an original model
The design and the information produced by the system are evaluated by users. This can be
effectively done only if the data are real & the situations live. Changes are expected as the system
is used

Reasons for sys prototyping:

Information requirements are not always well defined. Users may know only that certain biz areas
need improvement or that existing procedures must be changed. Or they may know that they need
better information for managing certain activities but are not sure what that info is.
The users requirements might be too vague to even begin formulating a design. In other cases, a
well managed systems investigations may produce a comprehensive set of sys requirements, but
building a sys that will meet those requirements may require development of new technology.

Unique situations, about which developers have neither info nor experience, and high cost or high
risk situations in the proposed design is new and untested, are often evaluated through prototypes.

The prototype is actually a pilot or test model; the design evolves through use.

Although the prototype is working system, it is designed to be easily changed. Information gained
through its use is applied to a modified design that may again be used as a prototype to reveal still
more valuable design information.

The process is repeated as many times as necessary to reveal essential design requirement.

System prototyping is an interactive process. It begins with only few functions and be expanded to
include others that are identified later.

Steps in the prototyping process:


1. identify the user known information requirements and features needed in the system.
2. develop a working prototype
3. use the prototype, noting needed enhancements and changes. These expand the list of known sys
requirements
4. revise the prototype based on info gained through user experience
5. repeat these steps as needed to achieve a satisfactory system.

164

What s feasibility study? What are different types of feasibility study?


What considerations are involved in feasibility analysis? Which considerations do you think is
most crucial? Why?
Feasibility study:
1. Feasibility is the measure of how beneficial or practical the development of an information system
will be to an organization
2. Feasibility study (feasibility analysis) is the process by which feasibility is measured.
3. Feasibility study should be performed throughout the system development life cycle
4. A feasibility study is a study conducted to find out whether the proposed system would be :
Possible to build with given technology and resources.
Affordable given the time and cost constraints of the organization and
Acceptable for use by the eventual users of the system
Purpose of feasibility study:

Need analysis to determine the need for a change in an organization.


Cost benefit analysis to study the effect of the change on the economics of the organization.
Technical feasibility to evaluate various technologies that can be used for implementing the
suggested change given the cost and resources constraints of an organization
Legal feasibility to evaluate the legal procedures, if any should come into play to implement the
suggested change
Evaluation of alternatives to evaluate the various alternatives that would be thrown up with
regard to resolving the problems of an organization and recommend the best suited one.

Feasibility considerations:

Need
-

Economic feasibility:
-

analysis: A need analysis is conducted with the following objectives in mind:


Seeking background information of the organization.
Understanding current issues to be tackled, and
Understanding the user profile.

Economic analysis is the most frequently used method for evaluating the effectiveness of a
candidate system. It is the most important phase in the development of the project. It is also
known as cost benefit analysis
While doing economic feasibility one attempt to weigh the costs of developing and
implementing a new system against the benefits to be accrued from having the new system
in place. Several costs as well as the benefits of a system are considered when studying the
economic feasibility of a system.
When benefits outweigh cost, a system is said to be economic feasible. It includes both, the
tangible and the intangible benefits.
Tangible benefits are those that can be measured in money value whereas intangible
benefits are difficult to quantity.

Technical feasibility :
- Technical feasibility is a measure of the practicality of a technical solution and the
availability of the technical resources and expertise.
- It helps in understanding what level and kind of technology is needed for a system.

165

Legal feasibility:
-

Legal feasibility entails copyright violations for systems that have to be


developed for the open market, framing of the contract for large system, violation of terms
etc.
In order to ascertain legal feasibility, legal experts have to be called in.
In many organizations, company secretaries can help out.
It is beyond expertise level of the analyst conducting the study.

Personal/ behavioral feasibility:


-

It includes functions, performance issues and constraints that may affect the availability of
the technical resources and expertise.
Technical feasibility entails an understanding in different technologies involved in the
proposed system, existing technology levels within the organization and the level of
expertise to use the suggested technology.

People are inherently resistant to change and computers have been known to facilitate
change.
An estimate should be made of how strong a reaction the user staff is likely to have towards
the development of a computerized sys.
It is common knowledge that computer installations have something to do with turnover,
transfers, retraining and changes in employee job status.
Therefore, it is considerable that the introduction of a candidate sys requires special effort to
educate, sell and train the staff on new ways of conducting biz.

Political feasibility:
It depends on the political environment of an organization.

Evaluation of alternatives :
-

It includes an evaluation of alternative approaches to the development of system


The option with the lowest cost and maximum returns is considered the most feasible option
However a number of qualitative and intangible issues also greatly influence this decision.

Steps in feasibility analysis:


1.
2.
3.
4.
5.
6.
7.
8.

Form a project team and appoint a project leader


Prepare sys flow chart
Enumerate potential candidate systems.
Describe and identify characteristics of candidate system.
Determine and evaluate performance and effectiveness of each candidate system.
Weight system performance and cost data.
Select the best candidate system.
Prepare and report final project directive to management.

What is normalization? What is purpose of normalization of database?


Normalization is a process of simplifying the relationship between data elements in a record. Through
normalization a collection of data in a record structure is replaced by successive record structures is
replaced by successive record structures that are simpler and more predictable and therefore more
manageable. Normalization is carried out for four reasons:

To structure the data so that any pertinent relationships between entities can be represented.
To permit simple retrieval of data in response to query and report requests.

166

To simplify the maintenance of the data through updates, insertions and deletions.
To reduce the need to restructure or reorganize data when new application requirements arise.

Systems analysts should be familiar with the steps in normalization, since this process can improve the
quality of design for an application.

Decompose all data groups into two dimensional records.


Eliminate any relationships in which data elements do not fully depend on the primary key of the
record.
Eliminate any relationships that contain transitive dependence.

There are three normal forms. They are


First normal form:
One of the most basic improvements the analyst can make is to design the record structure so that all
record in a file is the same length. Variable length records create special problems, since the system must
always check to see where a record ends. Fixing record length eliminates this problem.
First normal form is achieved when all repeating groups are removed so that a record is of fixed length.
Second normal form:
Second normal form is achieved when a record is in first normal form and each item in the record is fully
dependent on the primary record key for identification. In other words, the analyst seeks functional
dependency: a data item is functionally dependent if its value is uniquely associated with a specific data
item.
Third normal form :
Third normal form is achieved when transitive dependencies are removed from a record design. The
general case is as follows:
A, B,C are three data items in a record.
If C is functionally dependent on B and B is functionally dependent on A,
Then C is Functionally dependent on A.
Therefore, a transitive dependency exists.

What are major threats of system security? Which one is more serious? Why?
System security:
The system security problem can be divided into four related issues:
System security:
System security refers to the technical innovations and procedures applied to the hardware and
operating systems to protect deliberate or accidental damage from a defined threat.
System integrity:
System integrity refers to the proper functioning of hardware and programs, appropriate physical
security, and safely against external threats such as eavesdropping and wiretapping
Privacy :
Privacy defines the rights of the users or organizations to determine what information they are
willing to share with or accept from others and how the organization can be protected against un welcome,
unfair or excessive dissemination of information about it.
Confidentiality:
The term confidentiality is special status given to sensitive information in a database to minimizes
the possible invasion of privacy. It is an attribute of information that characterizes its need for protection

167

Threats to system security:


o
o

o
o
o

Errors and omissions: errors and omission contains a broad range of miscues. Some results in
incredible but short lived
Disgruntled and dishonest employees: when huge quantities of info are stored in one database
sensitive data can be easily copied and stolen. A dishonest programmer can bypass control and
surreptitiously authorize his/ her own transactions. Dishonest employee have an easier time
identifying the vulnerabilities of a software sys than outside hackers because they have access to
the sys for a much longer time and can capitalize on its weakness.
Fire: fire and other man made disasters that deny the system power, air conditioning or needed
supplies can have a crippling effect. In the design of sys facility, there is tendency to place fire
fighting equipments.
Natural disaster: natural disasters are floods hurricanes, snowstorms, lightening, and other
calamities. Although there is no way to prevent them from occurring there are measures to protect
computer based systems from being wiped out.
External Attack: Outside hackers can get into the systems and have access to confidential, sensitive
data. This is possible because of bugs or vulnerabilities in the current system

According to a survey, an estimated $ 70 billion are lost each year to computer related crime, fraud and
embezzlement; 75 percent of this is attributed to insiders of organizations. Therefore disgruntled and
dishonest employees are more serious threats to systems security.
Define data structure? What are the major types of data structure?
An entity is conceptual representation of an object. Relationships between entities make up a data
structure.
Types of relationships exist among entities: one to one, one to many, many to many relationships.
A one to one (1:1) relationship is an association between two entities.
A one to many (1:M) relationship describes an entity that may have two or more entities related to it.
A many to many (M:M) relationship describes entities that may have many relationships in both the
directions.
Types of data structures:
Data structuring determines whether the system can create 1:1, 1:M, M:M relationships among entities.
There are three types of data structures: hierarchical, network, and relational
Hierarchical structuring: hierarchical (also called tree) structuring specifies that an entity can have no
more than one own entity; that is we can establish a 1:1 or 1:M relationship. The owning entity is called
parent or root. There is only one root in a hierarchical model.
A parent can have many children 1:M whereas a child can have only one parent.

children

toys

168

Network Structuring: a network structure allows 1:1 , 1:M or M:M relationships among entities. A
network structure reflects the real world.

Ford

Grille

GM

Radiator

Alternator

Distributor

batteries

Drive
Shaft

Relational structuring: in relational structuring, all data and relationships are represented in a flat , tow
dimensional table called a relation. It is equivalent to a file. It allows user to update the tables content.
Employee number
211
212
213

degree
MBA
MCA
high school

You might also like