0% found this document useful (0 votes)
16 views139 pages

System Development Fundamentals Guide

Uploaded by

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

System Development Fundamentals Guide

Uploaded by

rdsmusic.you
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

System Development Fundamentals

Jiban pandit
The System Development Environment

• System: A system is a set of components that interact to


accomplish some purpose. For example college system,
Economic system, Government system etc.
• System are created to solve problems.

• A collection of components that work together to realize


some objectives forms a system. Basically there are three
major components in every system, namely input,
processing, and output.
The System Development Environment
Elements of the system

• Outputs and inputs: A major objective of a system is to


produce an output that has value to its user. What ever the
nature of the output, it must be inline with the expectations
of the intended user. Inputs are the elements that enter the
system for processing and output is the outcome of the
processing.
Elements of the system

Processors: The processor is the elements of the system that


involves the actual transformation of input into output. It is
the operational component of a system.
Control: The control element guides the system. It is the
decision making subsystem that controls the pattern of
activities governing input, processing and output.
Feedback: Control in a dynamic system is achieved by
feedback. Feedback may be a positive or negative .
Environment: It is the source of external elements that strike
on the system.
Elements of the system

• Boundaries and Interfaces: A system should be defined by


its boundaries. Boundaries are the limits that identify its
components, processes, and interrelationship when it
interfaces with another system.
characteristics of a system

• Organization: It implies structure and order. It is the


arrangement of components that helps to achieve
objectives.
• Interaction: It refers to the manner in which each
component functions with other component of the system.
• Interdepend : It means that parts of the organization or
computer system depend on one another. They are
coordinated and linked together according to a plan.
• Integration: It refers to the completeness of systems. It is
concerned with how a system is tied together.
• Central objective: Objectives may be real or stated. Although
a stated objective may be the real objective, it is not
uncommon for an organization to state one objective and
operates to achieve another.
Information System

• It is interrelated components working together to collect,


process and store information to support decision making,
coordination control analysis and visualization in an
organization.
• Information system produce information by using data about
significant people, places and things from within the
organization / or from the external environment to make
decision, control operations, analyze problems and create
new products or services.
Components of information systems

• Hardware: computer based information system use


computer hardware such as monitors, keyboard, printers.
• Software: These are the programs used to organize, process,
and analyze data.
• Databases: Information systems work with data, organized
into tables and files.
• Network: Different elements need to be connected to each
other.
• Procedures: These describe how specific data are processed
and analyzed in order to get the answers for which the
information system is designed.
Types of computer based Information
systems
Transaction Processing System

• In TPS objectives are clearly defined.


• Clearly specified inputs and outputs.
• Quality checker[Operator].
• Transaction processing system (TPS) are computerized
information systems that were developed to process large
amounts of data for routine business transactions such as
payroll and inventory.
Management Information System [MIS]

• MIS do not replace transaction Processing system; rather all


MIS include transaction Processing.
• Decision in the middle between structured & unstructured.
• Scheduling the project work for the next six months.
• MIS are computerized information systems that work
because of the purposeful interaction between people and
computers.
Decision Support System

• A higher-level class of computerized information systems is


decision support system (DSS).
• Provides supports to Top management for decision making.
• Top management has to make unstructured decision – what
if ?
• When Executive turn to the computer, they are often looking
for ways to help them make decisions on the strategic level.
Executive Support Systems

• These systems are also called executive support systems


(ESSs) and serve the strategic level of the organization. These
systems are designed to address unstructured decision
making through advanced graphics and communication.
These systems incorporate data about external events such
as new tax laws or competitors, but they also draw
summarized information from internal MIS and DSS. These
systems are not designed to solve a specific problem but
they provide a generalized computing and
telecommunication capacity that can be applied to a
changing array of problems.
AI & Expert Systems

•?
Overview of system Analysis and Design

• System Analysis and Design is the complex, challenging and


simulating organizational process that a team of business
and systems professionals used to develop and maintain
computer based information systems.
• System Analysis: Process of gathering and interpreting facts,
diagnosing problems and using the facts to improve the
system.
• System Design: Process of planning a new system to replace
or complement the old. Analysis specifies what the system
should do and design states how to achieve the objective.
System Analyst

• Many people in organizations are responsible for systems


analysis and design, in most organizations the system analyst
has the primary responsibility. The primary role of a system
analyst is to study the problems and needs of an
organization in order to determine how people, methods
and IT can improve the organization.
Roles of the system Analyst

• Systems Analyst as consultant: The system 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.
• Systems Analyst as supporting Expert: Another role that you
may be required to play is that of supporting expert within a
business for which your 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 business.
• System Analyst as Agent of change: The most
comprehensive and responsible role that the systems analyst
takes on is that of agent of change, whether internal or
external to the business.
A modern Approach to System Analysis &
Design
• The growth of computer based information systems analysis
and design methodologies started during the year 1950 to
1960.
• The new technologies and practices which were developed
after 1970-1990 were primarily focused on solving the
software issues like software crisis. The major elements used
were software tools, formal method, well defined process
that use the methodologies like OOP, CASE tools and
structured programming approaches.
System Development Life Cycle
SDLC

• a. Planning : The first phase is called planning. In this phase


an organization's total information system needs are
identified, analyzed, prioritized and arranged. At the heart of
systems development analysis and design are the second
and third phases of SDLC.
• b. Analysis: The analysis phases usually required a careful
study of the current system, which continues two sub phases
: requirements determination and analysis study.
SDLC

• Design: Next phase is called design. During this phase, you


convert the description of the recommended alternative
solution into logical and then physical system specification.
Here, you must design all aspects of the system form input
and output screens to reports, databases, and computer
processes. Logical design is the part of the design process
that is independent of any specific hardware or software
platform. Theoretically, the system could be implemented on
any hardware and systems software.
• Most creative and challenging phase.
• Flowchart, Algorithm, Procedural task, detailed
specifications.
SDLC

• Implementation: Code, documentation, training procedures.


• In this phase, the information system is coded, tested,
installed, and supported in the organization. During coding,
programmers write the programs that make up the
information system. During testing, programmers and
analysts test individual programs and the entire system in
order to find and correct errors. During installation, the new
system becomes a part of the daily activities of the
organization. Implementation activities also include initial
user support such as the finalization of documentation,
training programs, and ongoing user assistance
SDLC

• Maintenance: The final phase of SDLC is called maintenance.


In this phase, information system is systematically repaired
and improved. When a system is operating in an
organization, users sometimes find problems with how it
works and often think of better ways to perform its
functions. Also the organization’s needs with respect to the
system change over time. In maintenance, you make the
changes that users ask for and modify the system to reflect
changing business conditions.
System Development Model
• Waterfall Model: Waterfall model sometimes called classic
life cycle or linear sequential model. It is the oldest and most
widely used paradigm for information systems development.
This structured approach looks at the system from a top-
down view.
• Application: Requirements are very well documented, clear
and fixed.
• Technology is understood and is not dynamic.
• The project is short.
• Advantages: Simple and easy to understand and use.
• Phases are processed and completed one at a time.
• clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
Disadvantages

• No working software is produced until late during the life


cycle.
• Not a good model of complex and object oriented projects.
• poor model for long and ongoing projects.
• Can not accommodate changing requirements.
Waterfall Model
Prototype Model

• The prototype model is a methodology that is treated as a


model for software development where a prototype- which
is a premature approximated sample of the final product,
constructed and then tested. Phases of Prototyping model:
• Requirements Gathering:
• Quick Design:
• Build Prototype:
• User Evaluation:
• Refining prototype:
• Engineer product:
Advantages of Prototyping Model

• The customers get to see the partial product early in the life
cycle.
• New requirements can be easily accommodated as there is
scope for refinement.
• Flexibility in design.
• Disadvantages:
• It is a time consuming if customer asks for changes in
prototype.
• Customer may get confused in the prototypes and real
systems.
Spiral Approach
Spiral Model
• In its diagrammatic representation, it looks like a spiral with
many loops. Each loop of the spiral is called a phase of the
software development process. IT is divided in four section.
1. Objectives determination and identity alternative
solutions: Requirements are gather from the customers
and the objectives are identified, elaborated and analyzed
at the start of every phase.
2. Identity and resolve Risks: During the second phase all the
possible solutions are evaluated to select the best
solution.
3. Develop Next version of the product: In this phase, the
identified features are developed and verified through
testing.
4. Review and plan for the next phase: Customers evaluate
the so far developed version of the software.
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.
• Disadvantages: Can be costly model to use. Risk
analysis requires highly specific expertise.
• Doesn't work well for smaller projects.
RAD model

• Rapid application development is an object oriented


approach to systems development that includes a method of
development as well as software tools. Both RAD and
Prototyping are trying to meet rapidly changing business
requirement.
• Advantages: Changing requirements can be accommodated.
• Progress can be measured. Productivity with fewer people in
short time. Reduce development time.
• Disadvantages: Dependency on technically strong team
members for identifying business requirements.
• Required highly skilled developers/ designers.
CASE Tools

• It helps developers, use to make & maintain S/W process


manage technology.
• Computer-aided systems engineering (CASE), also called
computer aided software engineering is a technique that
uses powerful software, called CASE tool, to help systems
analysts develop and maintain information systems. It
provides an overall framework for systems development and
support a wide variety of design methodologies, including
structured analysis and object oriented analysis.
Advantages of the CASE Tool

• As special emphasis is placed on redesign as well as testing,


the servicing cost of a product over its expected lifetime is
considerably reduced.
• The overall quality of the product is improved as an
organized approach is undertaken during the process of
development.
• Disadvantages:
• Purchasing of CASE tools is not an Easy Task. The cost of
CASE tools is very high. For this reason small software
development firms do not invest in CASE tools.
Agile Development Approach

• In S/W Development the term Agile means able to adopt the


changes from requirements.
• The Agile software development model was mainly intended
for helping developers build a project which can adapt to
transforming requests quickly. So the most important
endeavor for developing the Agile model is to make easy and
rapid project achievement.
• Advantages: It reduces total development time of the whole
project.
• Customer representation get the idea of updated software
products after each iteration. So it is easy for him to change
any requirement if needed.
Extreme Programming[Agile methodology]

• Extreme programming (XP) is one of the most important


software development frameworks of Agile models. It is
used to improve software quality and responsive to
customer requirements. The extreme programming model
recommends taking the best practices that have worked well
in the past in program development projects on extreme
levels.
• It is based on the frequent iteration through which the
developers implement user stories.
• Some of the basic activities that are followed during s/w
development using XP are: Coding, Testing, Listening ,
Designing, Feedback, simplicity
Applications of Extreme programming

• Small Projects
• Project involving new technology or Research projects
Object Oriented Analysis & Design (OOAD)

• OOAD is often called the third approach to systems


development, after the process-oriented and data oriented
approaches. The object –oriented approach combines data
and process(called methods) into single entities called
objects. Objects usually correspond to the real things an
information system deals with, such as customers, suppliers,
contracts.
• The goal of OOAD is to make systems elements more
reusable, thus improving system quality and productivity of
system analysis and design.
• Another idea behind object orientation is inheritance.
Joint Application Design

• Joint Application Design is used for collecting information


system requirements and reviewing system designs.
• It is a structured process in which users, managers, and
analysts work together for several days in a series of
intensive structured meetings run by a JAD session leader to
specify or review system requirements.
• To fulfill the system requirements and design details, time
and organizational resources are better managed.
The origins of software

• Today System Analyst has dozens of programming languages


and development tools to work with you could easily argue
that systems development is even more difficult now than it
was 60 years ago.
• Today there are many different sources of software, are
available.
• Even though you will not write the code , you will still use
the basic structure and processes of the system analysis and
design life cycle to build the application systems your
organization demands.
Managing The Information System Projects

• In this section we focus on the systems analyst's role as


project manager of an information systems projects.
Throughout the SDCL, the project manager is responsible for
initiating , planning, executing and closing down the systems
development project. Effective project management helps to
ensure that systems development projects meet customer
expectations and are delivered within budget and time
constraints.
• A project is a planned undertaking of a series of related
activities to reach an objective that has a beginning and end.
Managing Information System Project

• Shaping a project : A successful project must be completed


on time, within budget and deliver a quality product that
satisfies users and meets requirements. Project
management techniques can be used throughout the SDCL.
• Project Triangle : For each project, it must be decided what is
most important, because the work Can not be good and fast
and cheap. When it comes to project management things
are not quite so simple. Cost, Scope and time are three legs
of Project Triangle. The project manager is a system analyst
with a diverse set of skills- management, leadership,
technical, conflict management and customer relationship-
who is responsible for initiating, planning, executing, and
closing down a project.
System Analyst

• System Analyst is a chief person in system development


team who analyzes and designs the new computerized
information system. S/he is the team leader and involves
throughout all phases of the system development life cycle.
Basically the system analyst analyzes the problems, plans
solutions, recommends software and systems and
coordinates and guides all other members of development
team to meet business requirements.
Common activities and skills of a project
manager
• Leadership
• Management
• Customer relations
• Technical problem solving
• Conflict management
• Team management
• Risk and change management
Phases of project management
• Initiating: During this phase, the project is conceptualized
and feasibility is determined.
• Planning: Next, the project manager will create a blueprint
This blueprint will map out the project's scope resources
required to create the deliverables; estimated time and
financial commitments, communication strategy to ensure
stakeholders are kept up to date.
• Executing: During this phase, the project manager will
conduct the procurement required for the project as well as
staff the team.
• Monitoring and Control: During this process group, project
managers will closely measure the progress of the project to
ensure it is developing properly.
• Closing: The closing process group occurs once the project
deliverables have been produced and the stakeholders
validate and approve them. During this phase, the project
manager will close contracts with suppliers, external
vendors.
Representing and scheduling Project Plan

• A Project manager has a wide variety of techniques available


for depicting and documenting project plans. These planning
documents can take the form of graphical or textual reports.
• A Gantt Chart shows the duration of tasks, whereas a
network diagram shows the sequence dependencies
between tasks.
• A Gantt chart shows the time overlap of tasks, whereas a
network diagram shows which tasks could be done in
parallel.
Gantt Chart
Roles of System Analyst

• Being the chief person in the system development team,


system analyst has vital roles for successfully completing the
development of new information system required for the
different organizations. The most important roles are as
follows:
• Change Agent
• Motivator
• Investigator
• Architect
• Diplomat
Responsibilities of System Analyst

• The key responsibilities of the system analyst is to


coordinate efforts of all the members of the development
team to effectively develop and operate computer based
information system. The major responsibilities of a system
analyst are as follow:
• Defining Requirements:
• Prioritizing requirements:
• Analysis and Evaluation:
• Solving problems
• Evaluating System
Feasibility Study
• After the development team proposes the new system, the
feasibility study performed in order to determine whether
the new system will be feasible or not. The testing is done on
the basis of time, cost, technical and operational aspect.
Basically, feasibility study is done on the different aspects
based on the system requirements.
• Technical feasibility : Can the development of the proposed
system be done with current equipment, existing software
technology, and available personnel? Does it require new
technology?
• Economical Feasibility: The feasibility study is performs
whether the developing system is economic during the
operation time on the client side.
• Operational feasibility: It is mainly related with human skill
and political aspects. The current staffs can work in the new
system after training or not.
Unit 2
Identifying & selecting System Development
Projects
The first phase of the SDLC is planning, consisting of project
identification and selection and project initiation and
planning.
a. planning b. analysis c. Design d. Implementation
e. Maintenance
During project identification and selection a senior
manager, a business group, an IS manager identifies and
assesses all possible systems development projects that
an organization unit could undertake. Next , those
projects deemed most likely to yield significant
organizational benefits, given available resources, are
selected for subsequent development activities.
Process of Identifying and selecting IS
development projects
A. Project Identification and selection
❖ Identifying potential development projects.
❖Classification and ranking projects.
❖Selecting projects for development
B. Project initiation and planning
The process of Identifying IS development
projects
Project identification and selection consists of 3 activities:
1. Identifying potential development projects.
2. Classifying and ranking IS development projects
3. Selecting IS development projects
Unit 2 The process of Identifying IS
development projects Cont…..

1. Identifying potential development projects:


• A key member of top management, either the CEO of a
small or medium sized organization or a senior executive
in a large organization.
• A steering committee, composed of a cross section of
managers with an interest in systems.
• User departments, in which either the head of the
requesting unit or a committee from the requesting
department decides which projects to submit.[system
analyst]
• The development group or a senior IS manager.
Identifying potential development Projects
The process of Identifying IS development
projects Cont…..

2. Classifying and ranking IS development projects:


The second major activity in the project identification and
selection process focuses on assessing the relative merit
of potential projects. As with the project identification
process , classifying and ranking projects can be
performed by top managers, a steering committee,
business units or IS group.
Classifying and ranking IS development
projects: Cont…..
Possible evaluation criteria when classifying & ranking projects
Value chain Analysis: Extent to which activities add value and costs
when developing products and or services.
Strategic Alignment: Extent to which the project is viewed as
helping the organization activities and long term goals.
Potential Benefits: Project is viewed as improving profits, customer
services etc.
Resource Availability: Type of resources the project requires and
their availability.
Project Size/ Duration: Length of time needed to complete project.
Technical Difficulty/ Risks: Level of technical difficulty to complete.
The process of Identifying IS development
projects Cont…..
3. Selecting IS development projects: The final activity in the
project identification and selection process is the actual
selection of projects for further development. The short
and long term projects most likely to achieve business
objectives are considered.
Numerous factors must be considered when
selecting a project:
Perceived needs of the organization
Existing systems and ongoing projects
Resource availability
Evaluation Criteria
Current organizational environment
Evaluation Criteria
Selecting IS Development project
Corporate and Information System Planning

Although there are numerous motivations for carefully


planning the identification and selection of projects
organizations have not traditionally used a systematic
planning process when determining how to allocate IS
resource. Instead, projects have often resulted from
attempts to solve isolated organizational problems. In
effect, organizations have asked the question:”what
procedure(application program) is required to solve this
particular problem as it exits today? The difficulty with
this approach is that the required organizational
procedures are likely over
Corporate Strategic planning

The first step focuses on gaining an understanding of the


current enterprise. Corporate strategic planning is an
ongoing process that defines the mission, objectives and
strategies of an organization.
During corporate strategic planning, executives typically
develop a mission statement, statements of future
corporate objectives and strategies designed to help the
organization reach its objectives.
Corporate Strategic planning cont..

Ongoing process that defines mission, objective and


strategies of an organization. During corporate strategic
planning, executives typically develop a mission
statement, statements of future corporate objectives and
strategies designed to help the organization reach its
objectives. Corporate strategic planning is a three step
process.
1. Current Enterprise
2. Future Enterprise
3. Strategic Plan
Information System Planning
B. Initiating and planning Systems
Development project
During the first phase of the SDLC planning, two primary
activities are performed. The first, project identification
and selection, focuses on the activities during which the
need for a new or enhanced system is recognized but
does not deal with a specific project but rather identifies
the portfolio of projects to be under taken by the
organization.
Thus, project identification and selection is often
thought of as a “ pre-project” step in the life cycle.
Initiating and planning Systems Development
project cont…
Most organization assign an experienced system analyst, or
team of analysts for large projects, to perform project
initiation and planning. The analyst will work with the
proposed customers managers and users in a business
unit of the system and other technical development staff
in preparing the final plan.
Effective communication among the system
analysts, users and management is crucial to the creation
of a meaningful project plan.
Process of Initiating and planning IS
development projects
Project initiation focuses on activities designed to assist in
organizing a team to conduct project planning. During
initiation, one or more analysts are assigned to work with
a customer to establish work standards and
communication procedures. Summary of six activities
performed during project initiation are listed below.
• Establishing the project Initiation Team
• Establishing a relationship with the customer
• Establishing the project initiation plan
• Establishing Management procedures
• Developing Project chart
Process of Initiating and planning IS
development projects Cont…
The second activity, project planning, focuses on defining
clear, discrete tasks and the work needed to complete
each task. The objective of the project planning process is
to produce two documents: a baseline project plan (BPP)
and the project scope statement(PSS). The range of
activities performed during project planning is listed
below.
• Describing the project scope, Alternatives and Feasibility.
• Dividing the project into Manageable Tasks
• Estimating Resources and creating a Resource plan.
• Developing a communication plan.
• Identifying and assessing Risk
• Creating a Budget
Deliverables and outcomes

• The major outcomes and deliverables from project initiation and


planning are the baseline project plan and the project scope
statement. The baseline project plan (BPP) contains all information
collected and analyzed during the project initiation and planning
activity.
Assessing Project Feasibility
Most information systems projects have budgets and
deadlines. Assessing project feasibility is a required task
that can be a large undertaking because it requires a
systems analyst to evaluate a wide range of factors.
• Economic
• Operational
• Technical
• Schedule
• Legal and contractual
• Political
Building the Baseline Project Plan [BPP]

• All the information collected during project initiation and


planning is collected and organized into a document called
the baseline project plan. Once the BPP is completed, formal
review of the project can be conducted with customers. The
focus of the walkthrough is to verify all information and
assumptions in the baseline plan before moving a head with
the project. An outline of a baseline project plan contains
four major sections:
1. Introduction
2. System Description
3. Feasibility assessment
4. management issues
Reviewing the Baseline project Plan

• Before the next phase of the SDLC can begin, the users,
management and development group must review the BPP
in order to verify that it makes sense. This review takes place
before the BPP is submitted or presented to a project
approval body, such as an IS steering committee or the
person who must fund the project.
A common method for performing this review is called a
structured walk- through. Walk- through are peer group
reviews of any product created during the systems
development process and are widely used by professional
development organizations.
At walk through meetings, Coordinator, Presenter, User,
Secretary, Standards bearer.
Unit 3 Analysis
Systems analysis is the part of the systems development
life cycle in which we determine how the current
information system functions and assess what users
would like to see in a new system. Analysis has two sub
phases:
• requirements determination .
• requirements structuring.
Unit 3 Analysis
Performing Requirements Determination
Collection of information is at the core of systems analysis.
Information requirement determination(IRD) is frequently
and convincingly presented as the most critical phase of
information system development. System analyst must
collect the information about the current system and how
users would like to improve their performance with new
information system.
Main characteristics of a good System Analyst
❖ Impertinence: Ask questions about everything that
exists and also about what may exist in the future.
❖ Impartiality: Find the best solution to a business problem
or opportunity
Unit 3 Analysis

Main characteristics of a good System Analyst


❖ Relax constraints: Eliminate unfeasibility

❖ Attention to details: Every thing must fit together so that


the system works properly.

❖ Reframing: Every system is different and needs a new


creative approach.
Unit 3 Analysis

Traditional Methods for determining Requirements


At the core of systems analysis is the collection of information.
The traditional methods of collecting system
requirements are listed below:
Interviewing and Questionnaires: Interviewing is one of the
primary ways analysts gather information about an
information systems project. Experience analysts
commonly accept some following best practices for an
effective interview:
• Prepare the interview carefully, including appointment,
priming question, checklist, agenda and questions.
• Listen carefully and take note during the interview.
Interviewing and Questionnaires cont..

• Be neutral
• Seek diverse views
• Review notes within 48 hours after interview.
• Questionnaires
Questionnaires have the advantage of gathering
information from many people in a relatively short time.
When designing questionnaires, the analyst should
concern the following issues at least:
❖ The ambiguity of questions.
❖ Consistence of respondents answers
Unit 3 Questionnaires cont…
❖ What kind of question should be applied, open-ended or
close-ended?
❖ What is the proper length of the questionnaires?
Interview outline

• Interviewee: Name of person Interviewer:


• Location/Medium:
• Agenda:
• General Observations:
• Unresolved Issues:
• When to ask question:
• Question 1
• Question 2
Unit 3 Contemporary Methods for
Determining System Requirements
A. Joint Application Design: JAD started in the late 1970s at
IBM and since then the practice of JAD has spread
throughout many companies and industries. The JAD
approach leads to shorter development lifecycles and
greater client satisfaction. The following is a list of JAD
participants:
• JAD session leader: The JAD leader organizes and runs the
JAD. This person has been trained in group management
and facilitation as well as in system analysis. The JAD
leader sets the agenda and sees that it is met.
Unit 3 JAD Cont….
• Users: The key users of the system under consideration
are vital participants in a JAD. They are the only ones who
clearly understand what it means to use the system on a
daily basis.
• Managers: Managers of the work groups who use the
system in question provide insight into new
organizational directions, motivations for and
organizational impacts of systems and support for
requirements determined during the JAD.
• Sponsor
• System Analysts
Unit 3 JAD Cont….

JAD sessions are usually held in special-purpose rooms where


participants sit around horseshoe-shaped tables. These
rooms are typically equipped with whiteboards.
Advantages of JAD
• JAD allows you to resolve difficulties more simply and
produce better, error free software.
• JAD reduces costs and time needed for project
development.
• Well-defined requirements improve system quality.
• Due to the close communication, progress is faster.
Unit 3 Disadvantages of JAD

• Different opinions within the team make it difficult to


align goals and maintain focus.
• Depending on the size of the project, JAD may require a
significant time commitment.
Unit3 Contemporary Methods for
Determining System Requirements

B. Using Prototyping During Requirements Determination:


Prototyping allows us to quickly convert basic
requirements into a working, though limited version of
the desired information system. The user then views and
tests the prototype typically seeing verbal descriptions of
requirements converted into a physical system prompts
the user to modify existing requirements and generate
new ones.
Unit3 Prototyping is most useful when
• User requirements are not clear or well understood,
which is often the case for totally new systems.
• One or a few users and other stakeholders are involved
with the system.
• Tools and data are readily available to rapidly build
working systems.
Unit3 Radical Methods for Determining
System Requirements
• The overall process by which current methods are
replaced with radically new methods is referred to as
business process reengineering(BPR).
❖ A. Identifying processes to Reengineer: A first step in any
effort is to understand what processes need to change,
what are the key business processes for the organization.
Key business processes are the structured set of
measurable activities designed to produce a specific
output for a particular customer or market. Key business
processes are also customer focused.
Unit3 BPR, suggest analysts ask 3 questions
to identify activities for change:
• How important is the activity to delivering an outcome?
• How feasible is changing the activity?
• How dysfunctional is the activity?
Unit3 b. Disruptive Technologies
• Once key business processes and activities have been
identified, information technologies must be applied to
improve business processes radically.
Unit3 b. Requirement Management Tools
• Requirement management tools lend themselves best to
traditional, planning based systems development
approaches, the kind we have been talking about so far.
Organizations and developers have always been looking
for more effective and creative ways to create and
maintain requirements documents. One method that has
been developed is computer based requirements
management tools. These tools make it easier for analysts
to keep requirements documents .
Elements of ER Diagram

• Entity: An entity is a real- world thing either living or non-


living that is easily recognizable and non- recognizable. It is
anything in the enterprise that is to be represented in our
database. It may be a physical thing or simply a fact about
the enterprise or an event that happens in the real world.
• An entity can be place, person, object, event or a concept,
which stores data in the database.
• Relationship: They are the meaningful dependencies
between entities. For example vendor supplies items,
teacher teaches courses, then supplies and teaches are
relationship.
• Attributes: It specifies the properties of relationships. For
example, students name, vendor code .
Types of attributes

• Atomic vs. composite attribute: An attribute that cannot be


divided into smaller independent attribute is known as
atomic attribute. For example student is an entity and its
attributes are Name, age, DOB, Address and phone no. Here
the stu_id and DOB are atomic attribute.
• An attribute that can be divided into smaller independent
attribute is known as composite attribute. For example
address( attribute) of student entity can be further divide
into House no, city and so on.
Single Valued vs. Multi valued attributes

• An attribute that has only single value for an entity is known at single
valued attribute. Here the age (attribute) of student (entity) can have
only one value. Here age is single valued attribute.
• An attribute that can have multiple values for an entity is known as
multi valued attribute. Here phone no attribute of student (entity)
can have multiple value because a student may have many phone
numbers. Here phone no is multi valued attribute.
Constraints on ER Model
• Relationship sets in ER model usually have certain
constraints that limit the possible combinations of
entities that may involve in the corresponding
relationship set. Database content must confirm
these constraints. The most important constraints are
: mapping cardinalities and participation constraints.
• A. Mapping cardinalities Constraints:
A. Mapping Cardinality Constraints
• ER model constraints that describes maximum
number of possible relationship occurrences for an
entity set participating in a given relationship type is
called mapping cardinality. We express cardinality
constraints by drawing either a directed line or an
undirected line.

• On the basis of cardinality ratio, relationship can be


categorized into : One to One ,One to many and many
to many.
One to One Relationship
• If every entity in entity set A is associated with at
most one entity in entity set B and vice versa, then
the relationship is called one to one relationship. For
example, every bank has only one CEO and a person
can be CEO of only one bank, College- Principal, male
can marry to one female and a female can marry to
one male.
• One to Many Relationship : when entities in one set
can take part only once in the relationship set and
entities in other entity set can take part more than
once in the relationship set, it is one to many
relationship. A mother can have any number of
children but children can have only one mother.
Many to Many
• When entities in all entity sets can take part more
than once in the relationship then it is called many to
many relationship.
• For example a student can enroll into more than one
course and a course can be enrolled by many
students.
Components of E-R Model
• b. Relationship and relationship sets : Association
between two or more entities is called relationship.
For example, Ram teaches Sita. Here teaches is the
association between entities Ram and sita . We can
say that association between two entity sets is called
relationship set.
B. Participation constraints
• Constraint on ER model that determines whether all
or only some entity occurrences participate in a
relationship is called participation constraint. It
specifies whether the existence of an entity depends
on its being related to another entity via the
relationship type. There are two types of
participation constraints.
a. Total participation constraints: Here each entity in
the entity set must participate in the relationship. If
each student must enroll in a course, the
participation of student will be total.
b. Partial Participation Constraints: Here the entity in
the entity set may or may not participate in the
relationship. If some courses are not enrolled by
any of the student, the participation of course will
be partial.
Components of E-R Model
• a. Entity and Entity sets: An entity is an object or a
concept that is identified by the enterprise as having
an independent existence. For example, each student
in a class is an entity. An entity usually has an
attribute whose value is distinct for each individual
entity in the collection. An entity set is a set of
entities of the same type that share the same
properties, or attributes. For example set of all
students in a class is an entity set.
Concept of System Design Tools : DFD (Data
Flow Diagram)
The diagram that allows you to model how data flow through
an information system, the relationships among the data
flows and how data come to be stored at specific location
is known as data flow diagram. It also shows the process
that changes or transforms data.
During the course of analysis, the system Analyst has to gather
enough information in order to answer the following
questions. It also serves as a form of checklist.
• What are the processes that make up a system?
• What data is used in each of the processes?
• What and how is the data stored?
DFD component

• Process: Process show what system can do. Each process has
one or more than one inputs and produces one or more data
outputs. It is represented by circle. Each process has unique
name.
• Data store: Store is a repository of data. It contains data that
is retained in the system.
• Data flows: It is the flow of data between the components of
system represented by joining arrow line from one
component to another component.
DFD component Figure
Data flow Diagramming Rules

Process:
a. Each process should have at least one input and one
output.
b. No process can have only inputs.
Data store:
a. Data cannot move directly from one data store to another
data store. Data must be moved by a process.
b. Data cannot move directly to an outside sink from a data
store. Data must be moved by a process.
Source/Sink : Data can not move directly from a source to a
sink. It must be moved by a process.
Data Flow: A data flow has only one direction of flow between
symbols.
Logical vs. physical Data flow Diagrams

• Data flow diagrams are categorized as either logical or physical.


• A logical data flow diagram focuses on the business and how the
business operates. It is not concerned with how the system will be
constructed. We can ignore implementation specifics such as,
computer configuration, data storage technology.
• A physical data flow diagram shows how the system will be
implemented, including the hardware, software, files and people in
the system.
Decisions Trees

• Given in class
What is Normalization?
Normalization is the technique of organizing the data in
the database. It is a systematic approach decomposing a
tables to eliminate data redundancy. It is a multi-step
process that puts data into tabular form.
A relation is said to be in 1NF if and only if each attribute
of the relation is atomic. Atomic means, the smallest piece
of data which can not be divided further. Simply, to be in
1NF, each column must contain only a single value. The
purpose of the 1NF is to eliminate repeating groups of
attributes in an entity. [ Remove repeating groups]
Unnormalized Data
Roll No Name Course

1 Ram C/ C++

2 Sita Java

3 Gita C/DBMS
First normalization [Example 1]
Roll No Name Course

1 Ram C

1 Ram C++

2 Sita Java

3 Gita C

3 Gita DBMS
1st normalization [Example 2]
Course Course Course 1 Course 2

1 Ram C C++

2 Sita Java Java

3 Gita C DBMS
Do yourself
Sid Sname Phone State Age

1 Ram 9811111111 State 1 19


9801234567
2 Hari 9722222222 State 2 20

3 Ramesh 9841333333 State 1 18


9803333333
4 Anand 9877777777 State 3 21
2NF

• A relation is said to be in 2NF if the relation must fulfill the requirements to be in


First Normal Form and each non key attribute in the relation must be
functionally dependent upon the primary key. No partial dependencies, Full
dependence must. [Remove partial dependencies]
• Suppose a school wants to store the data of teachers and the subjects they
teach. They create a table that looks like this: Since a teacher can teach more
than one subjects, the table can have multiple rows for s same teacher.
2NF [Teacher]
Tid TSubject Tage

111 Maths 38

111 Physics 38

222 Biology 38

333 Physics 40

333 Chemistry 40

Teacher details Teachere_Subject

Tid Tage Tid Tsubject

111 38 111 Math

222 38 111 Physics

333 40 222 Biology

333 Physics

333 Chemistry
Example of Normalization

Student_ Teacher

RN Name Address Phone DOB Tid Dept Tname Tphone

1 Ram Chitwan 056540123 2051/11/12 12 Mgmt Suresh 9845111111


0565401111
2 Hari Kathmadu 01444444 2051/03/13 11 Science Manish 984111111
01411111
3 Sita Bhaktapur 01611111 2052/03/05 10 Humanities Smita 984111111

4 Alisha Lalitpur 01511111 2051/4/4 10 Humanities Smita 984111111


1NF

• You can do it….


Second NF, Student table

RN Name Address Phone DOB

1 Ram Chitwan 056540123 2051/11/12

2 Hari Kathmandu 01444444 2051/3/13

3 Sita Bhaktapur 01611111 2052/3/5

4 Smita Lalitpur 01511111 2051/4/4

Teacher Std_Tea, relational Table

Tid Tname Tphone RN Tid


12 Shuresh 9845111111
1 12
12 Shuresh 0565401111
2 11
11 Manish 984111111
3 10
11 Manish 014111111

10 Smita 984111111 4 10
2NF

• In the above example, the RN and Tid with Tphone field can be used as primary
keys. Similarly the corresponding key field depends on its primary keys line
Name, Address, phone and DOB depends on RN field and Dept, Tname and
Thone depends on Tid. To change the above table in to 2NF, we need to
decompose the table into multiple tables. The relation to be in 2NF can be
represented by the following schema and corresponding table.
• Student( RN, Name, Address, Phone, DOB)
• Teacher( Tid, Tname, Tphone)
• Std_Tea(RN, Tid)
3NF

• Table must be in 2NF.


• Non prime attribute can’t dependent another non prime[Roll no is
prime attribute]
• No transitive dependency between the attributes.
•X Y Z
• X is good, Intelligent student so Y is hoping x will help me in exam.
But if z is also expecting from y then result will worse.
3NF[student 1, student2]

RN Name Address Phone

1 Ram Chitwan 056540123

2 Hari Kathmandu 01444444

3 Sita Bhaktapur 01611111

4 Smita Lalitpur 01511111

RN DOB

1 2051/11/12

2 2051/3/13

3 2052/3/5

4 2051/4/4
3NF

• In the above table Student (RN, Name, Address, Phone, DOB), Name,
Address and phone are fully depend on it primary key ‘RN’. But the
field Date of Birth ’DOB’ is depends on student name ‘name’ not in
primary key ‘RN’. After applying the rules of 3NF, the student tables
will be decomposed into the above tables but other tables remains
same.
Example, convert into second Normal

Student Id Name [Link] [Link] Grade

1 Ram 101 Dr. Sharma A

2 Shyam 102 Dr. Tiwari A

3 Hari 103 Dr. Poudel C

4 Sita 104 Dr. Gupta D

5 Gita 105 Dr. Sapkota B


Designing Forms and Reports:

• Forms are used to present or collect information on a single


item such as a customer, product or event. Forms can be
used for both input and output.
✓It provide easy way to view data.
✓Through this, data can be entered easily. It save time.
✓It present data in an attractive format with special fonts &
other graphical effects.
The process of Designing forms and Reports

• Who will use the form or report?


• What is the purpose of the form or report?
• When is the form or report needed or used?
• Where does the form or report need to be delivered and
used?
• How many people need to use or view the form or report?
General formatting Guidelines for Forms &
Reports
• Meaningful Titles:
• Meaningful Information:
• Balance of layout:
• Easy Navigation System:
Menu Interaction

• A Menu is simply a list of options, when an option is


selected by the user, a specific command is invoked
or another menu is activated. Menus have become
the most widely used interface to effectively
navigate through a system.
• Guidelines for Menu Design
• Working
• Organization
• Length
• Selection
• highlighting
Designing Interfaces

• User interface is the front-end application view to which


user interacts in order to use the software. User can
manipulate and control the software as well as hardware by
means of user interface. UI provides fundamental platform
for human- computer interaction. UI can be graphical, text-
based, audio-video based, depending upon the underlying
hardware and software combination.
Unit 5

Purpose of system implementation


• To convert final physical system specifications into working
and reliable software.
• To document work that has been done.
• To provide help for current and future users.
Unit 5
Implementation & Maintenance
• Testing: Software testing can be stated as the process of
verifying and validating that a software or application is bug
free, meets the technical requirements as guided by it’s
design and development and meets the user requirements
effectively and efficiently with handling all the exceptional
and boundary cases.
• Application of Software Testing: Cost effective Development,
Product improvement, Test automation, Quality check
Different Types of Tests

• Inspections: A testing technique in which participants examine


program code for predictable language specific errors. Syntax,
grammar and some routine errors can be checked.
• Desk Checking: Desk checking is an informal test that
programmers can use to verify coding and algorithm logic before a
program launch.
• Unit Testing: It focuses on smallest unit of software design. In this
we test an individual unit or group of inter related units.
• Integration Testing: The process of bringing together more than
one modules that a program comprises for testing purposes.
Integration testing is testing in which a group of components are
combined to produce output.
Testing cont…

• System Testing: The process of bringing together of all of the


programs that a system comprises for testing purposes.
• System Testing can be tested in two ways
a. Black box testing: Black box testing is defined as a
testing technique in which functionality of the application
Under test is tested without looking at the internal code
structure, implementation details and knowledge of internal
paths of the software. [Carried out by Tester]
b. White box testing [carried out by S/W developers]:
White box testing is a testing technique that examines the
program structure and derives test data from the program
logic/ code.
Stub Testing

• Stub Testing: A technique used in testing modules, especially


where modules are written and tested in a top down
fashion, where a few lines of codes are used to substitute for
subordinate modules.
• User Acceptance Testing: Once the system tests have been
satisfactorily completed, the system is ready for acceptance
testing, which is testing the system in the environment
where it will eventually be used.
a. Alpha testing: User testing of a completed information
system using simulated data. [ Recovery Testing, Security
Testing, Stress testing, performance testing].
b. Beta Testing : User testing of a completed information
system using real data in the real user environment.
Installation

• The process of moving from the current information system


to the new one is called installation.
• Direct installation
• Parallel installation
• Pilot installation
• Phased installation
Object Oriented

• The term object oriented describes the system as a


collection of discrete objects that incorporate both data
structure and behavior. It is a way of thinking about
problems using models organized around real world
concepts. Object oriented analysis and design promote the
better understanding of requirements, cleaner design and
more maintainable system.
Object Oriented Development Life cycle

• The object oriented methodology of building systems takes the


objects as the basis for this first the system to be developed is
observed and analyzed and the requirements are defined as in any
other method of system development. Object oriented development
life cycle contains:
• A. System analysis
• B. System Design
• C. Object Design
• D. Implementation
Basic characteristics of OOS

• Class
• Abstraction
• Inheritance
• Polymorphism
• Reusability
• Data hiding
Advantages of Object oriented Analysis &
Design
• Object oriented Methodology closely represents the problem
domain. Because of this, it is easier to produce and understand
designs.
• The objects in the system are immune to requirement changes.
Therefore allows changes more easily.
• Object oriented methodology designs encourage re- use.
Introduction to Unified Modeling Language

• UML short for Unified Modeling Language, is a standardized modeling


language consisting of an integrated set of diagrams, developed to help
system and software developers for specifying, visualizing, constructing and
documenting the artifacts of software systems as well as for business
modeling and other non- software systems.
• There are broad categories:
a. structural Diagrams
i. Class diagram
ii. Object diagram
iii. Component diagram
iv. Deployment diagram
b. Behavioral Diagrams( Use case Diagram, Sequence diagram,
Collaboration diagram, Activity diagram)

You might also like