0% found this document useful (0 votes)
55 views24 pages

Course Content: Computer Science TOTAL: 100: System

This document outlines the course content for a Computer Science program totaling 100 units divided between theory and practical work. It includes the following topics: System Development Concept (10 units), Database (15 units), Communication and Networking (10 units), Programming in C (25 units), Object Oriented Programming (5 units), Information and Communication Technology/Cyber Law (3 units), Multimedia (3 units), Artificial Intelligence (2 units), Contemporary Technology (4 units), and a Final Project (23 units).

Uploaded by

Mac Tavish
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views24 pages

Course Content: Computer Science TOTAL: 100: System

This document outlines the course content for a Computer Science program totaling 100 units divided between theory and practical work. It includes the following topics: System Development Concept (10 units), Database (15 units), Communication and Networking (10 units), Programming in C (25 units), Object Oriented Programming (5 units), Information and Communication Technology/Cyber Law (3 units), Multimedia (3 units), Artificial Intelligence (2 units), Contemporary Technology (4 units), and a Final Project (23 units).

Uploaded by

Mac Tavish
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 24

COURSE CONTENT: COMPUTER SCIENCE

TOTAL: 100
(THEORY: 75+PRACTICAL: 25)

1) System Development Concept: 10


2) Database: 15
3) Communication and Networking: 10
4) Programming In C: 25
5) Object Oriented Programming (OOP): 3
6) Information Communication Technology (ICT) and Cyber
Law: 3
7) Multimedia: 3
8) Artificial Intelligence (AI): 2
9) Contemporary Technology: 4
10) Final
Project Work

Unit 1: System Development Concept


System
System is a set of interacting or interdependent components forming an integrated whole. A system
can be described as a set of objects joined together for a common objective.
Information
Information is organized or classified data, which has some meaningful values for the receiver.
Information is the processed data on which decisions and actions are based. The meaningful result
obtained from a system is called information.
Information System
An information system is a computer based system which is an integrated set
of different components for collection, process, storage and transmission of
data. Simply, it us a system which processes supplied/collected data and
generates information that can be used for decision making at different levels for
the betterment of an organization. The types of Information System are:
1. Transaction Processing System (TPS): It processes data resulting from
business transactions, updates operational database such as sales and
inventory processing and accounting systems.
2. Management Information System (MIS): It is the integrated modern
approach of management, information and computerized system. It
provides information to support the operations, management, decision
making functions of an organization.
3. Decision Support System (DSS): It is the information system at the
organization's senior level management that combines data and
sophisticated analytical models or data analysis tools to support semi-
structures and unstructured decision makings.
4. Executive Support System (ESS): It is also known as executive
information system. It operates on the executive level of management. It
provides critical information from many sources customized to the
information needs of executives.
Components of Information System:
1. Hardware: Hardware refers to the physical layer of the information system. It includes computers,
networks, scanners, digital capture devices, and other technology-based infrastructure.
2. Software: Software refers to the logical layer of information system that makes hardware function
properly. It includes system software (OS, Device Drivers etc.) and application software.
3. Data: Data is raw facts, figures, and measurements, etc. which are used as input for the system. It
may be alphabets, digits, figures and other symbols.
4. Processes: Processes, or procedures, describe the tasks that users, managers, and IT staff members
perform.
5. People: People refer to users who interact with information system. The users within the
organization include mangers, technicians, sales representatives, corporate officers, etc. are called
internal users and the users outside the organization include customers, suppliers, etc. are called
external users.
System Analyst
A System Analyst is a person who uses analysis and design techniques
to solve business problems using information technology. Systems
analysts may serve as change agents who identify the organizational
improvements needed, design systems to implement those changes, and
train and motivate others to use the systems.

Characteristics of a System Analyst


1) Knowledge of Organization: A System Analyst must understand the way in which various
organizations function. The analyst must understand the management structure and the relationship
between the department in an organization as many systems built for making accounting,
Financial Management, and supply chain management.
2) Knowledge of Computer System and Software: The System Analyst must also know about the
recent developments in computer system and software.
3) Good Inter-Personal Relations: The System Analyst must be able to interpret user needs must be
a good listener and a good diploma- He/she must understand people and be able to influence them
to change their minds and attitudes.
4) Ability to Communicate: The System Analyst is also required to orally present his design to a
group of user.
5) Analytical Mind: The System Analyst is required to find a solution to the problem using various
analytical tools such as decision tree, decision table etc.
6) Breath Knowledge of a System: The System Analyst has to work with persons performing the
various job in an organization such as an accountant, salespersons, clerical staff, stores officers,
purchase officers, directors etc.
7) Flexibility and Adaptability: Different projects, no matter the same or different organization is of
a different nature.
8) Character and Ethics: The System Analyst must have good moral and strong character.

System Analysis
System Analysis is a process of system understanding in detail what a system should accomplish.
It is about understanding the goals and strategies of the business and defining the information
requirements that support those goals and strategies. Most importantly, systems analysis is not about
programming.

Key Role of a System Analyst


A System Analyst serves as a business professional who uses analysis and design techniques to
solve business problems using information technology. As we all know information technology is the
study, design, development, implementation, support or management of computer-based information
systems, particularly software applications and computer hardware, which deals with the use of
electronic computers and computer software to convert, store, protect, process, transmit, and securely
retrieve information. The typical problems a systems analyst solves are:

a) Customers want to order product anytime of the day.


b) Suppliers want to minimize inventory holding costs.
c) Marketing wants to know customer needs better.
d) Management want to analyze financial information more efficiently.

Required Skills of a Systems Analyst


Understanding the goals and strategies of a business and defining the information requirements
that support those goals and strategies are a mighty hard task done by a Systems Analyst. This task
requires specific skills and these are: Technical Knowledge, Business Knowledge and People
Knowledge.

1) Technical Knowledge and Skills


A System Analyst should have technical knowledge and skills in both tools and techniques.
When we say technical
knowledge and skills in tools, he/she should be acquainted or has knowledge with computers /
peripheral devices (hardware), communication networks and connectivity, Database Management
System (DBMS), Programming Languages (for example, VB.NET or Java), operating systems and
utilities, software productivity packages, integrated development environments (IDEs) for
programming languages, and CASE tools, testing, documentation support, reverse engineering,
configuration management. On the other hand, when we say technical knowledge and skills in
techniques, he/she should be acquainted or has knowledge with project planning, systems analysis,
systems design, database design, network design, construction, implementation, and systems
support.
2) Business Knowledge and Skills
A Systems Analyst’s primary task is to solve business problems, thus he/she should know the
business functions performed by the organization. Some of these are:
 Strategies, Plans, Traditions, and Values of the Organization
 Organizational Structure
 Organization Management Techniques
 Functional Work Processes

3) People Knowledge and Skills


Systems analysts need to understand how people think, learn, react to change, communicate,
and work (in a variety of jobs and levels). Interpersonal and communication skills are crucial in
obtaining information, motivating people, getting cooperation, understanding the complexity and
workings of an organization in order to provide necessary support.
Characteristics of a Good System Analyst
Being a Systems Analyst needs to be curious or inquisitive and have a vigorous mind. A System
Analyst needs to obtain the organizations’ goals and objective and define the information requirement,
in defining the information requirements one needs to be inquisitive, that proves the importance of the
said characteristic on being a Systems Analyst.
Characteristic of a good system analyst:

1. The system analyst must be able to communicate in writing and orally.


2. The analyst must easily get along with people.
3. The analyst must be a good listener and be able to react to what people say.
4. The analyst must be knowledgeable of technology. The analyst is not expected to know the
intricacies of programming, but a decent general knowledge of concepts and terms are
essential.
5. The analyst must be knowledgeable of business. The analyst is not expected to be an expert in
business but a decent understanding of the client's world is required.

Skills – Ability to do something well.

Characteristics – A feature or quality that makes something or somebody recognizable.

A list of the characteristics of a System Analyst, A Systems Analyst should be/have:

1) Technical Knowledge and Skills


2) Business Knowledge and Skills
3) People Knowledge and Skills
4) Inquisitive
5) Critical/Logical Thinker
6) Able to adjust to rapidly changing technology
7) Patient
8) Perseverance
9) Methodical
10)Broad-minded

Role of System Analyst


A System Analyst is responsible for analyzing, designing and implementing systems to fulfil
organizational needs. He/she plays a vital role in making operational the
management information system. The role of the system analyst has however changed.
The role of the analyst has however changed with time. Now a system analyst is seen more as a
change agent responsible for delivering value to an organization on its investments in
management information systems (that includes a heavy dose of information communication
technology investment). A dictionary definition of a system analyst (as per Random House
Dictionary) defines it as, ‘a person who conducts a methodical study and evaluation of an activity
such as business to identify its desired objectives in order to determine procedures by which these
objectives can be gained.
An organization requires system analysts as line managers normally do not have an understanding
of the kind of information-based solutions that are possible for their business problems. A system
analysts bridges this gap as he/she is has a thorough knowledge of both the business systems and
business processes. A system analyst is therefore in a position to provide information system based
solutions to organizations after having studied the problem that the organization is facing. They
understand both business and technology. They study a business problem or opportunity and devise
an information system enabled solution for it by detailing the information system specifications. This
set of specification that the analyst delivers is in a technical format which is easily understandable to
a technical (IT) specialist. The technical specialist might not understand the business issue, if it
comes directly from the line managers as he has very little knowledge of business processes. The
system analyst then bridges the gap between the two by translating and transforming the business
problem/opportunity into a information systems solution and supplying the specification of such a
system to the technologist who can then take up the task and build the actual system.
This may sound very easy but it is actually not an easy task. In most cases, the analyst works as a
change agent. When devising a solution, the analyst does not restrict him/ her to the immediate
problem/opportunity at hand but also focuses on the future. This requires that an analyst suggest some
changes in the process of doing business to bring in greater efficiency in future. Inevitably, the
process of creating an information systems enabled solution is coupled with the activity of business
process reengineering through which change is brought in. The analyst uses the opportunity of
devising a solution to bring in change and make the organization more efficient. Thus, a system
analyst may also be considered as a change agent.
As we have pointed out in the previous section, the role of the analyst encompasses both the
business and technology domain. In addition, the analyst also works, as a change agent hence the
work of an analyst not only requires very good understanding of technical knowledge but also of
business and interpersonal skills.
The interpersonal skills required by a system analyst are:
 Communication: The analyst needs to be a very good communicator to understand and
communicate to the user group as well as to the1echnical specialists. Sometimes the users may not
be able to communicate their needs fully to the analyst, but the analyst must be able to understand
their needs from incomplete communication of the users.
 Foresightedness and Vision: The analyst must have foresight and vision, so that they can
factor in the future requirement of the users even if they have not factored that in the design. The
analyst must also have vision with regard to the technological changes. He/she must be able to
predict where the business needs and technological capabilities/constraints will be in the future.
They should also clearly communicate that the design holds good not only for the short term but
also the long term.
 Adaptability and Flexibility Skills: The analyst may be new to the environment of the
particular business but he/she has to be quick on the uptake and adapt fast to the culture and
environment of the organization. Some flexibility in the understanding of problems is also required
along with the flexibility to come up with alternative solutions.
 Selling: The analyst needs to have flair to sell their ideas and solutions to the users. Sometimes
this may be difficult as the users and clients might not know what solution will serve them best.
The analyst needs to employ his selling skills to convince the users on the suitability of a solution.
 Patience and Rationality: The analyst needs to be patient and rational so that he/she do not
rush to a solution. If they make haste then they might miss critical information about the
problem/opportunity and end up promoting a wrong solution for the users. Rationality is also a
virtue for the system analyst, as this will help them in analyzing the problem/opportunity with a
clear mind without prejudice.
 Sound Temperament: The analyst needs to remain calm in the face of adverse situations. Most
of the time the critical data that the analyst seeks is hard to come by and may be late in coming.
The analyst will have to put up with all this and be clam in such situations. Thus, the temperament
that he exhibits will help him in devising an appropriate solution for the client.
 Management Skills: These skills are an absolute necessity for any analyst. The system analyst
has to deliver in spite of several constraints hence they must have good management skills to
manage time and resources at their disposal. The particular management skills that they need to
have are:

 Time Management Skills: This will help them adhere to the strict schedules of the task.
 Project Management Skills: This will help them manage the project within the boundaries of
time and cost.
 Man Management Skills: The analyst will need human resource skills so that they can
manage people working under him. This skill will also help them to connect to people in the
client organization so that there is greater acceptability for their solutions.
 Team Management Skills: The analyst must be a team player. They have to work in a team
and they should ensure smooth team functioning.
 Organizing and Directing Skills: These are basic managerial skills that the analyst must have
to conduct the analysis properly.
 Negotiation Skills: The analyst should be a good negotiator to get his way around for the
purposes of selling his solution and to get the relevant data from the client.
 Leadership Quality: The analyst must exhibit leadership and take initiative to understand
issues pertaining to the organization and its line of business in a proactive manner so that they
are well aware of the associated issues of the problem/opportunity as well.
 Training and Documentation Capability: The analyst needs to be a good trainer as they may
be called upon to enhance the capacities of the users. Their documentation skills will also have
to be good, as without those skills the communication with the technical team will remain
incomplete.
 Presentation Skills: The analyst must have good presentation skills that will help him to
communicate better.

The technical skills required by the system analyst are:

 Creativity: This skill will ensure that the analyst can give the users novel technical
solutions for the same problem.
 Problem Solving: This skill will help the analyst form a systems approach to problem
solving so that they are able to structure a problem even when there is none.
 Technical Knowledge: The analyst needs to have concrete knowledge in the technical
domain so that they are able to generate alternative solutions to problem. Without the
technical know how they will not be able to develop the solution. The analyst must also
have a broad knowledge of the entire technical domain. The broad spectrum of knowledge
will help them be flexible in their solution approach and will ensure that they have a better
understanding of the future of technologies.
Roles of a Systems Analyst
The systems analyst systematically assesses how users interact with technology and how
businesses function by examining the inputting and processing of data and the outputting of
information with the intent of improving organizational processes. Many improvements involve better
support of users’ work tasks and business functions through the use of computerized information
systems. This definition emphasizes a systematic, methodical approach to analyzing—and potentially
improving—what is occurring in the specific context experienced by users and created by a business.

Our definition of a systems analyst is necessarily broad. The analyst must be able to work with
people of all descriptions and be experienced in working with computers. The analyst plays many
roles, sometimes balancing several at the same time. The three primary roles of the systems analyst are
consultant, supporting expert, and agent of change.

Systems Analyst as Consultant


The systems analyst frequently acts as a systems consultant to humans and their businesses and,
thus, may be hired specifically to address information systems issues within a business. Such hiring
can be an advantage because outside consultants can bring with them a fresh perspective that other
people in an organization do not possess. It also means that outside analysts are at a disadvantage
because an outsider can never know the true organizational culture. As an outside consultant, you will
rely heavily on the systematic methods discussed throughout this text to analyze and design
appropriate information systems for users working in a particular business. In addition, you will rely
on information systems users to help you understand the organizational culture from others’
viewpoints.

Systems Analyst as Supporting Expert


Another role that you may be required to play is that of supporting expert within a business for
which you are regularly employed in some systems capacity. In this role the analyst draws on
professional expertise concerning computer hardware and software and their uses in the business. This
work is often not a full-blown systems project, but rather it entails a small modification or decision
affecting a single department.
As the supporting expert, you are not managing the project; you are merely serving as a resource
for those who are. If you are a systems analyst employed by a manufacturing or service organization,
many of your daily activities may be encompassed by this role.

Systems Analyst as Agent of Change


The most comprehensive and responsible role that the systems analyst takes on is that of an agent
of change, whether internal or external to the business. As an analyst, you are an agent of change
whenever you perform any of the activities in the systems development life cycle (discussed in the
next section) and are present and interacting with users and the business for an extended period (from
two weeks to more than a year). An agent of change can be defined as a person who serves as a
catalyst for change, develops a plan for change, and works with others in facilitating that change.
Your presence in the business changes it. As a systems analyst, you must recognize this fact and
use it as a starting point for your analysis. Hence, you must interact with users and management (if
they are not one and the same) from the very beginning of your project. Without their help you cannot
understand what they need to support their work in the organization, and real change cannot take
place.
If change (that is, improvements to the business that can be realized through information systems)
seems warranted after analysis, the next step is to develop a plan for change along with the people who
must enact the change. Once a consensus is reached on the change that is to be made, you must
constantly interact with those who are changing.
As a systems analyst acting as an agent of change, you advocate a particular avenue of change
involving the use of information systems. You also teach users the process of change, because changes
in the information system do not occur independently; rather, they cause changes in the rest of the
organization as well.

Qualities of a Systems Analyst


From the foregoing descriptions of the roles the systems analyst plays, it is easy to see that the
successful systems analyst must possess a wide range of qualities. Many different kinds of people are
systems analysts, so any description is destined to fall short in some way. There are some qualities,
however, that most systems analysts seem to display.
Above all, the analyst is a problem solver. He or she is a person who views the analysis of
problems as a challenge and who enjoys devising workable solutions. When necessary, the analyst
must be able to systematically tackle the situation at hand through skillful application of tools,
techniques, and experience. The analyst must also be a communicator capable of relating meaningfully
to other people over extended periods of time. Systems analysts need to be able to understand humans’
needs in interacting with technology, and they need enough computer experience to program, to
understand the capabilities of computers, to glean information requirements from users, and to
communicate what is needed to programmers. They also need to possess strong personal and
professional ethics to help them shape their client relationships.
The systems analyst must be a self-disciplined, self-motivated individual who is able to manage
and coordinate other people, as well as innumerable project resources. Systems analysis is a
demanding career, but, in compensation, an ever-changing and always challenging one.
System Analysts are IT professionals who act as a mediator between clients and technical team.
They are responsible for integrating business requirements into technology and ensure smooth
functioning of the business operations. They use both business and technical knowledge for
analyzing business processes, computer systems, and infrastructure to develop effective strategies
that can help in accomplishing daily needs of the organization. To perform their job, system analysts
have to be proficient in programming language, the configuration of systems, and multiple operating
systems.
According to U.S. Bureau of Labor Statistics (BLS), employment for system analysts is projected
to grow by 9 percent in the next ten years. Important roles and responsibilities of system analysts
are:

Act as a middleman and an architect.


System analysts liaise between customers, IT persons, and stakeholders to develop information
systems capable of delivering business requirements. The integration of technology into business
requirements has to be futuristic. It means systems analysts have to develop information systems that
are easy to upgrade in the future if the need arises. They have to design an information system
architecture according to the user’s requirements which acts as a blueprint for the programmers. For
that, they need to know exactly what users want and also have to build good relationships and
rapport with them to understand their requirements as well as convey correct and complete
information to the development team.

Agent of Change
System analysts are also known as an agent of change since they use different approaches to
bring changes in the information system that can facilitate business operations. The biggest hurdle
for the role of system analysts is the skepticism of people about accepting the change. So, they
prefer users' participation for easy exchange of information. When stakeholders, management, and
clients are ready for the technological changes, a final system is made.

Investigator and Monitor


In defining a problem or finding reasons for the failure in a system, system analysts play a role of
an investigator. They gather information to determine or investigate why an existing system is not
working well and is facing problems and what changes should be implemented to solve these issues.
After creating alternative solutions for problems, system analysts monitor the information system
regularly and take steps to avoid increased costs, and the waste of resources and time.

Motivator and Sales Person


Effective user participation and training with proper motivation to use the system are important
factors to achieve system acceptance. Another important role that system analysts play is of a
salesperson, which involves selling a system to the users. This process takes place at each stage of
system life cycle. To play the role of a motivator and sales person, system analysts have to hold
good communication, sales, and persuasion skills.

Responsibilities of a System Analyst:

Defining User Requirements


The basic and most important step for system analysts is to understand user’s requirements
clearly. To get the hang, they have to interview users and prepare questionnaires, observe the current
system, and plan system configuration. This phase is important to understand how the current system
functions and what users want from the new systems. Participation of users is needed so that their
views related to the system are taken into consideration to build the new one.

Prioritizing Requirements
Large systems do have various requirements which are not equal and are, therefore, not possible
for the team to implement all of them at the same time. Also, various types of users in the
organization have different types of information needs that cannot be satisfied due to various
constraints such as limited resources, budgetary constraints, time sensitivity, feasibility, etc.
Therefore, system analysts have to prioritize users’ requirements using their social and analytical
skills.

Gathering Data and Facts


System analysts act as researchers and gather various facts and data with the active cooperation
from the users of the system. They consult users from time to time to obtain necessary information
related to the system, and whether there is any last-minute requirement. This process is important
because analysts have to organize and document information into functional specification to solve to
develop a system.

Analyzing the Problem


After gathering data and facts, system analysts analyze various problems, their causes, and
effects on business operations. They analyze and identify the requirements to be fulfilled through
technological means. They remove unnecessary data, focus on the important ones, and change or
modify the working system accordingly to make it more user-friendly.

Solving Problems
System analysts help IT users to solve information problems by using different approaches in
which one good source of solutions is to take suggestions from others. With this approach, analysts
develop and evaluate a set of possible alternative solutions and then compare and choose the best
one to implement. They have to compare the alternative solutions on the basis of cost, benefits, risk
factors, etc. and decide the best with management's help.

Drawing Specifications
System analysts are responsible for drawing precise and clear specifications for programmers and
managers to understand easily. That includes text, documents, and flow charts for visual
understanding of computer programmers. These are presented in a detailed form as they lay the
foundations for optimal functioning of the system.
Designing and Evaluating Systems
At last, when the analysts are done with the preparation of the system's specifications, they
design and implement the system along with the development team so that the management’s goal is
achieved. With the knowledge of advanced programming tools, they act as an architect and develop
new systems. After the system is developed, they test the performance and recommend necessary
modifications.
Due to the various roles and responsibilities of a system analyst, he/she has to be a multifaceted
personality who is able to manage and coordinate with various people.

System Development Life Cycle (SDLC)


SDLC is the abbreviation used for System Development Life
Cycle. It is also known as System Development Process. Itis a
description of phases in the life cycle of a software application. It
consists of a detailed plan as how to develop, build and enhance a
specific software. Each phase of the SDLC lifecycle has its own
process and deliverables that feed into the next phase.
The System Development Life Cycle (SDLC) is a conceptual
model used in project management that describes the stages
involved in an information system development project, from an
initial feasibility study through maintenance of the completed
application. SDLC can apply to technical and non-technical
systems. In most use cases, a system is an IT technology such as
hardware and software. Project and program managers typically take part in SDLC, along with system
and software engineers, development teams and end-users. Every hardware or software system will go
through a development process which can be thought as an iterative process with multiple steps.
SDLC is used to give a rigid structure and framework to define the phases and steps involved in the
development of a system.
System Development is the creation of new system or modification of old system. Systems
development involves number of stages starting from System Study to System implementation and
maintenance. SDLC is an organized way to build an Information System. SDLC, in fact, is a sequence
of events carried out by System Analysts, System Designers, and users to develop and implement an
Information System.
Importance of Software Development Life Cycle (SDLC)
 It provides a framework for a standard set of activities.
 It ensures correct and timely delivery to the client.
 It acts as a guide to the project and meet client’s objectives.
 It helps in evaluating, scheduling and estimating deliverables

System Development Model

1) Waterfall Model
Waterfall Model is a sequential model that divides software development into
different phases. Each phase is designed for performing specific activity during
SDLC phase. It was introduced in 1970 by Winston Royce.

Different Phases of Waterfall Model


Phases Activities Performed in Each Stage

Requirement During this phase, detailed requirements of the software system to be


Gathering developed are gathered from the client.
Stage
Design Stage Plan the programming language, for Example Java, PHP, .NET
 Or database like Oracle, MySQL, etc.
 Or other high-level technical details of the project.

Built Stage After design stage, it is built stage, which is nothing but coding the software.

Test Stage  In this phase, you test the software to verify that it is built as per the
specifications given by the client.

Deployment Deploy the application in the respective environment.


Stage

Maintenance Once your system is ready to use, you may later require change the code as
Stage per customer request.

When to use SDLC Waterfall Model


Waterfall model can be used when
 Requirements are not changing frequently
 Application is not complicated and big
 Project is short
 Requirement is clear
 Environment is stable
 Technology and tools used are not dynamic and is stable
 Resources are available and trained

Advantages and Disadvantages of Waterfall Model


Advantages Disadvantages

 Before the next phase of development, Error can be fixed only during the phase
each phase must be completed

 Suited for smaller projects where It is not desirable for complex project
requirements are well defined where requirement changes frequently

 They should perform quality assurance Testing period comes quite late in the
test (Verification and Validation) before developmental process
completing each stage

 Elaborate documentation is done at Documentation occupies a lot of time of


every phase of the software's development developers and testers
cycle

 Project is completely dependent on Clients valuable feedback cannot be


project team with minimum client intervention included with ongoing development phase

 Any changes in software is made during Small changes or errors that arise in the
the process of the development completed software may cause a lot of
problems

2) Prototyping Model
The basic idea in Prototype Model is that instead of freezing the
requirements before a design or coding can proceed, a throwaway
prototype is built to understand the requirements. This prototype is
developed based on the currently known requirements. Prototype model is a Software
Development Model. By using this prototype, the client can get an “actual feel” of the system,
since the interactions with prototype can enable the client to better understand the requirements of
the desired system.  Prototyping is an attractive idea for complicated and large systems for which
there is no manual process or existing system to help determining the requirements. The prototype
are usually not complete systems and many of the details are not built in the prototype. The goal is
to provide a system with overall functionality.
Diagram of Prototype Model:
Star
t Requirement Quick Building Customer Refining Engineering
Gathering Design Prototype Evaluation Prototype Product Sto
Advantages of Prototype Model:
p
 Users are actively involved in the development.
 Since in this methodology a working model of the system is provided, the users get a better
understanding of the system being developed.
 Errors can be detected much earlier.
 Quicker user feedback is available leading to better solutions.
 Missing functionality can be identified easily.
 Confusing or difficult functions can be identified.
 Requirements validation, quick implementation of, incomplete, but functional, application.
Disadvantages of Prototype model:
 Leads to implementing and then repairing way of building systems.
 This methodology may increase the complexity of the system as scope of the system may
expand beyond original plans.
 Incomplete application may cause application not to be used as the full system was designed.
 Incomplete or inadequate problem analysis.

When to use Prototype model:  


 Prototype model should be used when the desired system needs to have a lot of interaction with
the end users.
 Typically, online systems, web interfaces have a very high amount of interaction with end
users, are best suited for Prototype model. It might take a while for a system to be built that allows
ease of use and needs minimal training for the end user.
 Prototyping ensures that the end users constantly work with the system and provide a feedback
which is incorporated in the prototype to result in a useable system. They are excellent for
designing good human computer interface systems.

3) Spiral Model
The spiral model is similar to the Incremental Model, with more
emphasis placed on risk analysis. The spiral model has four phases:
Planning, Risk Analysis, Engineering and Evaluation. A software project
repeatedly passes through these phases in iterations (called Spirals in this
model). The baseline spiral, starting in the planning phase, requirements
are gathered and risk is assessed. Each subsequent spirals builds on the
baseline spiral. It’s one of the Software Development Models like Waterfall, Agile, and V-
Model.
Planning Phase: Requirements are gathered during the planning phase. Requirements like ‘BRS’
that is ‘Business Requirement Specifications’ and ‘SRS’ that is ‘System Requirement
specifications’.
Risk Analysis: In the risk analysis phase, a process is undertaken to identify risk and alternate
solutions.  A prototype is produced at the end of the risk analysis phase. If any risk is found during
the risk analysis then alternate solutions are suggested and implemented.
Diagram of Spiral
Engineering (Development/Coding) Phase: In this phase software is developed, along
with testing at the end of the phase. Hence in this phase the development and testing is done.
Evaluation phase: This phase allows the customer to evaluate the output of the project to date
before the project continues to the next spiral.

Advantages of Spiral Model:


 High amount of risk analysis hence, avoidance of
risk is enhanced.
 Good for large and mission-critical projects.
 Strong approval and documentation control.
 Additional Functionality can be added at a later
date.
 Software is produced early in the software life
cycle.

Disadvantages of Spiral Model:


 Can be a costly model to use.
 Risk analysis requires highly specific expertise.
 Project’s success is highly dependent on the risk
analysis phase.
 Doesn’t work well for smaller projects.

When to use Spiral Model:


 When costs and risk evaluation is important
 For medium to high-risk projects
 Long-term project commitment unwise because of potential changes to economic priorities
 Users are unsure of their needs
 Requirements are complex
 New product line
 Significant changes are expected (research and exploration)
 When changes may require at any time
 When the project is large

System Development Phase


The System Development Life Cycle can also be defined as, a framework for developing
computer-based information system. In other words, SDLC is the overall process of developing
information system through a multi-step process from investigation of initial requirements through
analysis, design, implementation and maintenance. The activities are
carried out in different phases, which are mentioned below:

1. Planning

2. System Analysis/Study

3. Feasibility Study

4. System Design

5. System Development

6. System Testing
Fig: Steps involved in SDLC
7. System Implementation
All these phases together are called a life
8. Maintenance and Review

1. Problem Identification/Planning:
System definition is the process of defining the current problem, determining why a new system
is needed and identifying the objectives of the proposed system. During Problem Definition Project
team (members responsible for Systems Study) focus on completing the task, investigating the
problem and deciding whether to proceed. In this phase the main aim is to answer “Why do we
need a new system?” and “What are the objectives of the new system?”

2. System Analysis:
During System Analysis Project team (members responsible for Systems Analysis) focus on
completing two tasks:
 Analyzing the current system and developing possible solutions to the problem.
 Selecting the best solution and defining its functionality
This phase starts when the current computerized system is to be modified or current manual
system is to be computerized. Systems Analysts then begin investigation, talking with the users.
The first challenge is to define the problem accurately. When the problem of the current system is
accurately defined, the users can decide whether to proceed or not.
Systems study is carried out by a small group of people who are familiar with Information System
techniques, understand the part of the business and skilled Systems Analysts. Main activities
included in the phase are; understanding the problem, feasibility analysis or study and system
requirements.

3. Feasibility Study
As the name implies, a feasibility analysis is used to determine the viability of an idea, such as
ensuring a project is legally and technically feasible as well as economically justifiable. It tells us
whether a project is worth the investment—in some cases, a project may not be doable. There can
be many reasons for this, including requiring too many resources, which not only prevents those
resources from performing other tasks but also may cost more than an organization would earn
back by taking on a project that isn’t profitable.
A well-designed study should offer a historical background of the business or project, such as a
description of the product or service, accounting statements, details of operations and management,
marketing research and policies, financial data, legal requirements, and tax obligations. Generally,
such studies precede technical development and project implementation.

Types of Feasibility Study


A feasibility analysis evaluates the project’s potential for success; therefore, perceived
objectivity is an essential factor in the credibility of the study for potential investors and lending
institutions. There are five types of feasibility study—separate areas that a feasibility study
examines, described below.

A. Technical Feasibility
This assessment focuses on the technical resources available to the organization. It helps
organizations determine whether the technical resources meet the capacity and whether the
technical team is capable of converting the ideas into working systems. It also involves the
evaluation of the hardware, software, and other technical requirements of the proposed system.
As an exaggerated example, an organization wouldn’t want to try to put Star Trek’s transporters
in their building—currently, this project is not technically feasible. A technical feasibility study
assesses the details of how you intend to deliver a product or service to customers. Think
materials, labor, transportation, where your business will be located, and the technology that
will be necessary to bring all this together.
B. Economic Feasibility
This assessment typically involves a cost/ benefits analysis of the project, helping
organizations determine the viability, cost, and benefits associated with a project before
financial resources are allocated. It also serves as an independent project assessment and
enhances project credibility—helping decision-makers determine the positive economic
benefits to the organization that the proposed project will provide.
C. Legal Feasibility
This assessment investigates whether any aspect of the proposed project conflicts with legal
requirements like zoning laws, data protection acts or social media laws. Let’s say an
organization wants to construct a new office building in a specific location. A feasibility study
might reveal the organization’s ideal location isn’t zoned for that type of business. That
organization has just saved considerable time and effort by learning that their project was not
feasible right from the beginning.
D. Operational Feasibility
This assessment involves undertaking a study to analyze and determine whether—and how
well—the organizations needs can be met by completing the project. Operational feasibility
studies also examine how a project plan satisfies the requirements identified in the requirements
analysis phase of system development.
E. Scheduling Feasibility
This assessment is the most important for project success; after all, a project will fail if not
completed on time. In scheduling feasibility, an organization estimates how much time the
project will take to complete. When these areas have all been examined, the feasibility analysis
helps identify any constraints the proposed project may face.

4. System Design
System Design is the process of planning a new business
system to replace the old. But before this planning can be done,
we must thoroughly understand the old system. Once the analysis
is completed, the Systems Analyst has a firm understanding of
what is to be done. The next step is how the problem can be
solved.
The major objectives of System Design are:
 Identification of reports and outputs the new system should produce.
 Sketch the input screen and layout of menus options.
 Description of data to be input, calculated and stored.
 Individual data items, database and calculation procedures.
Major activities of System Design are carried out by the System Designer. The Project team
(members responsible for System Design), at this phase, finds the answers of questions like – How
the application accepts input data and stores it in the database?, How many Input Screens are
required?, How should the screen look like?, What kind of menus and options must be there?,
What code or programming language to use?, What are the goal of the outputs produced?, What
features and/or system software and hardware are required to run it smoothly?, What types of
platforms/OS will it support?, What kind of features should the system provide?

The Designers and programmers may use a top-down design or bottom-up


design or the combination of both. In top-down design, the team starts with the
large picture and moves to the detail. They look at major functions that the
system must provide and break down these into smaller activities. Each of these
activities will then be programmed in the next phase of SDLC.

In bottom-up design, the team starts with the details (for example, the reports
to be produced by the system), then moves out to the big picture (major functions
or process). This approach is particularly appropriate when users have very specific requirements
for output – for example, payroll checks, which must contain certain pieces of information.

5. System Development:
During the development phase, programmers play a key role. They create and customize the
software for all the parts of the system. The actual coding and writing of the program is done at
this stage. The overall system is broken up into number of components. Then the programmers on
the project team are assigned to specific components. The programmers write the necessary code.
Technical writers and work with the programmers to produce the technical documentation for the
system. The technical documentation includes information about software features and
programming, about the data flow and processing, about the design and layout of the necessary
hardware.

6. System Testing:
Testing is the process of executing a program with the intent of finding an error. Testing is an
integral part. The testing process move from the individual component out to the system as a
whole. The project team tests each component separately (unit testing), and then tests the
components of the system with each other (system testing).
The major objectives of Systems Testing are:
 Ensure that software does not fail.

 Verify whether the software is running according to its specification.


 Verify whether the software is built and run according to user’s expectation.
System Testing is primarily divided into two types. They are:
i. White Box Testing
In this testing, a programmer can test cases that guarantee that every individual part in a
program has been exercised at least once, all logical decisions on their true and false sides are
executed, all loops are executed properly or not and internal data structures to ensure their
validity are exercised. In other words, white box testing is a
method of testing software that is based on knowledge of how the
software is intended to function. White box testing is also called as
structural testing or glass-box testing.
ii. Black Box Testing
Black box testing focuses on how the software functions
without reference to how it is designed. The primary concern is whether the program works or
not, how it is constructed. Black box testing is also known as functional testing. A programmer
attempts to find errors in the following categories:
 Incorrect or missing functions
 Interface errors
 Errors in data structures or external database access
 Performance errors
 Initialization and termination errors.

7. System Implementation
In this phase, the project team (especially systems analysts) install the new software and
hardware, which has been tested. The users, then, start using the system to perform their jobs in
user environment. In this phase, the user moves from old system to new system. This is called
conversion.

8. System Conversion
The process of moving from old system to new system is called conversion. Conversion, in an
organization, takes places in the Phase System implementation. If the system is replacing an
existing one, implementation becomes critical. In such case, there are four different types of
conversion strategies:

a) Direct Conversion:
All users stop using old system at the same time and then begin using the new. This option is
very fast, less costly but more risky.

b) Parallel Conversion:
Users continue to use old system while an increasing amount of data is processed through the
new system. Both the systems operate at the same time until the new system works smoothly.
This option is costly but safe approach.

c) Phased Conversion:
Users start using the new system component by component. This option works only for systems
that can be compartmentalized. This option is safe and conservative approach.

d) Pilot Conversion:
Personnel in a single pilot-site use the new system, and then the entire organization makes the
switch. Although this option may take more time, it is very useful in big organizations where a
large number of people make the conversion.

9. System Evaluation
The system evaluation is performed to identify its strengths and weaknesses. The actual
evaluation can occur along any of the following dimensions;
 Operational Evaluation

 Organizational Impact Evaluation

 User Manager Assessment Evaluation

 Development Performance Evaluation

10. System Maintenance


Once installed, the software is often used for many years. However, both the organization and
the users change. The environment may also change over a period of time. Therefore, software
has to be maintained time to time. That is, modifications and changes will be made to the software
files or procedures to meet user’s requirement. All these activities fall within Systems
Maintenance.

Some errors in the system are also corrected during this phase. Changes, or upgrades, to the
systems are made regularly during the remaining life span of the system. At some point, however,
repairs to the system no longer meet the user requirements. Users start calling for a major
modification or new system. At this point, the SDLC has come full circle, and the Systems study
(Phase 1) begins again.

System Design Tools

Data Flow Diagram (DFD)


Data flow diagram is graphical representation of flow of data in an information system. It is
capable of depicting incoming data flow, outgoing data flow and stored data. The DFD does not
mention anything about how data flows through the system.
There is a prominent difference between DFD and Flowchart. The flowchart depicts flow of
control in program modules. DFDs depict flow of data in the system at various levels. DFD does not
contain any control or branch elements.

Types of DFD

Data Flow Diagrams are either Logical or Physical.

 Logical DFD - This type of DFD concentrates on the system process, and flow of data in the
system. For example in a Banking software system, how data is moved between different
entities.
 Physical DFD - This type of DFD shows how the data flow is actually implemented in the
system. It is more specific and close to the implementation.

DFD Components
DFD can represent Source, destination, storage and flow of data using the following set of
components -

 Entities - Entities are source and destination of information data. Entities are represented by a
rectangles with their respective names.
 Process - Activities and action taken on the data are represented by Circle or Round-edged
rectangles.
 Data Storage - There are two variants of data storage - it can either be represented as a
rectangle with absence of both smaller sides or as an open-sided rectangle with only one side
missing.
 Data Flow - Movement of data is shown by pointed arrows. Data movement is shown from the
base of arrow as its source towards head of the arrow as destination.

Levels of DFD
 Level 0 - Highest abstraction level DFD is known as Level 0 DFD, which
depicts the entire information system as one diagram concealing all the
underlying details. Level 0 DFDs are also known as context level DFDs.
 Level 1 - The Level 0 DFD is broken down into more specific, Level 1 DFD.
Level 1 DFD depicts basic modules in the system and flow of data among
various modules. Level 1 DFD also mentions basic processes and sources of
information.
 Level 2 - At this level, DFD shows how data flows inside the modules
mentioned in Level 1.
Higher level DFDs can be transformed into more specific lower level DFDs
with deeper level of understanding unless the desired level of specification is achieved.
Overview
This note is about the Concept of System Designing Tools and its example. It includes the System
designing tools or modeling technique used in system development like Context Diagrams, Data flow
diagrams E-R diagrams. This modeling technique is used for the development of any system before
designing the complete system or program.
Concept of System Design Tools (Application Modeling Techniques)
System analysis can be complex and confusing work. The analyst should be able to deal with a
large amount of highly detailed and often conflicting information. The analyst needs a way to organize
the information, determine where there are gaps in understanding and identify areas of conflicting.
Modeling techniques provide solutions for the system analyst.
The modeling techniques used in system development are:
 Context diagram
 Data Flow Diagram (DFD)
 E-R diagrams
Context Diagram
In keeping with the top-down approach to requirement determination, the first graphic that is
produced using structured technique is the context diagram. It gives a broad overview of the
information system environment including the data flows into and out of the system.
Context Diagrams serve three important purposes
1. Context diagrams support a data-oriented approach to system design.
2. Context diagrams help to investigate the output and process requirements of the organization.
3. Context diagrams defines the boundaries of the proposed system.
Levels of Context Diagram
There are three levels of context diagrams:
1. Level 1: A user-level diagram describes one functional area’s operational activity.
2. Level 2: A combined user-level diagram provides an overall view of the activities of related
user groups.
3. Level 3: An organizational level diagram reflects a consolidated view of the activities of the
organization.

Context Diagram for Order Processing


(Source:www.slideshare.net)

User level contexts diagram of


purchase

Fig:contexts diagram of purchase process

Combined User-level context


diagram for order tracking system
Fig: Combined User-level context diagram for order tracking system

(Source: www.visual-paradigm.com)

Problem Narrative

The customer sends a list of items required, which is processed by the customer handling department.
A copy of the list is sent to the stores. Based on the item price, an estimated value of goods is prepared
and sent to the client. At the end of the month, consolidated list of the customer requests are prepared
and sent to the manager of the sales department.

Draw the context diagram based on above narrative.

Context Diagram for Retail Store


Fig: Context Diagram for Retail Store

(Source:businessanalystlearnings.com)

Context Diagram for Student Registration System

Fig: Context Diagram for student Registration System  (Source:slideplayer.com)

Data Flow Diagram

A Data Flow Diagram (DFD) is a pictorial representation of the path which data takes from its initial
interaction with the system until it completes any interaction. The diagram will describe the logical
data flows without detailing the movements of any physical items.

The DFD also gives insight into the data that is used in the system. It does not show a sequence of
steps. It shows only what the different processes in a system are and what data flows between them.
Preparing context diagram is a preliminary step in creating a data flow diagram (DFD).
Based on context diagram, data flow diagrams identify the major data flows within the system
boundaries, the process and the data storage.

Levels of Data Flow Diagram

The complexity of business system means that it is impossible to represent the operations of any
system by means of single data flow diagram. At the top level, an overview of the different systems in
any organization is shown by way of context analysis diagram. When exploded into DFD, they are
represented by:

Level 0: System Input and output


Level 1: Subsystem level data flow – Functional Level
Level 2: File level detail data flow

The input and output data were shown should be consistent from one level to the next.

Level 0: System Input/output: A level-0 DFD describes the system-wide boundaries detailing inputs
to and outputs from the system and major processes. This diagram is similar to the combined user-
level context diagram.
Level 1: Subsystem level data flow: A level-1 DFD describes the next level of detail within the
system detailing the data flows between subsystems, which make up the whole.
Level 2: File level detail data flow: A level-2 DFD details the files to which the data is applied in the
system and from which data is obtained. Each individual process is shown in detail.
Order Tracking System
Level 0
Level 1
Level 2
Entity Relationship Diagrams (E-R Diagram)

Entity Relationship Diagrams (ERD) are graphic illustration used to display object or events within a
system and their relationships to one another. E-R diagrams model data is much the same way as
DFD's model processes and data flows.

Purpose of ER Diagram
1. Verify accuracy and thoroughness of data design, current and new, with users.
2. Organize and record organizational data entities, relationships and scope through
decomposition and layering.
3. Enhance the overall communication between development project team member’s system
technicians, management and users with the use of graphic models.
4. Generally, simplify and bolster the creative data design process

Decision tree
Decision table

You might also like