System Analysis and Design Book PDF
System Analysis and Design Book PDF
System Analysis and Design Book PDF
1. Introduction
SDLC
Explanation of the phases
Different models their advantages and disadvantages
o Waterfall approach
o Iterative approach
o Extreme programming
o RAD model
o Unified process
o Evolutionary software process model
- Incremental model
- Spiral model
- Concurrent development model
4. Feasibility Analysis
2
6. Design
Hipo chart
Warnier orr diagram
Designing databases
Entities
Relationships
Attributes
Normalization
Input design
Output design
User interface design
8. Testing
10. Documentation
Books :
4
1
INTRODUCTION
Unit Structure
1.1 Introduction
1.2 System
1.3 Classification of System
1.3.1 Physical or Abstract System
1.3.2 Open Closed System
1.3.3 Man made Information System
1.3.4 Computer Base System:
1.3.5 Information System:
1.3.6 Transaction Processing Systems
1.3.7 Management Information Systems
1.3.8 Decision Support Systems
1.4 System Analysis :
1.5 Software Engineering:
1.6 System Design :
1.6.1 Logical Design
1.6.2 Physical Design
1.7 System Analyst:
1.7.1 Role of System Analyst:
1.7.2 Task of System Analyst:
1.7.3 Attributes of System Analyst:
1.7.4 Skill required for System Analyst:
1.8 Summary
1.1 INTRODUCTION:
1.2 SYSTEM
Computers are fast becoming our way of life and one cannot
imagine life without computers in today’s world. You go to a railway
10
station for reservation, you want to web site a ticket for a cinema,
you go to a library, or you go to a bank, you will find computers at
all places. Since computers are used in every possible field today, it
becomes an important issue to understand and build these
computerized systems in an effective way.
these tasks the analyst must always match the information system
objectives with the goals of the organization.
1) System analysis
It includes system's study in order to get facts about
business activity. It is about getting information and determining
requirements. Here the responsibility includes only requirement
determination, not the design of the system.
1: Communication:
It is an interpersonal quality; the system analyst must have
command on English language. Communication is necessary to
establish a proper relationship between system analyst and the
user.
2: Understanding:
This is also an interpersonal quality of the system analyst,
understanding includes
3: Selling:
The ideas of the system analyst are his products which he sells
to the manager of a particular organization. The system analyst
must have not only the ability of creating ideas but also to sell his
ideas.
4: Teaching:
It is also an interpersonal quality. A system analyst must
have teaching skills. He must have the ability to teach team
members and the users. He has to teach about the new system
and also about the proper use of the new system.
5: New technology:
1.8 SUMMARY
Questions:
1. What is system? Explain classification of system?
Ans: Refer 1.2 and 1.3
2. Explain skill of system analyst?
Ans: refer 1.7.4
16
APPROACHES TO SYSTEM
DEVELOPMENT
Unit Structure
2.1 Introduction
2.2 The Systems Development Life Cycle (SDLC), or Software
Development Life Cycle
2.2.1 System Development Phases:
2.2.2 SDLC Phases Diagram:
2.2.3 Explanation of the SDLC Phases:
2.2.4 SDLC Phases with Management Control :
2.2.5 Advantages of SDLC model :
2.2.6 Disadvantages of SDLC Model:
2.3 Work breakdown structure organization:
2.4 Iterative and Incremental Development Model:
2.4.1 Iterative/Incremental Development
2.5 Extreme Programming:
2.6 RAD Model:
2.6.1 Practical Application of RAD Model:
2.6.2 Advantages of the RAD methodology:
2.6.3 Disadvantages of RAD methodology:
2.7 Unified Process Model:
2.7.1 Characteristics:
2.8 Use Case Driven
2.8.1 Architecture Centric
2.8.2 Risk Focused
2.8.3 Inception Phase
2.8.4 Elaboration Phase
2.8.5 Construction Phase
2.8.6 Transition Phase
17
2.1 INTRODUCTION:
For ex. Computer systems are complex and often (especially with
the recent rise of Service-Oriented Architecture) link multiple
traditional systems potentially supplied by different software
vendors. To manage this level of complexity, a number of SDLC
models have been created: "waterfall"; "fountain"; "spiral"; "build
and fix"; "rapid prototyping"; "incremental"; and "synchronize and
stabilize.
Problem Definition
Evaluation Analysis
Validation Design
Implementation
Design:
In systems, design functions and operations are described in
detail, including screen layouts, business rules, process diagrams
and other documentation. The output of this stage will describe the
new system as a collection of modules or subsystems.
Build or coding:
Modular and subsystem programming code will be
accomplished during this stage. Unit testing and module testing are
done in this stage by the developers. This stage is intermingled with
the next in that individual modules will need testing before
integration to the main project.
Testing:
The code is tested at various levels in software testing. Unit,
system and user acceptance testings are often performed. This is a
grey area as many different opinions exist as to what the stages of
testing are and how much if any iteration occurs. Iteration is not
generally part of the waterfall model, but usually some occur at this
stage.
2.7.1 Characteristics:
2.12 SUMMARY:
Questions:
1. Explain SDLC in detail?
Ans: refer 2.2.4
2. Explain incremental and iterative model in detail?
Ans: refer 2.4
34
3
ANALYSIS: INVESTIGATING SYSTEM
REQUIREMENTS
Unit Structure
3.1 Introduction
3.2 System Analysis
3.2.1 Needs System Analysis
3.2.2 Data Gathering
3.2.3 Written Documents
3.2.4 Interviews
3.2.5 Questionnaires
3.2.6 Observations
3.2.7 Sampling
3.3 Data Analysis
3.3.1 Analysis Report
3.4 Fact Finding Methods:
3.4.1 Interview
3.4.2 Questionnaire
3.4.3 Record View
3.4.4 Observation
3.5 Conduct Interviews
3.5.1 Preparation for Interview
3.5.2 Types of Interview
3.5.3 Types of Topics in Questions
3.5.4 Wording of Questions
3.6 Observe & document business processes
3.6.1 Examples of business analysis include
3.7 Roles of business analysts
3.7.1 Business process improvement
3.7.2 Goal of business analysts
3.8 Build prototypes
3.8.1 Prototyping Process
3.8.2 Advantages of prototyping
3.8.3 Disadvantages of prototyping
35
3.9 Questionaire:
3.9.1 Question Construction
3.9.2 Basic rules for questionnaire item construction
3.9.3 Questionnaire administration modes
3.10 JAD Sessions
3.10.1 Conduct Jad sessions
3.10.2 Need for to Conduct JAD sessions
3.10.3 Advantages and Disadvantages
3.10.4 Four Principle Steps 3.11 Validation
3.12 Structured walkthroughs
3.12.1 Types of Walkthroughs
3.12.2 Prerequisites
3.12.3 Scenario
3.13 Summary
3.1 INTRODUCTION:
3.2.4 Interviews:
3.2.5 Questionnaires:
3.2.6 Observations:
To study any system the analyst needs to do collect facts and all
relevant information. the facts when expressed in quantitative form
are termed as data. The success of any project is depended upon
the accuracy of available data. Accurate information can be
collected with help of certain methods/ techniques. These specific
methods for finding information of the system are termed as fact
finding techniques. Interview, Questionnaire, Record View and
Observations are the different fact finding techniques used by the
analyst. The analyst may use more than one technique for
investigation.
3.4.1 Interview
3.4.2 Questionnaire:
3.4.4 Observation
Requirements elicitation
describes techniques for collecting requirements from
stakeholders in a project.
Requirements analysis
describes how to develop and specify requirements in
enough detail to allow them to be successfully implemented
by a project team.
Requirements communication
describes techniques for ensuring that stakeholders have a
shared understanding of the requirements and how they will
be implemented.
Strategist
Organizations need to focus on strategic matters on a more
or less continuous basis in the modern business world. Business
analysts, serving this need, are well-versed in analyzing the
strategic profile of the organization and its environment, advising
senior management on suitable policies, and the effects of policy
decisions.
42
Architect
Organizations may need to introduce change to solve
business problems which may have been identified by the strategic
analysis, referred to above. Business analysts contribute by
analyzing objectives, processes and resources, and suggesting
ways by which re-design
Systems analyst
There is the need to align IT Development with the systems
actually running in production for the Business. A long-standing
problem in business is how to get the best return from IT
investments, which are generally very expensive and of critical,
often strategic, importance. IT departments, aware of the problem,
often create a business analyst role to better understand, and
define the requirements for their IT systems. Although there may be
some overlap with the developer and testing roles, the focus is
always on the IT part of the change process, and generally, this
type of business analyst gets involved, only when a case for
change has already been made and decided upon.
4. Process documentation
The interview results are used to draw a first process map.
Previously existing process descriptions are reviewed and
integrated, wherever possible. Possible process improvements,
discussed during the interview, are integrated into the process
maps.
43
5. Review cycle
The draft documentation is then reviewed by the employees
working in the process. Additional review cycles may be necessary
in order to achieve a common view (mental image) of the process
with all concerned employees. This stage is an iterative process.
6. Problem analysis
A thorough analysis of process problems can then be
conducted, based on the process map, and information gathered
about the process. At this time of the project, process goal
information from the strategy audit is available as well, and is used
to derive measures for process improvement.
3.9 QUESTIONAIRE:
Question types
Usually, a questionnaire consists of a number of questions
that the respondent has to answer in a set format. A distinction is
made between open-ended and closed-ended questions. An open-
ended question asks the respondent to formulate his own answer,
whereas a closed-ended question has the respondent pick an
answer from a given number of options. The response options for a
closed-ended question should be exhaustive and mutually
exclusive. Four types of response scales for closed-ended
questions are distinguished:
Dichotomous, where the respondent has two options
Nominal-polytomous, where the respondent has more than
two unordered options
Ordinal-polytomous, where the respondent has more than
two ordered options
(Bounded)Continuous, where the respondent is presented
with a continuous scale
i) very focused
ii) conducted in a dedicated environment
iii) quickly drive major requirements
50
3.11 VALIDATION:
Specification walkthroughs
System specification
Project planning
Requirements analysis
Design walkthroughs
Preliminary design
Design
54
Code walkthroughs
Test walkthroughs
Test plan
Test procedure
3.12.2 Prerequisites
3.12.3 Scenario
3.13 SUMMARY
Questions:
1. Explain role of business analyst in detail?
Ans: refer 3.7
2. Explain Data Analysis in detail?
Ans: refer 3.3
56
4
FEASIBILITY ANALYSIS
Unit Structure
4.1 Introduction
4.2 Five common factors for Feasibility study
4.2.1 Technology and system feasibility
4.2.2 Economic feasibility
4.2.3 Legal feasibility
4.2.4 Operational feasibility
4.2.5 Schedule feasibility
4.3 Other feasibility factors:
4.3.1 Market and real estate feasibility
4.3.2 Resource feasibility
4.3.3 Cultural feasibility
4.4 Cost Estimates
4.4.1 Cost/Benefit Analysis
4.4.2 How to Use the Tool
4.4.3 Benefits of Cost Estimation
4.5 Business System Analysis
4.5.1 Developing a Project Roadmap
4.6 Developing a Blueprint for a Web Application
4.6.1 Identification of list of deliverables
4.6.2 Process Descriptions
4.7 Implement Quality Control
4.8 Project Management Deliverables
4.9 Summary
4.1 INTRODUCTION:
Example:
If an operational feasibility study must answer the six items
above, how is it used in the real world? A good example might be if
a company has determined that it needs to totally redesign the
workspace environment.
Example:
A sales director is deciding whether to implement a new
computer-based contact management and sales processing
system. His department has only a few computers, and his
salespeople are not computer literate. He is aware that
computerized sales forces are able to contact more customers and
give a higher quality of reliability and service to those customers.
They are more able to meet commitments, and can work more
efficiently with fulfilment and delivery staff.
Costs:
New computer equipment:
10 network-ready PCs with supporting software @ $2,450
each
1 server @ $3,500
3 printers @ $1,200 each
Cabling & Installation @ $4,600
Sales Support Software @ $15,000
Training costs:
Computer introduction - 8 people @ $400 each
Keyboard skills - 8 people @ $400 each
Sales Support System - 12 people @ $700 each
Other costs:
Lost time: 40 man days @ $200 / day
Lost sales through disruption: estimate: $20,000
Lost sales through inefficiency during first months: estimate:
$20,000
Benefits:
Tripling of mail shot capacity: estimate: $40,000 / year
Ability to sustain telesales campaigns: estimate: $20,000 /
year
Improved efficiency and reliability of follow-up: estimate:
$50,000 / year
Improved customer service and retention: estimate: $30,000
/ year
62
To use the tool, firstly work out how much the change will
cost to make. Then calculate the benefit you will from it.
Where costs or benefits are paid or received over time, work out
the time it will take for the benefits to repay the costs.
List of Deliverables:
Project Execution and Control differs from all other work in
that, between the kick-off meeting and project acceptance, all
processes and tasks occur concurrently and repeatedly, and
continue almost the entire duration of Project Execution and
Control.
Purpose
The purpose of Conduct Project Execution and Control Kick-
off is to formally acknowledge the beginning of Project Execution
and Control and facilitate the transition from Project Planning.
Similar to Project Planning Kick-off, Project Execution and Control
Kick-off ensures that the project is still on track and focused on the
original business need. Many new team members will be
introduced to the project at this point, and must be thoroughly
oriented and prepared to begin work. Most importantly, current
65
Roles
Project Manager
Project Sponsor and /or Project Director
Project Team Member
Customer Representative
Steering Committee
Purpose
The Triple Constraints is the term used for a project's
inextricably linked constraints: Scope, Schedule, and Budget, with a
resulting acceptable Quality. During Project Planning, each section
of the Triple Constraints was refined. As project-specific tasks are
performed during Project Execution and Control, the Triple
Constraint will need to be managed according to the processes
established during Project Planning.
Which tasks are taking more time than estimated? Less time?
If a task is late, what is the effect on subsequent tasks?
What is the next deliverable to be produced and when is it
scheduled to be complete?
What is the amount of effort expended so far and how much is
remaining?
Are any Project Team members over-allocated or under-
allocated?
How much of the time allocated has been expended to date
and what is the time required to complete the project?
Most project scheduling tools provide the ability to produce
reports to display a variety of useful information. It is
recommended that the Project Manager experiment with all
available reports to find those that are most useful for
reporting information to the Project Team, Customer, and
Project Sponsor and / or Project Director.
When updating the Project Schedule, it is very important that
the Project Manager maintain the integrity of the current
schedule. Each version of the schedule should be archived.
By creating a new copy of the schedule whenever it is
updated, the Project Manager will never lose the running
history of the project and will also have a copy of every
schedule for audit purposes.
Does the Project Proposal define the business need the project
will address, and how the projects product will support the
organizations strategic plan?
Does the Business Case provide an analysis of the costs and
benefits of the project and provide a compelling case for the
project?
Has a Project Repository been established to store all project
documents, and has it been made available to the Project
Team?
Does the Project Initiation Plan define the project goals and
objectives?
Does the Project Scope provide a list of all the processes that
will be affected by the project?
72
4.9 SUMMARY:
Questions:
1. Explain common factors for Feasibility study in detail?
Ans: refer 4.2
2. Discuss the feasibility study factors for Online Examination
System in brief.
Ans.Refer 4.1
74
5
Modeling system requirements
Unit Structure
5.1 Introduction
5.2 Requirement Engineering
5.3 Software requirements specification
5.4 Functional Requirements
5.5 System Analysis Model
5.6 Screen Prototyping
5.7 Model Organisation
5.8 Summary
5.1 INTRODUCTION:
Types of Requirements
Requirements are categorized in several ways. The following
are common categorizations of requirements that relate to technical
management.
Non-functional Requirements
Non-functional requirements are requirements that specify
criteria that can be used to judge the operation of a system, rather
than specific behaviors.
Performance Requirements
The extent to which a mission or function must be executed;
generally measured in terms of quantity, quality, coverage,
timeliness or readiness. During requirements analysis, performance
(how well does it have to be done) requirements will be interactively
developed across all identified functions based on system life cycle
factors; and characterized in terms of the degree of certainty in their
estimate, the degree of criticality to system success, and their
relationship to other requirements.
Design Requirements
The “build to,” “code to,” and “buy to” requirements for
products and “how to execute” requirements for processes
expressed in technical data packages and technical manuals.
The flow of the screen is made consistent with the flow of the
use case and the interaction model.
Incremental Development:
Incremental Development is based on use cases or use case
flows which define working pieces of functionality at the user level.
Within an 'Increment', the models required to develop a working
software increment are each incremented until a working, tested
executing piece of software is produced with incremental
functionality. This approach:
Diagram Diagram
Type 1 Type 2
Model
Encapsulation of Hardware:
The concept of encapsulation of data and functionality that
belongs together is something which the hardware industry has
been doing for a long time. Hardware engineers have been creating
re-useable, re-configurable hardware at each level of abstraction
since the early sixties. Elementary Boolean functions are
encapsulated together with bits and bytes of data in registers on
chips. Chips are encapsulated together on circuit boards. Circuit
boards are made to work together in various system boxes that
make up the computer. Computers are made to work together
across networks. Hardware design, therefore, is totally object
oriented at every level and is, as a result, maximally re-useable,
extensible and maintainable; in a single word: flexible. Applying
object-orientation to software, therefore, could be seen as putting
the engineering into software design that has existed in hardware
design for many years.
Encapsulation of Software:
In well developed object oriented software, functionality and
data is encapsulated in objects. Objects are encapsulated in
82
Maximal coherence
Minimal interconnection
Solid interface definitions
5.8 SUMMARY
Questions:
1. Explain Software requirements specification in detail?
Ans: refer 5.3
2. Explain System Analysis Model?
Ans: refer 5.5
83
6
DATA FLOW DIAGRAMS
Unit Structure
6.1 Introduction
6.2 Overview of DFD
6.2.1 How to develop Data Flow Diagram
6.2.2 Notation for to Draw Data Flow Diagram
6.2.3 Data Flow Diagram Example
6.3 Summary
6.1 INTRODUCTION:
Top-down approach
1. The system designer makes a context level DFD or Level 0,
which shows the "interaction" (data flows) between "the system"
(represented by one process) and "the system environment"
(represented by terminators).
2. The system is "decomposed in lower-level DFD (Level 1)" into a
set of "processes, data stores, and the data flows between
these processes and data stores".
3. Each process is then decomposed into an "even-lower-level
diagram containing its sub processes".
4. This approach "then continues on the subsequent sub
processes", until a necessary and sufficient level of detail is
reached which is called the primitive process (aka chewable in
one bite).
85
External Entity
An external entity is a source or destination of a data flow
which is outside the area of study. Only those entities which
originate or receive data are represented on a business process
diagram. The symbol used is an oval containing a meaningful and
unique identifier.
Process
A process shows a transformation or manipulation of data
flows within the system. The symbol used is a rectangular box
which contains 3 descriptive elements:
Resource Flow
A resource flow shows the flow of any physical material from
its source to its destination. For this reason they are sometimes
referred to as physical flows.
External Entities
It is normal for all the information represented within a
system to have been obtained from, and/or to be passed onto, an
external source or recipient. These external entities may be
duplicated on a diagram, to avoid crossing data flow lines. Where
they are duplicated a stripe is drawn across the left hand corner,
like this.
Processes
When naming processes, avoid glossing over them, without
really understanding their role. Indications that this has been done
are the use of vague terms in the descriptive title area - like
'process' or 'update'.
Data Flows
Double headed arrows can be used (to show two-way flows)
on all but bottom level diagrams. Furthermore, in common with
most of the other symbols used, a data flow at a particular level of a
diagram may be decomposed to multiple data flows at lower levels.
Data Stores
Each store should be given a reference letter, followed by an
arbitrary number. These reference letters are allocated as follows:
'D' - indicates a permanent computer file
'M' - indicates a manual file
'T' - indicates a transient store, one that is deleted after processing.
In order to avoid complex flows, the same data store may be drawn
several times on a diagram. Multiple instances of the same data
store are indicated by a double vertical bar on their left hand edge.
Example:
Data flow diagrams can be used to provide a clear
representation of any business function. The technique starts with
an overall picture of the business and continues by analyzing each
of the functional areas of interest. This analysis can be carried out
to precisely the level of detail required. The technique exploits a
method called top-down expansion to conduct the analysis in a
targeted way.
External Entity
Process
Data Flow
Data Store
ResourceFlow
6.3 SUMMARY:
Questions:
1.Explain DFD with example?
Ans: refer 6.2
2.Draw a DFD for Sale & Purchase Management System for
Manufacturing Industry.
Ans: refer 6.2
3. .Draw a DFD for Event Management System for Hotel.
Ans: refer 6.2
92
Unit Structure
7.1 Introduction
7.2 Entity
7.3 Entity Relationship Diagram Methodology
7.3.1 Solved Example
7.4 Data Dictionary
7.4.1 Example of Data Dictionary
7.5 UML Diagram
7.5.1 What is UML?
7.5.2 How UML Started?
7.6 Class Diagram
7.6.1 Example
7.7 Communication Diagram
7.8 Activity Diagram
7.9 Component Diagram
7.9.1 Example
7.10 Deployment Diagram
7.10.1 Example
7.11 Summary
7.1 INTRODUCTION:
7.2 ENTITY
Relationship
A data relationship is a natural association that exists
between one or more entities. E.g. Employees process
payments. Cardinality defines the number of occurrences of one
entity for a single occurrence of the related entity. E.g. an employee
may process many payments but might not process any payments
depending on the nature of her job.
Attribute
A data attribute is a characteristic common to all or most
instances of a particular entity. Synonyms include property, data
element, field. E.g. Name, address, SSN, pay rate are all attributes
of the entity employee. An attribute or combination of attributes that
uniquely identifies one and only one instance of an entity is called
a primary key or identifier. E.g. SSN is a primary key for
Employee.
1. Identify Entities
The entities in this system are Department, Employee,
Supervisor and Project. One is tempted to make Company an
entity, but it is a false entity because it has only one instance in this
problem. True entities must have more than one instance.
2. Find Relationships:
4. Fill in Cardinality
From the description of the problem we see that:
Each department has exactly one supervisor.
A supervisor is in charge of one and only one department.
Each department is assigned at least one employee.
Each employee works for at least one department.
Each project has at least one employee working on it.
An employee is assigned to 0 or more projects.
__________ __________
| Department | Run by | Supervisor |
| |-++------------------------++-| |
--|----------- --------------
W
+
| ------------ -----------
| Is | Employee | Works on | Project |
--------+<-| |->+-----------------------0<-| |
Assigned ------------ -----------
ERD:
has
m
1 has 1 Quotation m
Enquiry
m m 1
Stock 1 Enquiry_item
has
1
1
Ouotation_item Vendor 1
1 1 1
m1 mm
m Item
Challan_item
m m has
Purchase_order_item
has
m m
1
PO m m Challan m has has
1 has 1 1
Purchase_return_item
has m
1
GRN m
m m m 1
Purchase ret. m has
1 1
GRN_item
Invoice employee
97
Is a
Configure
*
*
has Flight has Tariff Plan
1
1
1 has
1
Baggage allowed
Flight schedule
has
1 1
1
payment Booking
has
1 1
1
has
1
1 1 1
1
refund has has Cancellation charges
cancellation
7. Identify Attributes
The only attributes indicated are the names of the
departments, projects, supervisors and employees, as well as the
supervisor and employee SSN and a unique project number.
8. Map Attributes
Attribute Entity Attribute Entity
Department Name Department Supervisor SSN
Supervisor
Employee SSN Employee Supervisor Name
Supervisor
Employee Name Employee Project Name Project
Project ID Project
98
Its application is not well understood - the UML notation guide is not
sufficient to teach you how to use the language. It is a generic
modelling language and needs to be adapted by the user to
particular applications.
-Actors (stick men) are anything outside the system that interacts
with the system.
- Use Cases (ovals) are the procedures by which the actors interact
with the system.
- Solid lines indicate which actors interact with the system as part of
which procedures.
- Dashed lines show dependencies between use cases, where one
use case is 'included' in or 'extends' another.
7.6.1 Example:
Sequence Diagram:
Sequence diagrams show potential interactions between
objects in the system being defined. Normally these are specified
as part of a use case or use case flow and show how the use case
will be implemented in the system. They include:
Example:
- Messages - solid lines for calls and dotted lines for data returns,
showing the messages that are sent between objects including the
order of the messages which is from the top to the bottom of the
diagram.
- Object lifelines - dotted vertical lines showing the lifetime of the
objects.
- Activation - the vertical oblong boxes on the object lifelines
showing the thread of control in a synchronous system.
- Transitions - which show the order in which the active states occur
and represent a thread of activity?
- Conditions - (in square brackets) which qualify the transitions.
-Decisions - (nodes in the transitions) which cause the thread to
select one of multiple paths.
106
7.9.1 Example:
7.10.1 Example:
107
7.11 SUMMARY :
Questions:
1.Explain ER- Diagram in detail?
Ans: refer 7.2
2.Explain UML diagram in detail?
Ans: refer 7.5
3.Draw an ERD for Hotel Mangament System.
Ans: refer 7.2
4.Draw a Use case diagram for Online Shopping for Greeting card.
Ans: refer 7.5
108
DESIGN
Unit Structure
8.1 Introduction
8.2 Local Design
8.3 Physical Design
8.4 Alternative design method
8.4.1 Rapid Application Development (RAD)
8.4.2 Joint Application Development (JAD)
8.5 Embedded System
8.6 Design Phase Activities
8.7 Baselines in the SDLC
8.8 System Flow chart
8.8.1 Symbols for to draw Flowchart
8.8.2 An example of a system flowchart is shown below
8.8.3 Flowchart Symbols
8.9 Structure Chart
8.9.1 Applications of Structure Chart
8.9.2 Example
8.10 Transactional Analysis
8.10.1 The three ego states presented by Berne are
8.10.2 The four basic types of transaction
8.10.3 Example
8.11 Summary
8.1 INTRODUCTION:
Characteristics:
The symbols are linked with directed lines (lines with arrows)
showing the flow of data through the system.
Note: The arrows show the flow of data through the system. The
dotted line shows that the Updated master file is then used as input
for the next Update process.
Example:
Arrows
Showing what's called "flow of control" in computer science.
An arrow coming from one symbol and ending at another symbol
represents that control passes to the symbol the arrow points to.
Processing steps
Represented as rectangles. Examples: "Add 1 to X";
"replace identified part"; "save changes" or similar.
Input/Output
Represented as a parallelogram.
Examples: Get X from the user; display X.
Overview:
A structure chart is a top-down modular design tool,
constructed of squares representing the different modules in
the system, and lines that connect them. The lines represent the
connection and or ownership between activities and sub activities
as they are used in organization charts.
-Information Transfers
Parent
The parent ego state is characterized by the need to
establish standards, direct others, in still values and criticize. There
are two recognized sub-groups of this ego state, being controlling
parents who show signs of being authoritarian, controlling and
negative, and nurturing parents who tend to be positive and
supportive, but who can become suffocating.
Adult
The adult ego state is characterized by the ability to act in a
detached and rational manner, logically as a decision maker
utilizing information to its maximum. The archetypal example of this
ego state might be Mr Spock!
Child
The child ego state is characterized by a greater
demonstration of emotion, either positive or negative. Once again,
as with the parent, there are sub-groups of this ego state, in this
case three. The first is the natural child state, with uninhibited
actions, which might include energy and raw enthusiasm, to
curiosity and fear. It is essentially self- centred. The adapted child
state is a state where emotions are still strong, but there is some
attempt to control, ending in compliant or withdrawn behaviours.
Finally, the 'little professor' is a child ego state that shows emerging
adult traits, and a greater ability to constrain emotions.
Complementary
A transaction where the ego states complement each other,
resulting in a positive exchange. This might include two teachers
discussing some assessment data in order to solve a problem
where they are both inhabiting the adult ego state.
Duplex
This is a transaction that can appear simple, but entails two
levels of communication, one often implicit. At a social level, the
transaction might be adult to adult, but at a psychological level it
might be child to child as a hidden competitive communication.
Angular
Here, the stimulation appears to be aimed at one ego state,
but covertly is actually aimed at another, such as the use of
sarcasm. This may then lead to a different ego state response from
that which might be expected.
Crossed
Here, the parent acts as a controlling parent, but in aiming
the stimulus at the child ego state, a response from the adult ego
state, although perhaps perfectly reasonable but unexpected,
brings conflict.
8.10.3 Example:
8.11 SUMMARY
120
9
SOFTWARE DESIGN AND
DOCUMENTATION TOOLS
Unit Structure
9.1 Introduction
9.2 People and Software
9.3 Requirements documentation
9.4 Architecture/Design documentation
9.5 Technical documentation
9.6 User documentation
9.7 Marketing documentation
9.8 Hipo chart
9.9 Warnier Orr diagram
9.10 Summary
9.1 INTRODUCTION:
Hierarchy
Hierarchy is the most fundamental of all of the Warnier/Orr
constructs. It is simply a nested group of sets and subsets shown
as a set of nested brackets. Each bracket on the diagram
(depending on how you represent it, the character is usually more
like a brace "{" than a bracket "[", but we call them "brackets")
represents one level of hierarchy. The hierarchy or structure that is
represented on the diagram can show the organization of data or
processing. However, both data and processing are never shown
on the same diagram.
Sequence
Sequence is the simplest structure to show on a Warnier/Orr
diagram. Within one level of hierarchy, the features listed are
shown in the order in which they occur. In other words, on the Fig.
6 the step listed first is the first that will be executed (if the diagram
reflects a process), while the step listed last is the last that will be
executed. Similarly with data, the data field listed first is the first that
is encountered when looking at the data, the data field listed last is
the final one encountered.
Repetition
Repetition is the representation of a classic "loop" in
programming terms. It occurs whenever the same set of data
occurs over and over again (for a data structure) or whenever the
same group of actions is to occur over and over again (for a
processing structure).
lternation
Alternation, or selection, is the traditional "decision" process
whereby a determination is made to execute one process or
another. It is indicated as a relationship between two subsets.
Concurrency
Concurrency is one of the two advanced constructs used in
the methodology. It is used whenever sequence is unimportant.
128
Recursion
Recursion is the least used of the constructs. It is used to
indicate that a set contains an earlier or a less ordered version of
itself.
Example:
A Warnier/Orr diagram is a style of diagram which is
extremely useful for describing complex processes (e.g. computer
programs, business processes, instructions) and objects (e.g. data
structures, documents, parts explosions). Warnier/Orr diagrams are
elegant, easy to understand and easy to create. When you interpret
one of B-liner's diagrams as a Warnier/Orr diagram, you give a
simple, yet formal meaning to the elements of the diagram.
9.10 SUMMARY
Questions:
1. Explain Requirements documentation in detail?
Ans: Refer 9.3
2. Explain Architecture/Design documentation in detail?
Ans: refer 9.4
3. Explain Technical documentation in detail?
Ans: refer 9.5
4. Explain Hipo chart?
Ans: refer 9.8
132
10
DESIGNING INPUT, OUTPUT & USER
INTERFACE
Unit Structure
10.1 Introduction
10.2 Output Design
10.3 Input Design
10.4 User Interface
10.5 Golden rules of Interface Design
10.6 Summary
10.1 INTRODUCTION:
For example:
Mainframe printers: high volume, high speed, located in the
data centre Remote site printers: medium speed, close to end user.
133
Output Documents
Printed Reports
External Reports: for use or distribution outside the
organization; often on pre-printed forms.
Internal Reports: for use within the organization; not as
"pretty", stock paper, greenbar, etc.
Periodic Reports: produced with a set frequency (daily,
weekly, monthly, every fifth Tuesday, etc.)
Ad-Hoc (On Demand) Reports: unbalanced interval;
produced upon user demand.
Detail Reports: one line per transaction.
Review Reports: an overview.
Exception Reports: only shows errors, problems, out-of-
range values, or unexpected conditions or events.
xiii. Input verification is asking the user to confirm his or her most
recent input (e.g., "Are you sure you want to delete this
file?")
xiv. Adaptive models are useful because they adapt to the user's
experience level as he or she moves from novice to
experienced over time as experience with the system grows.
xviii. Internal locus of control is making users feel that they are in
control of the system, rather than that the system is in
control of them.
10.6 SUMMARY:
Questions:
140
11
Unit Structure
11.1 Introduction
11.2 Strategic approach to software testing
11.3 Organizing for Software Testing
11.4 A Software Testing Strategy
11.5 Unit Testing
11.6 Integration testing
11.6.1 Top down Integration
11.6.2 Bottom-up Integration
11.7 Regression Testing
11.8 Comments on Integration Testing
11.9 The art of debugging
11.9.1 The Debugging Process
11.10 Summary
11.1 INTRODUCTION:
M1
M2
M3 M4
M5 M6 M7
M8
Mc
Ma Mb
D1 D2 D3
Cluster 3
Cluster 2
Cluster 1
x := c + 1 ;
proc (z);
c := x + 2; x:= 3;
works properly. Now suppose that in a subsequent redesign it is
transformed into
proc(z);
c := c + 3;
x:= 3;
in an attempt at program optimization. This may result in an error if
procedure proc accesses variable x.
Test cases
Correction
Suspected causes
Result
Identify Causes
Debugging
10.10 SUMMARY:
Questions:
1. Explain Unit Testing?
Ans: Refer 11.5
2. Explain Integration testing?
Ans: Refer 11.6
3. Explain Regression Testing?
Ans: Refer 11.7
4. Explain Debugging Process in detail?
Ans: Refer 11.9.1
152
12
CATEGORIES OF TESTING
Unit Structure
12.1 Introduction
12.2 The Testing process and the Software Testing Life Cycle
12.3 Types of Testing
12.4 Testing Techniques
12.5 Black Box and White Box testing
12.6 Black box testing
12.6.1 Black box testing Methods
12.6.2 Advantages of Black Box Testing
12.6.3 Disadvantages of Black Box Testing
12.7 White Box Testing
12.7.1 Code Coverage Analysis
12.7.2 Control Structure testing
12.7.3 Advantages of White Box Testing
12.7.4 Disadvantages of White Box Testing
12.8 Difference between Black Box Testing and White Box
Testing
12.9 Summary
12.1 INTRODUCTION:
2. Test Design
3. Test Environment setup
4. Test Execution
5. Defect Analysis & Tracking
6. Final Reporting
Requirement Production
Study Verification
testing
Unit
Testing Integration Testing
SDLC - STLC
Static Testing
Dynamic Testing
154
White-box test design allows one to peek inside the "box", and it
focuses specifically on using internal knowledge of the software to
guide the selection of test data. It is used to detect errors by means
of execution-oriented test cases.
are properly organised and stored and, last but not least, individual
translators are not too motivated to change their working habits.
Equivalence Partitioning
Comparison Testing
Cyclomatic Complexity
The cyclomatic complexity gives a quantitative measure of
4the logical complexity. This value gives the number of
independent paths in the basis set, and an upper bound for the
number of tests to ensure that each statement is executed at least
once. An independent path is any path through a program that
introduces at least one new set of processing statements or a new
condition (i.e., a new edge). Cyclomatic complexity provides upper
bound for number of tests required to guarantee coverage of all
program statements.
161
Conditions Testing
Condition testing aims to exercise all logical conditions in a
program module. They may define:
Relational expression: (E1 op E2), where E1 and E2 are
arithmetic expressions.
Simple condition: Boolean variable or relational expression,
possibly proceeded by a NOT operator.
Compound condition: composed of two or more simple
conditions, Boolean operators and parentheses.
Boolean expression: Condition without Relational
expressions.
Loop Testing
Loops fundamental to many algorithms. Can define loops as imple,
concatenated, nested, and unstructured.
Examples:
Note that unstructured loops are not to be tested . rather, they are
redesigned.
Design by Contract (D b C)
DbC is a formal way of using comments to incorporate
specification information into the code itself. Basically, the code
specification is expressed unambiguously using a formal language
that describes the code's implicit contracts. These contracts specify
such requirements as:
Conditions that the client must meet before a method is
invoked.
Conditions that a method must meet after it executes.
Assertions that a method must satisfy at specific points of its
execution
Profiling
Profiling provides a framework for analyzing Java code
performance for speed and heap memory use. It identifies routines
that are consuming the majority of the CPU time so that problems
may be tracked down to improve performance.
162
Error Handling
Exception and error handling is checked thoroughly are
simulating partial and complete fail-over by operating on error
causing test vectors. Proper error recovery, notification and logging
are checked against references to validate program design.
Transactions
Systems that employ transaction, local or distributed, may
be validated to ensure that ACID (Atomicity, Consistency, Isolation,
Durability). Each of the individual parameters is tested individually
against a reference data set.
12.9 SUMMARY:
Questions:
1. Explain Software Testing Life Cycle in detail?
Ans: Refer 12.2
166
13
SOFTWARE TESTING
Unit Structure
13.1 Introduction
13.2 Scope Of Software Testing
13.3 Software Testing Key Concepts
13.4 Software Testing Types
13.5 Software Testing Methodologies
13.6 Software Testing Artifacts
13.7 Available tools, techniques, and metrics
13.8 Summary
13.1 INTRODUCTION:
Software testing is an art. Most of the testing methods and
practices are not very different from 20 years ago. It is nowhere
near maturity, although there are many tools and techniques
available to use. Good testing also requires a tester's creativity,
experience and intuition, together with proper techniques
1. finding defects;
2. gaining confidence in and providing information about the
level of quality;
3. Preventing defects.
1. Load Testing
2. Stress Testing
Smoke Testing
Sanity Testing
Regression Testing
Recovery Testing
Usability Testing
Compatibility Testing
Configuration Testing
Exploratory Testing
13.8 SUMMARY:
Questions:
1. Explain Software Testing Key Concepts?
Ans: refer
172
14
IMPLEMENTATION & MAINTENANCE
Unit Structure
14.1 Introduction
14.2 Data Entry and Data Storage
14.3 Date Formats
14.4 Data Entry Methods
14.5 System Implementation
14.6 System Maintenance
14.7 System Evaluation
14.8 Summary
14.1 INTRODUCTION:
•keyboards
•optical character recognition (OCR)
•magnetic ink character recognition (MICR)
•mark-sense forms
•punch-out forms
•bar codes
•intelligent terminals
Tests for validating input data include: test for missing data,
test for correct field length, test for class or composition, test for
range or reasonableness, test for invalid values, test for comparison
with stored data, setting up self-validating codes, and using check
digits. Tests for class or composition are used to check whether data
fields are correctly filled in with either numbers or letters. Tests for
range or reasonableness do not permit a user to input a date such
as October 32.
Database
In any large system, errors and changes will occur, the key
is to identify them and determine which ones must be fixed
immediately. Smaller problems are often left to the software
maintenance staff. Change is an important part of MIS. Designing
and implementing new systems often causes changes in the
business operations. Yet, many people do, not like changes.
Changes require learning new methods, forging new relationships
with people and managers, or perhaps even loss of jobs. Changes
exist on many levels: in society, in business, and in information
systems. Changes can occur because of shifts in the environment,
or they can be introduced by internal change agents. Left to
themselves, most organizations will resist even small changes.
Change agents are objects or people who cause or facilitate
changes. Sometimes it might be a new employee who brings fresh
ideas; other times changes can be mandated by top-level
management. Sometimes an outside event such as arrival of a new
competitor or a natural disaster forces an organization to change.
Whatever the cause, people tend to resist change.
• Upgrade,
• Trouble-shooting,
• Continuous improvement
Once the system is installed, the MIS job has just begun.
Computer systems are constantly changing. Hardware upgrades
occur continually, and commercial software tools may change every
year. Users change jobs. Errors may exist in the system. The
business changes, and management and users demand new
information and expansions. All of these actions mean the system
needs to be modified. The job of overseeing and making these
modifications is called software maintenance.
systems, the users are the customers and the users should be the
ones in control. Users determine whether a system is good. If the
users are not convinced that the system performs useful tasks, it is
not a good system.
Questions:
1. Explain System Implementation in detail?
Ans: refer 14.5
181
15
DOCUMENTATION
Unit Structure
15.1 Introduction
15.2 Requirements documentation
15.3 Architecture/Design documentation
15.4 Technical documentation
15.5 User documentation
15.6 Marketing documentation
15.7 CASE Tools and their importance
15.8 Summary
15.1 INTRODUCTION:
•Most tools have a user’s guide which is given as help files along
with the tool
•Many have FAQ’s and search capabilities
•Details on several open domain tools and what they do is given
below.
What the tool does: Smartdraw is a perfect suite for drawing all
kinds of diagrams and charts: Flowcharts, Organizational charts,
Gantt charts, Network diagrams, ERdiagrams etc.
drawing area and drawings from this tool can be embedded into
Word, Excel and PowerPoint by simply copy-pasting. It has an
extensive collection of symbols for all kinds of drawings.
What the tool does: The tool helps the users draw a standard data
flow diagram (a process-oriented model of information systems) for
systems analysis.
How to use: Double click on the IBMS icon to see the welcome
screen. Click Any where inside the welcome screen to bring up the
first screen.
Under "Tools" menu, select DFD Modelling. The IBMS will
pop up the Data Flow Diagram window. Its menu bar has the File,
Edit, Insert, Font, Tool, Window and Help options. Its tool box on
the right contains 10 icons, representing (from left to right and top
to bottom) pointer, cut, data flow, process, external entity, data
store, zoom-out, zoom-in, decompose, and compose operations,
respectively.
Left click on the DFD component to be used in the toolbox,
key in the information pertaining to it in the input dialogue box that
prompts for information.
To move the DFD components: Left click on the Pointer icon
in the tool box, point to the component, and hold Left Button to
move to the new location desired in the work area.
To edit information of the DFD components: Right click on
the DFD component. The input dialogue box will prompt you to edit
information of that component.
190
How to use the tool : On clicking the option Analyze under File
menu and selecting the file that contains the System Requirements
Specifications, the tool processes the document to check if the
specifications are right and generate a ARM report.
What the tool does: The purpose of the tool is to allow the
decision maker to construct and manipulate (systems of) decision
tables. In this construction process, the features available are
automatic table contraction, automatic table optimization,
(automatic) decomposition and composition of tables, verification
191
15.8 SUMMARY:
Questions:
1. Explain Requirements documentation?
Ans: refer 15.2
2. Explain Architecture/Design documentation?
Ans: refer 15.3
3. Explain Technical documentation?
Ans: refer 15.4
4. Explain User documentation?
Ans: refer 15.5
5. Explain Marketing documentation?
Ans: refer 15.6