Introduction To Software/system
Introduction To Software/system
Unit-1
Introduction
Every system / software i-e development for specific use requires lots of efforts. System may
be developed by many developers.
A system must be design properly as per the user requirements source code must be carefully
implemented and thoroughly tested and supporting documents such as user manual,
installation procedure, training, maintenance documents must be prepared.
Introduction to system
What is system?
A system is a set of elements combine to get her to fulfil a specific job system is an organised
interacting, Interdependent & integrated set of components.
Any system must have objects or set of objectives or a hierarchical set of objects A system is
an assembly a procedure, process methods, routines, techniques, etc.
Definitions of system :-
1. Organisation:-
An organisation implies structure an order it is the arrangement of components that are
help to achieve objectives.
2. Interaction:-
Interaction after to manner in which each component function with other components of
the system.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
3. Interdependence:-
Interdependence means that part of organisation or computer system depend on one
another.
E.g.: For Proper Functioning the output of one sub -system is used by another sub-system
as input.
4. Integration:-
Integration refers to the combined working of all subsystem in the organisation to achieve
the common objective of the organisation.
5. Central objective:-
Central objective means a common goal, which is real or stated.
Types of System:-
There are following types of system -
1) Deterministic and probabilistic System:
A) Deterministic system:-
A deterministic system is one which operates in a predictable manner where stepwise
execution and output is known.
Ex: - A Computer Program for finding factorial of number.
B) Probabilistic system:-
E.g. chemical reaction shielded tube. A television which control its sharpness / brightness
automatically with the help of sensor.
Transition means interaction that takes place between two elements. These get generated
on a day to day basis in an organisation and are collected stored and used for updating data.
Files so as to change the current status of organisational entity.
Benefits:-
a) store all transitions
b) Help to trace But the problems
c) Gives current status of various organisational entitles.
4) Management Information system (MIS):-
DSS assist in decision making with the support of other lower level system like MIS. These
systems make use of the summarised organisational data as well as external data collected
from the environment of the organisation. The internal data is mostly used for studying the
trends whereas external data is mostly used for understanding the environment. These
system also make use of analytically and planning models such as management science and
operation research models. These systems are mostly used in top level management in
decision making.
Benefits -
a. Increase number of alternatives examined.
b.Better decision are taken.
c. Saves cost and time.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
Executive information system is structured and automated tracking system. This system
served the information need of top executives. These systems provide rapid access to timely
information and direct access to management reports.
These systems are very user friendly supported by graphics and provide exceptions
reporting & drilling down capabilities, which are easily connected with online information
services and electronic mail.
Benefits:-
A) Contains extensive graphics capabilities.
B) Easy quick access to detailed information.
C) Information is provided in multiple views like text, numbers, graphs etc.
Benefits:-
A) Output is selected with the opinion of many experts.
B) Effective manipulation of large knowledge base.
C) Increased output and productivity
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
1) Preliminary Investigations -
Any person related with the system initiates the request when the request is made preliminary
investigation start this activity has 3 parts-
A) Request classification
B) Feasibility study
C) Request approval
A) Request classification:-
Any request initiated by any person (user) must be examined to determine what the
originator wants before system investigation is started.
B) Feasibility Study:-
The feasibility study is useful to evaluate the cost and benefits of the system
requested.
There are 3 major aspects in Feasibility study:-
i) Technical feasibility:-
The technical feasibility always focuses on the existing computer hardware, Software.
This also includes the need for more hardware or software and Possibility of installing
such facility.
ii) Economical feasibility -
It considers the cost / benefits analysis of the proposed project. The benefit is always
a expected to the cost.
Economic feasibility is helpful to find the system development cost and checks. For
that it checks investigation cost, software & hardware cost, training cost, salaries,
maintenance cost etc.
iii) Operational Feasibility:-
It consider the acceptability of the system is checks whether system used. if it is
developed & implemented. It able to handle the system various cast incurred by
system –
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
C) Request approval:
The request received from various persons is studied for its feasibility and those
requests which are Feasible are approved.
After requests are approved its cost, completion time and Personal requirements are
estimated and Project Planning is updated.
2) System analysis -
3) System Design -
System analysis phase defines the way think are to be done while the design phase
Defines the way how a System will meet the requirements which are identified during
system analysis system design should be hardware & Software environment
independent as possible.
These system Design phase includes development of the Following -
A) Output definition | Reports
B) Input definition / Screen Forms
C) Data element dictionary
D) Programs Specifications / Procedures
E) System specifications
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
During the System development, analyst also undertakes the codification and
comparison of the data to:-
1) use less magnetic storage Phase
2) Commit fewer mistakes while entering data.
3) Maintain uniformity of data.
4) Incur less cost in entering updating, processing and Storage of the data.
After system design is completed it must be translated into machine language. The
coding Steps include writing new custom designed programs. Excellent programing
skills and experience are required for this phase of the SDLC.
Basic objective of the testing is to find the errors Testing gives guarantee that the
software does not change & will run according to its specifications & in the way user
accepts the person who are not involved in the initial systems development mostly do
testing it is a human nature that be ours cannot find any error in our work.
The Basic activities involve in the testing Phase are as follows-
1) Checking the individual programs, it is a logic & interfaces between various
programs.
2) Design test cases for checking the interfaces
3) Checking the quality of code & established standards.
4) Checking whether system Produced correct and desired result
Once the system has been declared fully developed & tested it is ready for implementation.
The implementation includes the following activities -
1) Planning & preparing schedule for the implementation.
2) Procurement of hardware
3) Installation of software
4) Requirement of the operating personal
5) Motivation and training to the selected Personal and the users
6) Conversation of data files from the old system
7) Final change over
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
7) System Maintenance:
The system is thoroughly tested before the implementation the system is never full proof &
errors always continue to exist. Customer may want certain changes in the system Therefore
there is a need to have person to look after the system & maintain it even during the operation
& Production.
A Data Flow Diagram (DFD) is a traditional visual representation of the information flows
within a system. A neat and clear DFD can depict the right amount of the system requirement
graphically. It can be manual, automated, or a combination of both. It shows how data enters
and leaves the system, what changes the information, and where data is stored. The objective
of a DFD is to show the scope and boundaries of a system as a whole. It may be used as a
communication tool between a system analyst and any person who plays a part in the order that
acts as a starting point for redesigning a system. The DFD is also called as a data flow graph
or bubble chart.
1. All names should be unique. This makes it easier to refer to elements in the DFD.
2. Remember that DFD is not a flow chart. Arrows is a flow chart that represents the order
of events; arrows in DFD represents flowing data. A DFD does not involve any order
of events.
3. Suppress logical decisions. If we ever have the urge to draw a diamond-shaped box in
a DFD, suppress that urge! A diamond-shaped box is used in flow charts to represents
decision points with multiple exists paths of which the only one is taken. This implies
an ordering of events, which makes no sense in a DFD.
4. Do not become bogged down with details. Defer error conditions and error handling
until the end of the analysis.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
Standard symbols for DFDs are derived from the electric circuit diagram analysis and are
shown in fig:
Circle: A circle (bubble) shows a process that transforms data inputs into data outputs.
Data Flow: A curved line shows the flow of data into or out of a process or data store.
Data Store: A set of parallel lines shows a place for the collection of data items. A data store
indicates that the data is stored which can be used at a later stage or by the other processes in a
different order. The data store can have an element or group of elements.
Source or Sink: Source or Sink is an external entity and acts as a source of system inputs or
sink of system outputs.
The DFD may be used to perform a system or software at any level of abstraction. Infact, DFDs
may be partitioned into levels that represent increasing information flow and functional detail.
Levels in DFD are numbered 0, 1, 2 or beyond. Here, we will see primarily three levels in the
data flow diagram, which are: 0-level DFD, 1-level DFD, and 2-level DFD.
0-level DFDM
It is also known as fundamental system model, or context diagram represents the entire
software requirement as a single bubble with input and output data denoted by incoming and
outgoing arrows. Then the system is decomposed and described as a DFD with multiple
bubbles. Parts of the system represented by each of these bubbles are then decomposed and
documented as more and more detailed DFDs. This process may be repeated at as many levels
as necessary until the program at hand is well understood. It is essential to preserve the number
of inputs and outputs between levels, this concept is called leveling by DeMacro. Thus, if
bubble "A" has two inputs x1 and x2 and one output y, then the expanded DFD, that represents
"A" should have exactly two external inputs and one external output as shown in fig:
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
The Level-0 DFD, also called context diagram of the result management system is shown in
fig. As the bubbles are decomposed into less and less abstract bubbles, the corresponding data
flow may also be needed to be decomposed.
2-Level DFD
2-level DFD goes one process deeper into parts of 1-level DFD. It can be used to project or
record the specific/necessary detail about the system's functioning.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
Dada Dictionary: -
A data dictionary is a file or a set of files that includes a database's metadata. The data
dictionary hold records about other objects in the database, such as data ownership, data
relationships to other objects, and other data. The data dictionary is an essential component of
any relational database. Ironically, because of its importance, it is invisible to most database
users. Typically, only database administrators interact with the data dictionary.
Aliases include other names by which this data item is called DEO for Data Entry Operator
and DR for Deputy Registrar.
Description/purpose is a textual description of what the data item is used for or why it exists.
Related data items capture relationships between data items e.g., total_marks must always
equal to internal_marks plus external_marks.
Range of values records all possible values, e.g. total marks must be positive and between 0
to 100.
Data structure Forms: Data flows capture the name of processes that generate or receive the
data items. If the data item is primitive, then data structure form captures the physical structures
of the data item. If the data is itself a data aggregate, then data structure form capture the
composition of the data items in terms of other data items.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
The mathematical operators used within the data dictionary are defined in the
table:
Notations Meaning
Purpose of ERD:-
o The database analyst gains a better understanding of the data to be contained in the
database through the step of constructing the ERD.
o The ERD serves as a documentation tool.
o Finally, the ERD is used to connect the logical structure of the database to users. In
particular, the ERD effectively communicates the logic of the database to users.
Components of ER Diagram:-
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
1. Entity:-
An entity can be a real-world object, either animate or inanimate, that can be merely
identifiable. An entity is denoted as a rectangle in an ER diagram. For example, in a school
database, students, teachers, classes, and courses offered can be treated as entities. All these
entities have some attributes or properties that give them their identity.
Entity Set
An entity set is a collection of related types of entities. An entity set may include entities with
attribute sharing similar values. For example, a Student set may contain all the students of a
school; likewise, a Teacher set may include all the teachers of a school from all faculties. Entity
set need not be disjoint.
2. Attributes:-
Entities are denoted utilizing their properties, known as attributes. All attributes have values.
For example, a student entity may have name, class, and age as attributes.
There exists a domain or range of values that can be assigned to attributes. For example, a
student's name cannot be a numeric value. It has to be alphabetic. A student's age cannot be
negative, etc.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
1. Key attribute
2. Composite attribute
3. Single-valued attribute
4. Multi-valued attribute
5. Derived attribute
1. Super key: A set of attributes that collectively identifies an entity in the entity set.
2. Candidate key: A minimal super key is known as a candidate key. An entity set may
have more than one candidate key.
3. Primary key: A primary key is one of the candidate keys chosen by the database
designer to uniquely identify the entity set.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
4. Multi-valued Attribute: If an attribute can have more than one value, it is known as a multi-
valued attribute. Multi-valued attributes are depicted by the double ellipse. For example, a
person can have more than one phone number, email-address, etc.
5. Derived attribute: Derived attributes are the attribute that does not exist in the physical
database, but their values are derived from other attributes present in the database. For
example, age can be derived from date_of_birth. In the ER diagram, Derived attributes are
depicted by the dashed ellipse.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
3. Relationships:-
The association among entities is known as relationship. Relationships are represented by the
diamond-shaped box. For example, an employee works at a department, a student enrolls in a
course. Here, Works at and Enrolls are called relationships.
Relationship set
The number of participating entities in a relationship describes the degree of the relationship.
The three most common relationships in E-R models are:
1. Unary (degree1)
2. Binary (degree2)
3. Ternary (degree3)
2. Binary relationship: It is a relationship between the instances of two entity types. For
example, the Teacher teaches the subject.
3. Ternary relationship: It is a relationship amongst instances of three entity types. In fig, the
relationships "may have" provide the association of three entities, i.e., TEACHER,
STUDENT, and SUBJECT. All three entities are many-to-many participants. There may be
one or many participants in a ternary relationship.
In general, "n" entities can be related by the same relationship and is known as n-
ary relationship.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
Decision Tree is a supervised learning method used in data mining for classification and
regression methods. It is a tree that helps us in decision-making purposes. The decision tree
creates classification or regression models as a tree structure. It separates a data set into smaller
subsets, and at the same time, the decision tree is steadily developed. The final tree is a tree
with the decision nodes and leaf nodes. A decision node has at least two branches. The leaf
nodes show a classification or decision. We can't accomplish more split on leaf nodes-The
uppermost decision node in a tree that relates to the best predictor called the root node. Decision
trees can deal with both categorical and numerical data.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
Key factors:
Information Gain:
Information Gain refers to the decline in entropy after the dataset is split. It is also
called Entropy Reduction. Building a decision tree is all about discovering attributes that
return the highest data gain.
It helps us to make the best decisions based on existing data and best speculations.
Decision table technique is one of the widely used case design techniques for black box testing.
This is a systematic approach where various input combinations and their respective system
behaviour are captured in a tabular form.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
That's why it is also known as a cause-effect table. This technique is used to pick the test cases
in a systematic manner; it saves the testing time and gives good coverage to the testing area of
the software application.
Decision table technique is appropriate for the functions that have a logical relationship
between two and more than two inputs.
This technique is related to the correct combination of inputs and determines the result of
various combinations of input. To design the test cases by decision table technique, we need to
consider conditions as input and actions as output.
Most of us use an email account, and when you want to use an email account, for this you need
to enter the email and its associated password.
If both email and password are correctly matched, the user will be directed to the email
account's homepage; otherwise, it will come back to the login page with an error message
specified with "Incorrect Email" or "Incorrect Password."
Now, let's see how a decision table is created for the login function in which we can log in by
using email and password. Both the email and the password are the conditions, and the expected
result is action.
In the table, there are four conditions or test cases to test the login function. In the first condition
if both email and password are correct, then the user should be directed to account's Homepage.
In the second condition if the email is correct, but the password is incorrect then the function
should display Incorrect Password. In the third condition if the email is incorrect, but the
password is correct, then it should display Incorrect Email.
Now, in fourth and last condition both email and password are incorrect then the function
should display Incorrect Email.
In this example, all possible conditions or test cases have been included, and in the same way,
the testing team also includes all possible test cases so that upcoming bugs can be cured at
testing level.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
In order to find the number of all possible conditions, tester uses 2n formula where n denotes
the number of inputs; in the example there is the number of inputs is 2 (one is true and second
is false).
While using the decision table technique, a tester determines the expected output, if the
function produces expected output, then it is passed in testing, and if not then it is failed. Failed
software is sent back to the development team to fix the defect.
Input Design:-
Input design refers to the process of creating the layout and specifications for data entry in
a system. It involves determining the methods for collecting and entering data, ensuring
accuracy, efficiency, and user-friendliness. Factors like data validation, error handling, and
user interface design are crucial elements in input design.
1. *Accuracy:* ensure accurate and error-free data entry to prevent mistakes that can affect
the integrity of the system's information.
2. *Completeness:* capture all necessary data required for the system to function
effectively, avoiding missing or incomplete information.
3. *Efficiency:* Design input methods that optimize the speed and efficiency of data entry,
minimizing user effort and time.
4. *Consistency:* Maintain uniformity in data entry formats and procedures throughout the
system to enhance user understanding and reduce confusion.
7. *Flexibility:* Design input systems that can adapt to changing data requirements and
user needs without significant modifications to the software.
By addressing these objectives, input design contributes to the overall success and
reliability of a software system.
Structure Chart:-
Represent hierarchical structure of modules. It breaks down the entire system into lowest
functional modules, describe functions and sub-functions of each module of a system to a
greater detail. Structure Chart partitions the system into black boxes (functionality of the
system is known to the users but inner details are unknown). Inputs are given to the black
boxes and appropriate outputs are generated.
Modules at top level called modules at low level. Components are read from top to bottom
and left to right. When a module calls another, it views the called module as black box,
passing required parameters and receiving results.
Symbols used in construction of structured chart
1. Module
it represents the process or task of the system. It is of three types.
Control Module
a control module branches to more than one sub module.
Sub Module
Sub Module is a module which is the part (Child) of another module.
Library Module
Library Module are reusable and inviolable from any module.
2. Conditional Call
it represents that control module can select any of the sub module on the basis of some
condition.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
4. Data Flow
it represents the flow of data between the modules. It is represented by directed
arrow with empty circle at the end.
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
5. Control Flow
It represents the flow of control between the modules. It is represented by directed
arrow with filled circle at the end.
6. Physical Storage
Physical Storage is that where all the information are to be stored.
EXAMPLE:-
PROF.BALIP A.S.
M.Sc. Computer Science
Mudhoji College, Phaltan
HIPO Chart: -
(Heirarchical Input process output), HIPO chart is a combination of two organised method to
analyse the system and provide the means of documentation. HIPO Chart /model was
developed by IBM in year 1970.
HIPO diagram in order to obtain high level view of system functions it decomposes Functions
into Subfunctions in a heirarchical manner It despict the Functions Performed by system. HIPO
diagrams are good for documentation
Purpose. There graphical representation makes it easier for designers and managers to get the
In contrast to IPO (Input Process output) diagram, which dispicts the flow of control
& data in a module, HIPO does not provide any information about data Flow or
Control Flow.
Ex- Both Parts of HIPO diagram, hierarchical presentation and IPO diagram are used
for structured design of software program as well as documentation of the same
1) Correctness
2) Understand ability.
3) Efficiency.
4) Maintainability.
1) Correctness -
First of all the design of any software is evaluated for its correctness. The evaluator
checks the Software for every kind of input & action. and observed the result that the
software will Produce. According to the proposed design. If the result are correct for
every input the design is accepted.
2) Understand ability -
The software design should be understandable so that the developers do not find any
difficulty to understand it Good Software design should be Self explanatory this is
because there are 100 1000 of developers that develope the different modules of the
Software, & it would be very time consuming to explaining each design to each
developer, if the design is easy and Self-explanatory, it would be easy for the developers
to implement it and build the same software that is represented in the design.
3) Efficiency -
The software design must be efficient. The efficiency of the software can be estimated
from the design phase itself, because if the design is describing software that is not
efficient and useful then the developed software would also stand on the same level of
efficiency hence, for efficient and good quality software to be developed, care must be
taken in the designing Phase itself.
4) Maintainability -
The software design must be in such a way that modification can be easily made in it
that This is because every software needs time to time modifications & maintenance so
the design of the software must also be able to bear such changes it should not be case
that after making some modification other features of software Any change made in the
software design must not affect the other available features and if the features are getting
affected, then they must be handle properly.