System Analysis - Design &
Development (DSC-C-BCA-351 T)
UNIT-1
System Analysis and Design
System: A system is a set of Components that interact with each other to achieve
a central objective.
• Example: Human Body, Computer System
System Analysis : It specifies what the system should do.
• It is the process of gathering and interpreting facts, identify problems and
using the information to recommend improvements to the system.
System Design : It states how to accomplish the objective .
• It is the process of planning a new system or replace or update an existing
system.
System Development Life Cycle (SDLC)
• SDLC is a systematic process for building software that ensures the quality and
correctness of the software built. SDLC process aims to produce high-quality
software that meets customer expectations.
• SDLC consists of a detailed plan which explains how to plan, build, and
maintain specific software.
• SDLC process consists of the following Phases:
1. Preliminary Investigation (Problem Identification)
2. Feasibility study
3. System analysis
4. System designing
5. Development of software
6. System testing
7. Implementation & Evaluation
8. Maintenance
1) Preliminary Investigation ::
• One of most difficult task of the system analyst is identifying the real problem
of the existing system.
• It defines the user requirements or what the user expects from the new system.
This also includes the rough idea of the resource requirements as well as
estimated time for completion and number of persons expected to be involve
in each phase.
• Problem identification helps in :-
i. Defining a problem
ii. Setting proper system goal
iii. Determining the boundaries of the project by considering the limitations
of available resources.
2) Feasibility study ::
• It determine the possibility of either improving the existing system or
developing the complete new system. It helps to obtain an overview of the
problem and to get rough assessment of whether physical solution exist. The
purpose of feasibility study is to determine whether the requested system
successfully realizable.
There are four aspects of feasibility study :-
i. Technical feasibility:
• It involves the required and existing computer system, hardware, software & to
what extent it can support the proposed application.
• It answers following questions :-
o Whether the system can be carried out with existing equipments ?
o Whether the existing software is enough ?
o If a new technology is required how best it can be implemented ?
ii. Economic feasibility:
• It involves post benefit analysis to determine the benefit and savings that are
expected from new system and compared with costs. It benefits out weight
cost then decision is made to design and implement new system.
iii. Operational feasibility:
• It concerns with human, organizational and political aspects. It covers technical
performance as well as acceptance within the organisation. It determines the
general attitude and job skills of existing personals and whether any
restructuring of jobs will be acceptable to the current user.
iv. Behavioral feasibility:
• It includes how strong the reaction of staff will be towards the development of
new system that involves computer’s use in their daily work. So resistant to
change is identified.
3) System analysis ::
• It involves detailed understanding of all important facts of the business area
under investigation.
• This require data collection from a verity of sources such as questionnaires,
forms, interviews, study of existing documents.
• It can be involved the direct observation in the organisation and collected
documents to understand the whole existing system.
4. System designing ::
• In this process the primary object is to identify user requirements and to build
a system that satisfies these requirements.
• Design of the system is mainly the logical design that can be sketch on a paper
or on a computer.
• It includes physical design elements, describes the data to be inputted.
• The process involved in manipulation of data & output design represents:-
i. File structure, storage devices etc
ii. Database is also designed in this phase
iii. Changes to be made in the organizational structure of the firm are outlines
iv. Input, Output, files, forms and procedures are planned
v. Finally standards for testing, documentation, system control are designed.
5. Development of software:
• Development is a phase where detailed design is used to actually construct
and build the system.
• In this phase the system is decided whether to buy commercial software or to
develop new customized program with the help of the programmers.
• The choice depends upon the cost of software and cost of programming.
6. System testing ::
• Testing is a process of making sure that the program performs the intended
task.
• Once the system is designed it should be tested for validity.
• During this phase the system is used experimentally to ensure that software
does not fail and it will work according to its specification. It is tested with
special test data.
7. Implementation & Evaluation ::
• This is the final phase of development. It consists of installing hardware,
programs, collecting data and organizing people to interact with and run the
system.
• In this phase user actually starts using the system therefore it also involves
training of users and provides friendly documentation.
• Evaluation is the process of verifying the capability of a system after it put into
operation to see whether it meets the objective or not.
• It includes response time, overall reliability and limitations user behavior.
8. Maintenance ::
• It is process of incorporating changes in the implemented existing system.
i. Enhancement: Adding new functions or additional capability of the system.
ii. Adaptation: Customizing the software to run in a new environment.
iii. Correction: Correcting the bugs in the existing software.
Fact-Finding Techniques
• Fact-finding techniques are a process of collection of data and information based on
techniques that contain a sampling of existing documents, research, observation,
questionnaires, interviews, prototyping, and joint requirements planning.
• System analyst uses suitable fact-finding techniques to develop and implement the
current existing system. Collecting required facts are very important to apply tools in
System Development Life Cycle because tools cannot be used efficiently and effectively
without proper extracting from facts.
• Fact-finding techniques are used in the early stage of the System Development Life
Cycle including the system analysis phase, design, and post-implementation review.
• Common fact-finding techniques are:
1. A sampling of existing documentation, forms, and databases
2. Research and Site visits
3. Observation of the work environment
4. Questionnaires
5. Interviews
6. Prototyping
7. Joint requirements planning
A sampling of existing documentation, forms, and databases:
• The best way to analyze the existing system is to collect facts from existing
documentation rather than from human sources.
• There are various kinds of documents to collect facts from existing documents. These
include e-mails, customer complaints, suggestion box notes, and reports that document
the problem area problem performance reviews, samples of completed manual forms
and reports, and samples of completed computerized forms and reports various types of
flowcharts and diagrams, program documentation, and user training manuals.
• System analyst uses sampling techniques in order to organize the above documentation.
• The sampling technique is the process of combing a representative sample of
documents, forms, and records.
Research and Site visits:
• It is the process of examining the problems which had previously solved by other
sources that can be either human or documents.
• To solve the requirements of the problem, the analyst visits other organizations that had
previously experienced similar problems.
• In addition, the analyst can also find the information from the database, reference
books, case studies, and the Internet.
Advantages :
• It can save time if the problem is already solved. A researcher can know how different
people previously solved the same problems. Researchers always know detailed
information about the current development system.
Disadvantages :
• Need the authority to access the appropriate source of information. As documentation
of the problem is not recorded, there is difficult to solve the problem
Observation of the work environment:
• In this technique, the system analyst participates in the organization, studies the flow of
documents, applies the existing system, and interacts with the users.
• Observation can be a useful technique when the system analyst has a user point of
view. A sampling technique called work sampling is useful for observation.
• By using this technique, system analysts can know how employees spend their days.
• The main advantages of this method is analyst personally goes to the site and discovers
the functioning of the system.
• The main limitation of this method it is time consuming and the analyst should not take
conclusion directly.
Questionnaires:
• Questionnaires are also one of the useful fact-finding techniques to collect information
from a large number of users.
• Users fill up the questions which are given by the system analyst and then give the
answers back to the system analyst.
• Questionnaires can save time because the system analyst does not need to interview
each of the users and if the time of the interview is short, questionnaires are more
useful.
• To fulfill the requirements of the system objective, a system analyst should have the
ability to clearly define the design and frame of questionnaires.
• Does not allow the analyst to observe the expressions or reactions [response, reply].
There are two types of questionnaires:
1. Free-format questionnaires
• In free format questionnaires, users are allowed to answer questions freely without an
immediate response. The results are also useful in learning about the feelings, opinions,
and experiences of the respondents.
2. Fixed-format questionnaires
• The purpose of fixed-format questionnaires is to gather information from the predefined
format of questions. Users are allowed to choose the result from the given answers.
There are three types of fixed-format questions: multiple-choice questions (Yes or No
type), rating questions (Strongly Agree, Agree, No opinion, Disagree, Strongly disagree),
ranking questions.
Interviews:
• An interview is the most commonly used technique to collect information from the face
to face interviews.
• The purpose of the interview is to find, verify, clarify facts, motivate end-users involved,
identify requirements, and gather ideas and opinions.
• The role of the interview includes the interviewer who is a system analyst and the
interviewee who is a system owner or user.
• The interviewing technique needs good communication skills for interaction between
system analysts and users.
• There are two types of interviews.
1. Structured interviews
• A structured interview is an interview that contains a predefined set of questions.
• Structured Interview are those where the interviewee is asked a standard set of
questions in a particular order.
– All the interviewees are asked the same set of questions.
– Here the questions are predefined questions.
– There are two types of formats for conducting this type of interviews.
1. Open Response Format :
• It is in which the respondent is free to answer in his own words.
• Example : Why you are dissatisfied with current system processing?
2. Close Response Format :
• It is in which limits the respondents to choose their answers from a set of
already prescribed choices.
• Example: Are you satisfied with current system processing?
2. Unstructured interviews
• Unstructured Interview are those in which interviews are taken in a question and answer
format.
• An interview that is conducted with only a general goal or subject in mind and with few,
if any, specific questions. Here the respondents are free to answer in their own words.
• It uses a question-answer format. It encourage respondent to share their feeling, ideas
,beliefs.
Prototyping:
• Another fact-finding technique is known as prototyping which collects the requirement
facts of the system.
• Prototyping is sampling a small working model and it is more related to the pre-design
of the information system.
• The implementation of prototyping can be developed in an earlier stage of the system
development life cycle when analyzing the facts.
• The process of prototyping facts in order to specify the users’ requirements is also
known as discovery prototyping.
Joint requirements planning:
• JRP is the structured group work meeting to identify, analyze problems, and define the
requirements of the system. JRP is becoming increasingly common in systems planning
and systems analysis to obtain group consensus on problems, objectives, and
requirements.
• JRP can tabulate the facts efficiently in a short time and it can also replace in the place
of numerous and separate interviews.
• JRP contains different participants with each specialized role to perform structured
meetings. JRP participants include sponsors, facilitators, users and managers, scribes,
and IT staff.
• The sponsor is an individual in top management, who has full authority to decide who
will be participants, the time, and location of the JRP session. The role of a facilitator is
to lead the JRP session, motivate participants, solve conflicts and meet the requirements
of meeting during the JRP session.
• Users in the JRP session are responsible for the rules and requirements of a business,
prototype, and satisfactory decisions. And Managers are responsible for projects,
schedules, and costs, and training requirements. The scribe’s job is to record everything
discussed in the meeting.
• IT staff responsible for models and documentation concerning facts during the
discussion.
Advantages of JRP
• JRP is formed by different individuals with various roles and covers both users and
management levels.
• JRP saves time to develop systems as it is not required one-on-one interviewing of each
participant within the organization. When JRP incorporates prototyping as a means for
confirming requirements and obtaining design approvals, the benefits of prototyping are
realized.
Disadvantages of JRP
• Extensive training is required for JRP as it is a group form. Active participation of all
individuals will result in the solution of JRP sessions.
Difference between Structured and
Unstructured Interviews
Differentiate Open Response and
Closed Response Questionnaires
Data Flow Diagram(DFD)
• A Data Flow Diagram (DFD) is a traditional visual representation of the
information flows within a system.
• It represents graphically a flow of data within a system.
• It illustrates how data is input and output from the system.
• It also shows destinations, storage, and sources of the information in the
system.
• The objective of a DFD is to show the scope and boundaries of a system as a
whole.
• It used as a communication tool between user and system analyst as well as
system analyst and System designer.
• It can be manual, automated, or a combination of both.
• In other words, DFD represents the information flow as well as where data
comes from, where data goes and how it is stored.
• It contains some symbol for drawing the data flow diagram.
Symbols of DFD
DFD Elements
• Data flow diagram has Four major elements:
• Processes – It shows a Process or task performed by the system. It defines
main activities that are happening within the system boundary. The process
can be as simple as collecting customer data and storing it in the company
database.
• External entities – Entity are object of the system. The sources of information
coming to or leaving the system. External entities are outside systems such as
people (customers, stakeholders, managers), organizations, computers and
other systems that send or receive data from our system. Entities could also
be a third-party company or individual, a computer system, or a business
system.
• Data stores – A places where data is held such as files or repositories. Data
stores show information that is not moving.
• Data flows – It shows actual movements that data have between the external
entities, data stores, and the processes.
Context level data flow diagram
• The context level data flow diagram is describe the whole system. It shows the
all user module who operate the system.
• The context diagram is used to derive the DFD Level 1 content, which is then
split down into sub-processes.
• This is to inform the programmer about the system’s included operations and
data inputs.
Rules:
• Context level diagram shows only One process that describe entire system.
• Data flow shows input and output detail.
• Data store not shown.
• All external entity shows in context level.
Context level DFD - Book order system
DFD level-1 Online Book Order System
Verify book detail
Verify book detail
Reg/Login detail
Delivery Boy New User detail
DFD level -2
2.1
Concept of Data Dictionary
• A data dictionary is a document that describes the tables, fields, and other elements in a
database and explains their meaning and origin.
• A data dictionary, or data repository, is a central storehouse of information about the
system’s data.
• It makes it easier for users and analysts to use data as well as understand and have
common knowledge about inputs, outputs, components of a database, and intermediate
calculations.
• An analyst uses the data dictionary to collect, document, and organize specific facts about
the system, including the contents of data flows, data stores, entities, and processes.
• The data dictionary also defines and describes all data elements and meaningful
combinations of data elements.
• A data element, also called a data item or field, is the smallest piece of data that has
meaning within an information system.
• Examples of data elements are student grade, salary, Social Security number, account
balance, and company name.
• Data elements are combined into records, also called data structures. A record is a
meaningful combination of related data elements that is included in a data flow or
retained in a data store. Example: Mark sheet
Why Data Dictionary is Essential?
• There is less information and details provided by data models. So, a data dictionary is
essential and needed to have proper knowledge and usage of contents. Data Dictionary
provides all information about names that are used in system models.
• Data Dictionary also provides information about entities, relationships, and attributes that
are present in the system model.
Benefits of a Data Dictionary
• Improved data consistency: Ensures that data elements are consistently defined
and used across the system.
• Enhanced data quality: Helps to identify and correct data inconsistencies and
errors.
• Facilitates communication: Provides a common understanding of data for all
stakeholders, including developers, analysts, and business users.
• Streamlines development: Supports efficient database design, data validation,
and application development.
• Reduces data redundancy: Helps to identify and eliminate duplicate data
definitions.
• Supports data governance: Provides a foundation for establishing and enforcing
data policies and standards.
Limitations of Data Dictionary
• Implementation and Maintenance Costs: Implementing and maintaining a data
dictionary can be costly, requiring significant resources in terms of time, money,
and personnel.
• Data Dictionary Complexity: A data dictionary can be complex and difficult to
manage, particularly in large organizations with multiple systems and data
sources.
• Resistance to Change: Some stakeholders may be resistant to using a data
dictionary, either due to a lack of understanding or because they prefer to use
their terminology or definitions.
• Data Security: A data dictionary can contain sensitive information, and
therefore, proper security measures must be in place to ensure that
unauthorized users do not access or modify the data.
• Data Governance: A data dictionary requires strong data governance practices
to ensure that data elements and attributes are managed effectively and
consistently across the organization.
Rules of Data Dictionary
• Accuracy and Completeness: Every data element should be clearly and accurately
defined, and the dictionary should be comprehensive, covering all relevant data points.
• Consistency: Data elements should be named and defined consistently throughout the
system. For example, a customer ID should always be referred to as such, not as "cust ID"
in one place and "customer_number" in another.
• Accessibility: The data dictionary should be easily accessible to all users who need it,
including developers, analysts, and business users.
• Up-to-date: The data dictionary should be regularly updated to reflect changes in the
data or the system.
• Standardization: Use standardized naming conventions and data types for all data
elements.
• Relationships: Document relationships between data elements and how they relate to
each other.
• Metadata: Include metadata such as data source, creation date, and ownership.
• Business Rules: Document any business rules associated with the data.
• Validation Rules: Define validation rules for data input to ensure data quality.
• Training: Ensure users are properly trained on how to use and interpret the data
dictionary.
• Storage: Choose a suitable platform for storing and managing the data dictionary.
• Collaboration: Enable collaboration and feedback among users to ensure the data
dictionary remains accurate and relevant.
Construction of Data Dictionary
1. Identify and Define Data Elements:
• List all data elements: Begin by identifying all data elements used in the system, including those in
databases, files, and user interfaces.
• Define each element: For each element, provide a clear and concise definition, including its purpose,
data type, length, format, and any constraints.
• Consider data sources and usage: Document where the data originates and how it is used within the
system.
2. Establish Relationships:
• Document relationships: Define the relationships between different data elements, such as one-to-
many, many-to-many, or parent-child relationships.
• Create diagrams: Entity-Relationship Diagrams (ERDs) can be helpful in visualizing these relationships.
3. Document the Dictionary:
• Choose a format: Select a suitable format for your data dictionary, such as a spreadsheet, document,
or specialized data catalog software.
• Standardize: Establish a consistent format and taxonomy for your data dictionary to ensure
uniformity.
• Include metadata: Capture relevant metadata, including data owners, usage information, and data
quality rules.
4. Maintain and Update:
• Regular updates: Keep the data dictionary up-to-date with changes to the system, including new data
elements, modified relationships, or updated definitions.
• Assign ownership: Designate data owners or stewards to be responsible for maintaining and updating
the data dictionary.
Step 1: Identify data elements
• Start by identifying all the relevant data elements for your organization or system. This could include
information about customers, products, transactions, or any other data critical to your business.
Step 2: Define each data element and assign attributes
• After identifying the data elements, define each one by creating a clear and concise definition that describes
its purpose and meaning. Then, assign attributes to each data element, such as data type, length, format,
precision, and scale. This will help ensure the data is accurate and consistent across all systems and
applications.
Step 3: Document relationships and define business rules
• Next, document the relationships between the data elements. This includes parent-child relationships,
many-to-many relationships, and any other relevant relationships. After that, define any business rules and
constraints that apply to the data elements. These may include mandatory fields, allowable values, and
formatting requirements. By doing so, you can help ensure that the data is valid and conforms to the
organization's standards.
Step 4: Capture metadata, source information, and usage information
• It is important to capture metadata for each data element, including information such as who created it,
when it was created, and its usage. Additionally, recording information about the sources of the data - such
as where it was collected, how it was collected, and how often it is updated - can help ensure that the data
is trustworthy and relied upon.
Step 5: Assign data owners and stewards
• Assign data owners and data stewards for each data element to ensure that someone is responsible for
maintaining its accuracy and completeness. Data owners are responsible for ensuring the data is accurate
and meet the organization's standards, while data stewards are responsible for managing the data on a day-
to-day basis.
Step 6: Publish
• After completing the data dictionary, publish it and make it available to all relevant stakeholders within the
organization. Be sure to maintain it regularly, updating it as needed to reflect changes in the organization or
system. This will help ensure that the data remains accurate, consistent, and well-documented.
Assignment
1. What is system? Explain SDLC in detail.
2. Write a short note on Waterfall model.
3. Explain Spiral model with proper diagram.
4. When to use incremental model? Give advantages and disadvantages of it.
5. List out all fact finding techniques and explain any 2 of them.
6. Describe use and types of questionnaire.
7. Write a short not on feasibility study.
8. Create DFD for Hospital system.
9. What is the use of DD? Explain Rules to develop DD.
10. Explain Construction process of DD in detail.