SADUnit 1
SADUnit 1
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
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.
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.
• 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.