1 Introduction
System:
A combination of
parts or components, which work together to control a task or an activity, is
called system. All system has inputs, a process and outputs.
Basic elements
of a system:
All system has 3
basic elements.
I.
Input
II.
Process
III.
Output
Information System:
The study of complementary
network of hardware and software that people an organization used to collect,
filter, and process, create, and distribute data is called information system.
There are 6
elements in an information system are as follows:
I.
People
II.
Procedure
III.
Data/information
IV.
Hardware
V.
Software
VI.
Communication
Types of Information system
The six major types of information systems corresponding to each organizational level (the four levels shown in figure above) are:
1. Transaction Processing Systems (TPS): serve the operational level of an organization.
2.
Knowledge work systems (KWS)
3.
Office automation systems (OAS) to serve the knowledge level of an
organization.
4.
Decision-support systems (DSS)
5.
Management information systems (MIS) serve the management level of the
organization.
6.
Executive support systems (ESS) serve the strategic level of an organization.
System
Analyst
The person who
is responsible for the analysis design and implementation of the business
system to the computer is called System Analyst.
· Role of a system Analyst: Success of
every system development depends on the role of system analyst. Some important
roles of system are as following:
a.
Change Agent:-Analyst must carefully plan, monitor
and implements the new changes in an organization so that the user will accept
the new changes.
b.
Investigator & monitor:-They may have to investigate the
failure of an existing system and find out problems and accordingly find the
solution.
c.
Architect: - They may have co-ordinate between
the user’s logical design requirements and the detailed physical system design.
d.
Psychologist:-The analyst reaches people,
interprets their thoughts, a session their behavior and draws conclusions from
these interactions.
e.
Motivator: - The analyst will prepare and
provide training and proper motivation to use the system.
· Characteristics
of system Analyst
1)
Knowledge
of organizations
2)
Knowledge
of computer systems and software.
3)
Good-
inter- person relation.
4)
Ability
to communicate.
5)
An
analytical mind.
6)
Breadth
of knowledge.
· Duties
& Responsibilities of a system Analyst:
The duty of a system analyst is to
co-ordinate the effects of all groups to effectively develop & operate
computer based information systems. The major duties of a system analyst are as
following:
a)
Defining
user’s Requirements:-The analyst should finds the needs by using fact finding
techniques like interview, observation etc.
b)
Prioritizing
Requirements Agreement:-By conducting common meeting & arriving at
agreement, analyst can prioritize the requirements. For this analyst must be
diplomatic.
c)
Analyst
& Evolution:-On the basic of facts & opinions, system analyst finds the
best characteristics of the new or modified system which will meet the user’s stated
information needs.
d)
Solving
Problems:- System Analyst is basically a problem solver. S/he must study the
problem in depth & suggest alternate solutions to management.
e)
Drawing
up functional specifications:- Analyst should obtain the functional specifications
of the system to be designed & specification must be non-technical so that
users and managers can understand.
f)
Designing
System;- One of the major duties of the analyst is to design the system.
g)
Evaluating
System:- It is analyst critical duty to evaluate a system after it has been in
operation for certain period of time.
System development Life Cycle (SDLC)
The process of developing
system by set of predefined steps is called SDLC. It consists of a set of steps
or phases in which each phase of the SDLC uses the results of the previous one.
A Systems Development Life
Cycle (SDLC) adheres to important phases that are essential for developers,
such as planning, analysis, design, and implementation, and are explained in
the section below. A number of system development life cycle (SDLC) models have
been created: waterfall, fountain, and spiral build and fix, rapid prototyping,
incremental, and synchronize and stabilize. The oldest of these, and the best
known, is the waterfall model: a sequence of stages in which the output of each
stage becomes the input for the next. These stages can be characterized and
divided up in different ways, including the following
· Project
planning, feasibility study: Establishes a high-level view of the
intended project and determines its goals.
- Systems analysis, requirements definition: Refines project goals into
defined functions and operation of the intended application. Analyzes
end-user information needs.
- Systems design: Describes desired features and operations in detail,
including screen layouts, business rules, process diagrams, pseudo -code
and other documentation.
- Implementation: The real code is written here.
- Integration and testing: Brings all the pieces together
into a special testing environment, then checks for errors, bugs and
interoperability.
- Acceptance, installation,
deployment:
The final stage of initial development, where the software is put into
production and runs actual business.
- Maintenance: What happens during the rest of the software's life: changes, correction, additions, and moves to a different computing platform and more. This, the least glamorous and perhaps most important step of all, goes on seemingly forever.
1.5 Importance
and necessity of SDLC
a) It encourages development of software
in a systematic and disciplined manner.
b) It defines entry and exit criteria for
every stage.
c) If we have developed the SDLC, then at
which stage on developments is going on we can say.
d) It can be easy to implement.
e) It can be complemented under deadline.
1.5 System
development model
A
descriptive and diagrammatic model of a system is called system development
model. A model identifies all the activities. Some of the important models are
as follows:-
Waterfall Model
The waterfall model shows
a process, where developers are to follow these phases in order:
2.
Design
3.
Implement
4.
Test
5.
Maintain
In a strict
Waterfall model, after each phase is finished, it proceeds to the next one.
Reviews may occur before moving to the next phase which allows for the
possibility of changes (which may involve a formal change control process).
Reviews may also be employed to ensure that the phase is indeed complete; the
phase completion criteria are often referred to as a "gate" that the
project must pass through to move to the next phase. Waterfall discourages
revisiting and revising any prior phase once it's complete. This
"inflexibility" in a pure Waterfall model has been a source of
criticism by other more "flexible" models.
Spiral
Model
The
key characteristic of a Spiral model is risk management at regular stages in
the formal software system development "spiral model", it falls
models and rapid prototyping models combine the emphasis has been neglected by
other models of risk analysis, particularly suited to large-scale complex
systems. Spiral model spiral down to a number of iteration, the four quadrant
diagram representative of the following activities:
The steps in
the spiral model iteration can be generalized as follows:
1.
The system requirements are defined in
as much detail as possible.
2.
A preliminary design is created for the
new system.
3.
First prototype of the new system is
constructed from the preliminary design.
4.
A second prototype is evolved by a
fourfold procedure:
· Evaluating the first prototype in terms of its strengths,
weaknesses.
· defining the requirements of the second prototype;
· Planning and designing the second prototype.
· Constructing and testing the second prototype.
Prototype Model
The Software Prototyping refers to building
software application prototypes which display the functionality of the product
under development but may not actually hold the exact logic of the original
software.
FEASIBILITY STUDY
Feasibility
study is the study of whether the system is feasible or not to design. It
consists of technical feasibility, economical feasibility, operational
feasibility, legal feasibility and behaviour feasibility.
Types of Feasibility Study:
1. Economical Feasibility:
It
concerns with cost effectiveness of the system. The main objective of
economical feasibility is to calculate approximate cost- both the development
cost and the operational cost and the benefits from the system. Management
always think that the short term cost is overshadowed by the long term gain.
Both direct and indirect benefits should be measured.
2. Technical Feasibility:
It
concerns with the availability of the hardware, software and the support
equipments for the complete development of the system. It also deals with the
other different types of technical requirements: uninterrupted power supply,
network and internet connection etc. Moreover it also deals the technical
manpower to develop and operate the system.
3. Operational Feasibility:
It
concerns with smooth operation of the system. It is all about the problems that
may occur during operation of the system after its development. For the smooth
operation of the system, there are different factors such as: accuracy,
response time, security, services and the efficiency of the system.
4. Behaviour Feasibility:
It
concerns with behavior of the users and the society towards the new
system/technology. Generally, most of the traditional employees are not easily
ready to upgrade them with the new system/technology. They may feel that their
jobs are unsecured because of new system and react accordingly.
5. Legal Feasibility:
It
concerns with legal issue of the system. If the system is illegal then the
system designing is meaningless. Everything is measured whether it is legal or
illegal. It considers copyright law, labour law, foreign trade, tax etc. It
plays role in the contract between the clients and the developer and also
considers the code ownership of the system.
6. Schedule Feasibility:
It
is the process of splitting project into tasks and estimate time and resources
required to complete each task. It determines the deadline to complete a system
and schedule the task accordingly. If the system is completed in the given
deadline then it is called good system design otherwise it affects other
feasibility such as economical, technical, operational.
System Design
The goal of the
design phases is to transform the requirements specification into a structure
that is suitable for implementation in some programming language. Currently,
two distinct design approaches are being followed in different industries:
traditional design approach.
· Traditional
Design:- It is also
called structured design. It describes the process that act transform data into
useful information. It relies on a set process models that graphically describes
a system. Process modeling identifies the data flowing into a process.
· Object-oriented
Design:-Object-oriented
analysis combines data and the processes that act on the data into things
called objects. Using an object-oriented design, a programmer then transforms
the objects into reusable code and components. An object is a member of a
class, which is a collection of similar objects. Objects posses characteristics
called properties, which it inherits from its class or possesses on its own.
Two types of
design exist: Logical design and physical design.
· Logical
design:-Logical design
identifies the records and relationship to be handled by the system. It focuses
on the reasoning by breaking down the system into a subsystem, and each
subsystem into smaller subsystems, until the process cannot be further
repeated. It establishes the relationships among various subsystems, the
records and variables in the subsystems, and interrelationships among variables
and subsystems.
· Physicals
design:-Physical
design proceeds, after logical design in complete, in two steps. At first an
initial broad level design; followed by a detailed design. It addresses the
physical aspects of the system such as inputs and output devices, hardware
configurations, memory and storage, physical security etc. the Board design
identifies the main architecture of the proposed system. Detailed designed and
detailed user procedures are documented.
System Development
At this stage, the system design is given to
the programmer for coding in programming language. The programmer should have
the knowledge of selected language to find the errors and modify the program.
There are many tools available for help through the steps of systems design.
Let, the teams are making a system in prototype model.
Prototyping
Prototyping
means a creation of working model of a new computer system or program for
testing and refinement. Prototyping is used in the development of both new hardware
and software systems and new systems of information management. Prototyping is
an important complement of Rapid Application Development (RAD). RAD is the
approach where systems are developed quickly. The system that is developed is
called prototype. It is thus heavily user-oriented because the prototype is
given to user to use and they will tell the weakness to improve the system.
CASE
(Computer Aided Software Engineering)
CASE tools are a computer based product aimed
at supporting one or more software engineering activities within a system or
software development process. CASE software, however, is expensive, requires
expensive training and is difficult to use.
System Testing
System testing
is an investigation conducted to provide stakeholders with information about
the quality of the product or services under test. System testing also provides
an objective, independent view of the software to allow the business to
appreciate and understand the risks of software implementation.
•
Black-box or behavioral testing (knowing the specified function a product is to
perform and demonstrating correct operation based solely on its specification
without regard for its internal logic)
•
White-box or glass-box testing (knowing the internal workings of a product,
tests are performed to check the workings of all independent logic paths)
Ø White Box Testing
This testing strategy is
very efficient in module testing because control and data flow is clear within
the module. However, it is possible to apply this testing strategy within whole
program. White Box Testing is sometimes called glass box testing. It is a test
case design method that uses the control structure if the procedure designs to
derive test case. Using white box testing methods, the software engineer can
derive test that
·
Guarantee that all independent paths within
a module have been exercised at least once.
·
Exercise all logical decisions on their
true and false sides.
·
Exercises all loops at their boundaries and
within their operational bounds.
·
Exercise all internal data structure to
ensure their validity.
Ø Black Box Testing
Black Box Testing is used
to review module or program function from outside. A black box strategy is very
efficient in the function and system testing. The testing applies to determine
whether inputs are accepted as planned. It is also called behavioral testing,
focuses on the fictional requirement of the software. Black box testing enables
the software engineer to derive sets of inputs conditions that will fully
exercise all the functional requirements for a program. Black box testing is
not an alternative to white box testing techniques. Rather, it is a
complementary approach that is likely to uncover different class of errors than
white box method. It attempts to find errors in the following categories:
·
Interface errors
·
Errors in data structure or external data
base access
·
Behavior or performance errors and
·
Initialization and termination errors.
Implementation
System
implementation generally focuses on the coding and installing of the system.
The system implementation is composed of activities, which are coding, testing,
and installation. The purpose of these steps is to convert the physical system
specification into the working and reliable software.
Coding
is the process whereby the physical design specification created by the
analysis team is turned into working computer code by the programming team.
Once the code has begun the testing procedure can begin and proceed in
parallel.
Installation
is also an activity involved in the implementation phase and is the process
during which the current system is replaced by the new system. There are three
strategies of installation:
· Direct
Installation:
§ In the direct installation the old
system is turned off and new system is installed. This type of installation is
very risky.
· Parallel
Installation:
§ In parallel installation the old and
new systems run in parallel. It is the riskless type of the installation. In
this method, the system are run in parallel until the end users are satisfied
by the new system’s performance, then the old system is turned off.
· Phased
installation:
§ In the phased installation, the old
system is changed to the new incrementally, starting one or few functional
components and then gradually extending the installation to cover the whole new
system.
Maintenance and reviews
System
maintenance denotes the process of modifying a software product after it has
been delivered to the customer or organization. Most system needs maintenance
due to wear and tear caused by use. Maintenance involves performing ay one or
more of the following three kinds of activities.
1.
Correcting
errors that were not dissolved during the system development phase. This is
called corrective maintenance.
2.
Importing
the implementations of the system and enhancing the functionalities of the
system according to the customer’s requirements. This is called perfect
maintenance.
3.
Porting
the software to a new environment e.g. to a new operating system. This is
called adaptive maintenance.
A post- implementations review helps
developers and users to analyze and highlight the successful and
non-so-successful parts of a system. This review enables to perform a
systematic search for better ways to develop and implement systems, apart from
helping the organizations to recap the important lesion it gained from
developing the system. Such as an audit is normally conducted after the system
is fully operational and it performance can be evaluated.
CONCEPT
OF SYSTEM DESIGN TOOLS
a)
Context Diagram
The
context diagram gives a board overview of the system and identifies the major
inputs, processes, and outputs in the system. It allows users and developers to
view the big picture. The context diagram represent diagram represents the
entire system under investigation. This diagram should be drawn first, and used
to clarify and agree the scope of the investigation.
b) Data flow diagram
Data
Flow Diagrams (DFDs) are the versatile diagramming tools. We can use the Data
Flow Diagrams to represent both physical and logical information of the system.
There are two different standard sets of DFD symbols to represent the data
flow, database, processes and source/links or external entities. In this
documentation we have used the standard set of DeMarco and Yourden. A DFD is a
hierarchical graphical model of a system that shows the different processing
activities or functions that the system performs and the data interchange among
these functions. In the DFD terminology, it is useful to consider each function
as a processing station that consumes some input data and produces some output
data. DFD is an elegant modeling technique that turns out to be not only useful
for several other applications such as showing the flow of documents or items
in an organization.
The Entity Relationship (ER) Data Model
is a detailed logical representation of the entities, associations and data
elements for a system. A graphical representation of the ER data model is known
as ER Diagram.
An
entity is a person, place, object, event or concept in the user environment
about which the organization wishes to maintain data. An entity has its own
identity and attributes that distinguish it from other entities. Different
entities have different relationships with one another.
The
basic symbols used in ER diagram are:
d)
System flow chart
System
flowcharts are a way of displaying how data flows in a system and how decisions
are made to control events.
To
illustrate this, symbols are used. They are connected together to show what
happens to data and where it goes. The basic ones include:
Note
that system flow charts are very similar to data flow charts. Data flow charts
do not include decisions, they just show the path that data takes, where it is
held, processed, and then output.
Using system
flowchart ideas
This
system flowchart is a diagram for a 'cruise control' for a car. The cruise
control keeps the car at a steady speed that has been set by the driver.
The
flowchart shows what the outcome is if the car is going too fast or too slow.
The system is designed to add fuel, or take it away and so keep the car's speed
constant. The output (the car's new speed) is then fed back into the system via
the speed sensor.
e) Decision table
Decision tables,
like flowcharts and if-then-else and switch-case statements, associate
conditions with actions to perform, but in many cases do so in a more elegant
way. Structure of a decision table :
The
four quadrants
|
|
Conditions
|
Condition alternatives
|
Actions
|
Action entries
|
An Example of a decision table:
Rules
|
|||||||||
Conditions
|
Printer does not print
|
Y
|
Y
|
Y
|
Y
|
N
|
N
|
N
|
N
|
A red light is flashing
|
Y
|
Y
|
N
|
N
|
Y
|
Y
|
N
|
N
|
|
Printer is unrecognized
|
Y
|
N
|
Y
|
N
|
Y
|
N
|
Y
|
N
|
|
Actions
|
Check the power cable
|
X
|
|||||||
Check the printer-computer cable
|
X
|
X
|
|||||||
Ensure printer software is
installed
|
X
|
X
|
X
|
X
|
|||||
Check/replace ink
|
X
|
X
|
X
|
X
|
|||||
Check for paper jam
|
X
|
X
|
f) Decision tree
Decision trees are commonly used in operations research, specifically in decision analysis, to help identify a strategy most likely to reach a goal.
g) Use case Diagram
Use case represents the functional
requirements of the system. A Use case model consists of actors and use cases
of the system. An actor represents the role that a user can play.
The other actor job employer can also
sign up. After successful sign up the job employer is provided with the
required username and password with which the job employer can login into to
his own account. After login the job employer can create, update and add its
company profile as requirement. Employer posts the jobs so that the different
job seeker can notice the posted jobs and apply for it. The employer can view
the resume posted by various job seeker. Company can also change the username
and password according to his need.
UNIT
- 1 [HOMEWORK QUESTIONS ]
1. What the major activities in SDLC are
with based on waterfall model?
2. What is feasibility study? Why
feasibility study is important in system analysis phase? Explain.
3. What is feasibility study? Explain
different levels of feasibility study.
4. What is system? Explain the basic
elements of system.
5. Who is system analyst? List out the roles
of system analyst.
6. Define SDCC. Explain different stages
of system development life cycle (SDLC) with clear figure.
7. Define program logic. Explain different
types of program logic tools.
8. What do you mean by system testing?
Differentiate between black box testing and white box testing.
0 comments:
Post a Comment
Your suggestions / query encourages more to share things like this. Feel free to comment in below box.
What ever you think about it...