Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
11 views102 pages

Unit 1 System Development Fundamentals

The document outlines a course on System Analysis and Design, focusing on the fundamentals of system development, including planning, analysis, design, implementation, and maintenance. It covers various methodologies such as the Waterfall model and Agile approaches, as well as the roles and responsibilities of a system analyst. Additionally, it emphasizes the importance of system analysis in achieving efficient and effective information systems within organizations.

Uploaded by

jlurker77
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)
11 views102 pages

Unit 1 System Development Fundamentals

The document outlines a course on System Analysis and Design, focusing on the fundamentals of system development, including planning, analysis, design, implementation, and maintenance. It covers various methodologies such as the Waterfall model and Agile approaches, as well as the roles and responsibilities of a system analyst. Additionally, it emphasizes the importance of system analysis in achieving efficient and effective information systems within organizations.

Uploaded by

jlurker77
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
You are on page 1/ 102

System Analysis and

Design
BCA 3rd Semester

5/11/2023 Unit One: System Development Fundamentals 1


Course title: System Analysis and Design (3 Cr.)
Course Code: CACS203
Class Load: 4 Hrs. / Week (Theory: 3 His, Tutorial: 1 Hr.)

5/11/2023 Unit One: System Development Fundamentals 2


Course Description
• This course mainly focuses on different aspect of system analysis and
design such as foundation, planning, analysis, design, implementation and
maintenance.

5/11/2023 Unit One: System Development Fundamentals 3


Course Objectives
• The general objective of this course is to provide concepts related to
information systems development in a systematic approach including
foundations planning analysis, design, implementation and maintenance.

5/11/2023 Unit One: System Development Fundamentals 4


Unit 1 System Development Fundamentals
– 9hrs
a. The Systems Development Environment
Introduction. Modem Approach of System Analysis and Design, Information System
and its Type, Developing Information Systems and the Systems Development Life
Cycle. the Heart of the Systems Development Process, The Traditional Waterfall
SDLC, Approaches for Improving Development, CASE Tools, Rapid Application
Development, Service-Oriented Architecture, Agile Methodologies, extreme
Programming, Object- Oriented Analysis and Design
b. The Origins of Software
Introduction, System Acquisition. Reuse
c. Managing the Information Systems Project
Introduction. Managing Information Systems Project, Representing and Scheduling
Projects Plans. using projects Management Software

5/11/2023 Unit One: System Development Fundamentals 5


Unit 2 Planning – 7 hrs
a. System Development Projects: Identification and Selection
Introduction, Identifying and Selecting Systems Development Projects.
Corporate and Information Systems Planning
b. System Development Projects: Initiation and Planning
Introduction, Initiating and Planning Systems Development Projects,
Process of Initiating. and Planning IS Development Projects. Assessing
Project Feasibility. Building and Reviewing the Baseline Project Plan

5/11/2023 Unit One: System Development Fundamentals 6


Unit 3 Analysis – 13 hrs
a. System Requirements
Introduction. Performing Requirement for Determination, Traditional Methods for
Determining Requirements; Contemporary. Methods for Determining System
Requirements. Radical Methods for Determining System, Requirements Management
Tools. Requirements Determination Using Agile Methodologies
b. System Process Requirements
Introduction. Process Modeling. Data Floss Diagramming Mechanics. Using Data Flow
Diagramming in the Analysis Process. Modeling Logic with Decision Tables
c. System Data Requirements
Introduction. Conceptual Data Modeling, Gathering Information for Conceptual Data
Modeling, Introduction to E-R Modeling, Conceptual Data Modeling and the E-R
Model. Representing Super-types and Sub-types, Business Rules, Role of Packaged
Conceptual Data Models — Database Patterns

5/11/2023 Unit One: System Development Fundamentals 7


Unit 4 Design – 12 hrs
a. Designing Databases
Introduction. Database Design, Relational Database Model. Normalization.
Transforming E-R Diagrams into Relations. Merging Relations, Physical File and
Database Design. Designing Fields. Designing Physical Tables
b. Designing Forms and Reports
Introduction. Designing Forms and Reports, Formatting Forms and Reports.
Assessing Usability
c. Designing Interfaces and Dialogues
Introduction. Designing Interfaces and Dialogues, Interaction Methods and
Devices. Designing Interfaces and Dialogues in Graphical Environments
5/11/2023 Unit One: System Development Fundamentals 8
Unit 5 Implementation and Maintenance
– 4 hrs
a. System Implementation
Introduction. System Implementation. Software Application Testing,
Installation, Documenting the System. Training and Supporting Users.
Organizational Issues in Systems Implementation
b. System Maintenance
Introduction. Maintaining Information Systems, Conducting Systems
Maintenance

5/11/2023 Unit One: System Development Fundamentals 9


Evaluation
• Internal : 40
• External : FM - 60 (3 hrs) PM - 24
• Total : 100

• Group A: Multiple Choice Questions (1x10 = 10)


• Group B: Short Answer Questions - Attempt any SIX questions from 8
given questions (6x5 = 30)
• Group C: Long Answer Questions – Attempt any TWO questions from
3 given questions (2x10=20)
5/11/2023 Unit One: System Development Fundamentals 10
Books
Text Book
Jeffrey A. Hoffer, Joey George, Joc Valacich, "Modern Systems Analysis
and Design", 6/E, Prentice Hall India

Reference Book
Jeffery Whitten, Lonnie Bentley, "System Analysis and Design Methods",
7/E, McGraw- Hill

5/11/2023 Unit One: System Development Fundamentals 11


Unit 1 System Development Fundamentals
– 9hrs
a. The Systems Development Environment
Introduction. Modem Approach of System Analysis and Design, Information System
and its Type, Developing Information Systems and the Systems Development Life
Cycle. the Heart of the Systems Development Process, The Traditional Waterfall
SDLC, Approaches for Improving Development, CASE Tools, Rapid Application
Development, Service-Oriented Architecture, Agile Methodologies, extreme
Programming, Object- Oriented Analysis and Design
b. The Origins of Software
Introduction, System Acquisition. Reuse
b. Managing the Information Systems Project
Introduction. Managing Information Systems Project, Representing and Scheduling
Projects Plans. using projects Management Software

5/11/2023 Unit One: System Development Fundamentals 12


System and Information System
A system accepts an input and various subsystems work together to produce some kind
of output. A system can also be defined as a group of components (functions, people,
events and so on) that interface with and complement one another to achieve one or
more predefined goals.

An information system is a set of processes and procedures that transform data into
information and knowledge. The information system aims at providing detailed
information on a timely basis throughout the organization so that the top management
can take proper and effective decisions. The information system of organization cuts
across departmental lines and help achieving overall optimization for the organization.

5/11/2023 Unit One: System Development Fundamentals 13


An information system on organization has five components as shown in
the figure. The five components are input, processing, output, feedback
and system boundary. These are central to any information system. Beside
input and output an information system has five key components, they are
hardware, software, data, processes and people.

System Boundaries

Input Processing Output

Feedback

Information System
5/11/2023 Unit One: System Development Fundamentals 14
Types of Information System
1. Operational Information System
• Transaction Processing System (TPS)
• Knowledge Work System (KWS) Strategic
• Office Automation System (OAS)
2. Management / Tactical Information System (MIS)
Management
3. Strategic Information System (SIS)
• Decision Support System (DSS)
• Executive Support System (ESS) Operational
• Artificial Intelligence (AI)
• Expert System (ES)

5/11/2023 Unit One: System Development Fundamentals 15


• An organized approach to the study of the information needs of an organization's
management at every level in making operational, tactical, and strategic decisions. Its
objective is to design and implement procedures, processes, and routines that provide
suitably detailed reports in an accurate, consistent, and timely manner.

• In a management information system, modern, computerized systems continuously


gather relevant data, both from inside and outside an organization. This data is then
processed, integrated, and stored in a centralized database (or data warehouse) where
it is constantly updated and made available to all who have the authority to access it,
in a form that suits their purpose.

5/11/2023 Unit One: System Development Fundamentals 16


System Analyst
The major duty of system analyst is establishing & maintaining computer
based systems into field of business and administration. For the
establishment & maintenance of the computer system, System Analyst has
to perform certain task such as preliminary study/survey, investigations &
fact findings, analysis, design, implementation, review and maintenance etc.
The person or persons involved in this type of task for the establishment of
the system is known as system analyst.

5/11/2023 Unit One: System Development Fundamentals 17


Some of the characteristics of system analyst are:-
• Communication Skill
• Problem Solving Skill
• Business Knowledge
• Technical Knowledge
• An understanding of the aims & purpose (as the problems) of the company from the point of its
management
• The methodologies of system analysis and computer based data processing.

Qualities of system analysts are


• creative
• smart
• analysis power
• honest
• responsible
• polite
• Punctual
• Confident
• 5/11/2023
Communicability Unit One: System Development Fundamentals 18
Role of System Analyst
1. Understanding the user's requirements. It involves interviewing users and finding the information that
they are using in the current system and the way they use it.
2. Setting priorities among the requirements of various users.
3. Gathering data, facts and opinions of users. The system analyst regularly consult the users and gets
their views at the time of system development.
4. Solving Problems – System analyst study the problem and suggest the alternative suggestion to the
management.
5. Obtain functional specification of system to be design. An analyst is responsible in drawing up
specifications (details of design and materials) in a form which can be understood by users and managers.
6. Design a system that is understandable to the system implementer.
7. Evaluating the system after it has been used for a reasonable period of time.
The system analyst analyze the working of the current information system in the organization and find out
to what extend they meet users needs. The system analyst then shift through the facts and opinion gathered
by him and finds the best characteristic of a new as modified system which will meet the users stated
information needs.

5/11/2023 Unit One: System Development Fundamentals 19


System Analysis & Design
System analysis is an activity that takes place when new information systems are being
changed. System analysis is concerned with the identifying a problem or opportunity
associated with the system examining strength and weaknesses of the old system and to
determine what a new system could accomplish. System analysis is central to the system
development. It includes gathering the necessary data & developing plans for new systems
System design involves designing of a new system or computer application that will meet
the requirements identified during system analysis. System designing is concerned with the
computers oriented designs of the system i.e.: the detail of input transaction, the detail of
the printed reports, screens and other outputs, the file or database structures, the contains
of records, the processing required and the efficiency of the systems from a computer
processing point of view.

5/11/2023 Unit One: System Development Fundamentals 20


Importance of System Analysis
• It helps to design systems where subsystems may • Furthermore, Proper system analysis makes the
have conflicting objectives. clear path for web application development by
• System analysis helps to achieve inter minimizing the future IT requirements.
compatibility and unity of the sub systems • Another benefit, gathering of a clear set of
requirement for any system will give an advantage
• It helps in understanding of complex structures. of the precise planning of the resources for
• Above all, System analysis gives an advantage of development, this will bring the final product at
understanding and comparing the subsystems low cost.
functions with complete system. • System analysis will not only reduce the costs, and
System Analysis also also helps to gain flexibility & flexibility in the
system development. Also, it gives clear
• Reduced costs development targets for each version by defining
• Efficiency & Flexibility the set of requirements
• Risks • The greater flexibility of SA is to cater almost
every future requirements of business by
• Better Management mitigating the IT requirement
• Better Quality

5/11/2023 Unit One: System Development Fundamentals 21


A Modern Approach to Systems Analysis and
Design
• 1950s: focus on efficient automation of existing processes
• 1960s: advent of 3GL, faster and more reliable computers
• 1970s: system development becomes more like an engineering discipline
• 1980s: major breakthrough with 4GL, CASE tools, object oriented
methods
• 1990s: focus on system integration, client/server platforms, Internet
• The new century: Web application development, wireless PDAs,
component-based applications
• Application Software: Computer software designed to support
organizational functions or processes.

5/11/2023 Unit One: System Development Fundamentals 22


SDLC
SDLC is the process of developing information systems through investigation, analysis,
design, implementation and maintenance. Various SDLC methodologies have been
developed to guide the processes involved, including the Waterfall model (which was
the original SDLC method). There are lot of SDLC methodologies and lately several
models are combined into some sort of hybrid methodologies.

5/11/2023 Unit One: System Development Fundamentals 23


Importance and Necessity of SDLC
SDLC is important because it breaks down the entire life cycle of software
development thus makes it easier to evaluate each part of software development and
also makes it easier for programmers to work parallel on each phase. It also provide a
rough time when software will be available for use. The Software Development Life
Cycle is important because it helps with the validation, training, and user ownership in
the design phase of the project. SDLC also gives a web developer or programmer a
plan to follow. By following the SDLC, the better information system will be produced
and developer's software will be more successful.

5/11/2023 Unit One: System Development Fundamentals 24


System Development Models
1. Waterfall Model
The waterfall model of development is an
example of a Software Development Life
Cycle (SDLC) model. It is called waterfall
because of the way it falls down.
The waterfall model is
a sequential design process, often used in
software development processes, in which
progress is seen as flowing steadily
downwards (like a waterfall) through the
phases of Conception, Initiation, Analysis,
Design, Construction, Testing, Production
/ implementation and Maintenance.

5/11/2023 Unit One: System Development Fundamentals 25


Waterfall Model
Waterfall Strengths : • New version of an existing product
• Easy to understand, easy to use
• Provides structure to inexperienced staff Waterfall Deficiencies :
• Milestones are well understood • All requirements must be known upfront
• Sets requirements stability • Deliverables created for each phase are considered frozen
– inhibits flexibility
• Good for management control (plan, staff, track)
• Can give a false impression of progress
• Works well when quality is more important than cost or
schedule • Does not reflect problem-solving nature of software
development – iterations of phases
• Integration is one big bang at the end
When to use the Waterfall Model :
• Little opportunity for customer to preview the system
• Requirements are very well known
(until it may be too late)
• Product definition is stable
• Technology is understood

5/11/2023 Unit One: System Development Fundamentals 26


Waterfall Model

Traditional Waterfall Model


Modified from of Waterfall Model

5/11/2023 Unit One: System Development Fundamentals 27


Prototype Model
Structured Evolutionary Prototyping Model :
In Structured Evolutionary Prototyping Model developers build a prototype during the
requirements phase. Prototype is evaluated by end users. Users will give corrective feedback
and Developers further refine the prototype. When the user is satisfied, the prototype code
is brought up to the standards needed for a final product.

When to use Structured Evolutionary Prototyping :


When Requirements are unstable or have to be clarified As the requirements clarification
stage of a waterfall model
Develop user interfaces Short-lived demonstrations
New, original development
With the analysis and design portions of object-oriented development.
5/11/2023 Unit One: System Development Fundamentals 28
Prototype Model
Structured Evolutionary Prototyping Structured Evolutionary Prototyping
Strengths : Weaknesses :
Customers can “see” the system Tendency to abandon structured program
requirements as they are being gathered development for “code-and-fix”
Developers learn from customers development
A more accurate end product Bad reputation for “quick-and-dirty”
methods
Unexpected requirements accommodated
Overall maintainability may be overlooked
Allows for flexible design and development
The customer may want the prototype
Steady, visible signs of progress produced delivered.
Interaction with the prototype stimulates Process may continue forever (scope creep)
awareness of additional needed functionality

5/11/2023 Unit One: System Development Fundamentals 29


Prototype Model

5/11/2023 Unit One: System Development Fundamentals 30


3. Spiral Model
The spiral model is a software development process combining elements of
both design and prototyping-in-stages, in an effort to combine advantages of top-down
and bottom-up concepts. Also known as the spiral lifecycle model (or spiral development),
it is a systems development method (SDM) used in information technology (IT). This
model of development combines the features of the prototyping and the waterfall model.
The spiral model is intended for large, expensive and complicated projects. The spiral
model combines the idea of iterative development (prototyping) with the systematic,
controlled aspects of the waterfall model. It allows for incremental releases of the product,
or incremental refinement through each time around the spiral.
The spiral model is based on continuous refinement of key products for requirements
definition and analysis, system and software design, and implementation (the code). At each
iteration around the cycle, the products are extensions of an earlier product. This model
uses many of the same phases as the waterfall model, in essentially the same order,
separated by planning, risk assessment, and the building of prototypes and simulations.

5/11/2023 Unit One: System Development Fundamentals 31


Spiral Model
Spiral Model Strengths : • Spiral may continue indefinitely
• Provides early indication of insurmountable risks, without much • Developers must be reassigned during non-development phase
cost activities
• Users see the system early because of rapid prototyping tools • May be hard to define objective, verifiable milestones that
indicate readiness to proceed through the next iteration
• Critical high-risk functions are developed first
• The design does not have to be perfect
When to use Spiral Model :
• Users can be closely tied to all lifecycle steps
• When creation of a prototype is appropriate
• Early and frequent feedback from users
• When costs and risk evaluation is important
• Cumulative costs assessed frequently
• For medium to high-risk projects
• Long-term project commitment unwise because of potential
Spiral Model Weaknesses : changes to economic priorities
• Time spent for evaluating risks too large for small or low-risk • Users are unsure of their needs
projects
• Requirements are complex
• Time spent planning, resetting objectives, doing risk analysis and
prototyping may be excessive • New product line
• The model is complex • Significant changes are expected (research and exploration)
• 5/11/2023
Risk assessment expertise is required Unit One: System Development Fundamentals 32
Spiral Model

5/11/2023 Unit One: System Development Fundamentals 33


System development life cycle (SDLC)
Preliminary
Study/Survey

Implementation
Investigation & Fact
Review &
Findings
Maintenance

System Design System Analysis

5/11/2023 Unit One: System Development Fundamentals 34


1. Preliminary study/survey
In this phase it is concerned or judged whether a new system should be
developed or not. Problems with the current system are identified in this phase as well
as the benefits & costs of an alternative system are identified. The projects will be
granted for development if the benefits seems to be more than the cost. The objectives
of this phase are
1. Define clearly the objectives scope and limitations of the project.
2. To determine the feasibility of automation of a particular system or area of
operation
3. Establish a good working relationship between the uses of the system and the
data processing department
4. Estimate the resources required for system development like running and
maintenance.
5. Involve users with the approach & method of work in system development.

5/11/2023 Unit One: System Development Fundamentals 35


In this phase system analyst mainly concerned with the following issues:-
1. Working of present system
2. Levels of staff their grades and duties
3. Statistics on the various type of transactions (work & overtime)
4. Time taken by the system to process the data & delay in issuing reports etc.
5. To collect all documents fills the report associated with the system.
6. To find out interfaces with other system at the beginning rough estimates are made of
following
• Desire output of the system
• A valuable output/input for the system
• Time required to compute the changes
• Feasibility of such changes.

5/11/2023 Unit One: System Development Fundamentals 36


2. Investigation and fact finding
In this phase the analyst should collect all the necessary data required for
investigation that meets the users need. Fact finding as much as more
about the present system. Methods used for this are.

a. Interviewing: - Interviewing provides the valuable information about


polices, procedures & situation. It gives information about objective,
allocation of duties and failure in the existing system.

5/11/2023 Unit One: System Development Fundamentals 37


Steps that should be considered for an interview are

▪Set a place for the interview


▪Whom to interview, when to interview and what questions to be asked should be
decided first
▪Avoid arguments, be a good listener
▪Ask questions Cleary
▪Evaluate the outcome of interview.

5/11/2023 Unit One: System Development Fundamentals 38


b. Questionnaire
It is not always feasible to interview all the people at different location.
Though it might not be as effective as direct Interview but it is used. For
this questions should be short, easy to understand, specific, unbiased and
non-threatening. Questionnaires may include
• Multiple Choice
• Open Ended
• Rating (Eg: Scale 1-10)
• Rank (Eg: First, Second, Third)

5/11/2023 Unit One: System Development Fundamentals 39


c. Site Observation
Site observation is used to recognize people, object and to obtain
occurrence information. It is very confirmed process for fact finding &
investigation. Using site observation following information can be
gathered
• Who run the system and who are the important people in it ?
• Knowledge or working of the system
• History of the system
While observing a system we have to be careful that if people know that
they have been observed they behave differently. They may try to impose
to analyst.

5/11/2023 Unit One: System Development Fundamentals 40


d. Sampling: Sampling is used where the volume of population is very large.
While selecting the sample data one should be careful that those samples
would represent the total picture.

e. Review of procedures and forms: Procedures manuals & forms describe


the format and functions of the present system. Up- to-date manuals or
documents save the time to gather information. So procedures manuals &
forms must be reviewed.

5/11/2023 Unit One: System Development Fundamentals 41


3. System Analysis
This is the phase when the development team collect all the necessary information
from users and others regarding the proposed system then analyse these information
in order to know and develop specific document requirements. Outcome of this
phase are:
• Goals & objectives of the proposed system.
• Input to be used & output to be produced.
• Fundamental action that is to be included in the software
• Performance requirement, organizational and other constraint to be met.

The system analysis can be done using different methodologies as per the convenience
of the analyst viz, flow chart, decision tables, decision trees, dataflow diagram & data
dictionary, the document represent the information and are used to communicate work
in progress.

5/11/2023 Unit One: System Development Fundamentals 42


System Analysis (Contd.)
In SDLC the goal of this phase to define user's need completely
and accurately in the requirement document which will become the input
for the next phase. The users will always expand his needs & demands so
system analyst has to spend a lot of time to meet this demand. In order to
specify the requirements to be listed in specification documents the system
analyst must clearly understand the system.
User specification determine the shape, form, strength, capability &
even the life of the product. The requirement must be detailed & complete
so that no misunderstanding can arise during the development cycle.

5/11/2023 Unit One: System Development Fundamentals 43


4. System Design
In system design first we design logic and then the physical construction of the
system. The structure and characteristics features like outputs, inputs, files database and
procedures are described in logical design. The physical construction follows the logical
design, produces actual program, software and a working system. The primary
objective of the system is to meet
i. Efficiency of the System
ii. Minimized Cost of the System
iii. Flexibility of System
iv. Security of System
In any office information system, following elements must be provided:
a. Data flow: The channel through which data will flow in an organization.

5/11/2023 Unit One: System Development Fundamentals 47


System Design (Contd.)
b. Data Stores: It is the way in which data will be stored temporarily and permanently.
c. Process: It is the way in which input data will be processed, various functions will
be executed and output will be produced.
d. Procedures: It is the direction given to use the system to achieve the desire result.
e. Controls: This is to ensure that the problems are detected and handled properly.
f. Roles: It is role in which each and every person connected with the system in respect
of input of data as well as distribution of output reports has to play in the system.

5/11/2023 Unit One: System Development Fundamentals 48


CASE Technology
Computer aided software engineering (CASE) is a tool which aids a software engineer
to maintain and develop software, much like a machine who uses the aid of his tools to
maintain/develop vehicles. More formally case can be defined as “Individual tools to
aid the software developer or project manager during one or more phases of software
development”. The basic idea behind CASE is to support each phase of the life cycle
with a set of labor saving tools. CASE tools supporting early phases of life cycle give
automated assistance in the form of automated diagram drawing, screen painting and
corrections checking. With the aid of CASE much of the life cycle phases can be
carried out considerably faster. Effective installation of CASE technology is a three
step process as:
1. Standardize the environment
2. Automate an individual component of a process
3. Integrate the various CASE tools

5/11/2023 Unit One: System Development Fundamentals 49


Prototyping
Prototyping means a creating of working model of a new computer system or program
for testing and refinement. Prototyping is used in the development of both new
hardware and software systems and new systems of information management.
Prototyping is an important component of Rapid Application Development (RAD). It
is the approach where systems are developed quickly without having undergone a
complete analysis and specification. The system that is developed is known as the
prototype. The process relies on the prototype system itself being an aid of the
specification – by consideration of the prototype and identification of its weaknesses
an improved system can be developed.

5/11/2023 Unit One: System Development Fundamentals 50


Traditional Vs RAD

5/11/2023 Unit One: System Development Fundamentals 51


P.I.E.C.E.S.
• PIECES is a framework developed by James Wetherbe and is used at the
initial stage in SDLC.
• P- Performance
• I- Information
• E- Economic
• C- Control
• E- Efficiency
• S- Service

5/11/2023 Unit One: System Development Fundamentals 52


5. System Testing
Testing is a process of executing a program with the intent of finding an error. Testing is
one of the most difficult tasks in system development which requires creativity,
determination and a thorough understanding of the system. Testing is primarily of two
types:
White Box Testing: White-box testing, also known as clear-box testing or structural
testing, is a software testing technique that examines the internal structure, design, and
implementation details of a system. In white-box testing, the tester has access to the
internal code, algorithms, data structures, and other implementation artifacts.
Key characteristics are: Knowledge of internal structure, Code-based test design,
Coverage metrics, Unit testing, code review (or peer review) etc.

5/11/2023 Unit One: System Development Fundamentals 53


Black Box Testing: Black-box testing is a software testing technique that
focuses on evaluating the functionality and behavior of a software system
without considering its internal implementation details. In black-box testing, the
tester has no knowledge of the system's internal code, algorithms, or structure.
Instead, they interact with the system based on its specifications and
requirements.
Key characteristics are: Lack of knowledge of internal structure, Requirement-
based test design, Input-output analysis, Equivalence partitioning, Exploratory
testing (Testers explore the system dynamically, executing tests based on their
understanding and exploration of the software) etc.

5/11/2023 Unit One: System Development Fundamentals 54


System Designing Tools
The collected and observed data are tabulated, analysed and interpreted using
various tools and techniques. The tools used for the analysis are Context
Diagram, DFD, E-R Diagram, System Flow Chart, Decision Table, Decision
Tree, Use Case, UML.
1. Data flow diagram:
• Data flow diagram (DFD) is a method to illustrate how data flows in a
system. DFD uses a number of symbols to represent systems. Most data
flow modelling methods use four kinds of symbols to represent four kinds
of system components: processes, data stores, data flows and external
entities.

5/11/2023 Unit One: System Development Fundamentals 55


Processes
• Processes show what systems do. Each
process has one or more data inputs and
produces one or more outputs. Processes are
represented by circles in DFD. Each process 1
has unique name and number which appears Compute
inside the circle that represents the process in price
a DFD.
Process

5/11/2023 Unit One: System Development Fundamentals 56


Files or Data stores
• Data store is the component of DFD
that describes the repositories of data in
a system. It contains data that is retained
in a system. Processes can enter data into
Customer Info
a data store or retrieve data from the
data store. Each data store is represented Data store
by thin line in the DFD and each data
store has a unique name.

5/11/2023 Unit One: System Development Fundamentals 57


External Entities
• External entities are the object outside the
scope of the system. External entities are
outside the system, but they either supply
CUSTOMERS
input data into the system or use the system
output. They are entities over which the
designer has no control. External Entity

5/11/2023 Unit One: System Development Fundamentals 58


Data Flows
Data flow models the passage of data in the system and are represented by
lines joining system components. The direction of the flow is indicated by
an arrow and the line is labeled by the name of the data flow. Flows of
data in the system between processes, data stores and external entities are
shown by data flows.

5 6
Get Record
price Unit price price

Data flow
5/11/2023 Unit One: System Development Fundamentals 59
DFD

5/11/2023 Unit One: System Development Fundamentals 60


Levels of DFD
• The DFD is leveled in different levels according to the application and logical
expressions of the system. Leveling is the process of expanding a process into more
detailed processes.
• Context diagram or level 0 is the first level of DFD which model the whole system
by one process. It shows all the external entities that interact with the system and the
data flows between these external entities and the system.
• Context diagram alone cannot describe the whole system in detail. For more details it
is necessary to identify the major system processes. Now the complex system is
expanded into different processes and processes are further elaborated into different
levels. Every system has DFD up to level 1 but the further leveling depends on the
complexity of the system.

5/11/2023 Unit One: System Development Fundamentals 61


DFD for Cheque Encashing
Cheque

Cash

Token

1
2
Check
Cashier
Verify A/C,
Customer Verify Token
Signature, Check with
& Take
Update token
Signature
Balance number
Enter in
Day book
Customer A/C
Store Cheque
File

5/11/2023 Unit One: System Development Fundamentals 62


DFD for order processing
Rejected note

1 Accepted 2
Check Item note Update
Vendor
Vendor Delivery Inventory
Delivery against order File
Note

Order File Item File

5/11/2023 Unit One: System Development Fundamentals 63


DFD for Issuing book in Library
Book Taken

Reject Card

Accept Book 2
1
Name Check
Check
Reader book &
Reader's reader's
Update
ID Card card
Register

Readers File Register File

5/11/2023 Unit One: System Development Fundamentals 64


DFD for returning book in Library
Return Card

Reject

1 2
Check Accept Update
Student
Book Book Student
with Card File

Student
Student's File
Record

5/11/2023 Unit One: System Development Fundamentals 65


Entity Relationship Diagram
E-R model is an important tool to understand the various aspects of the
database that we are designing. This model has simple concepts that can
pictorially describe a database design.

Name
Name
ID No Book ID

Readers Read Books

Subscriber Publisher
Occupation Author
5/11/2023 Entity
Unit Relationship
One: System DevelopmentDiagram
Fundamentals 66
Decision Tree
A decision tree is a diagram of a decision. It is read from left to right. The leftmost
node in a decision tree is called the root node. The branches coming to the right from a
decision node represent the set of decision alternatives that are available. One, and only
one, of these alternatives can be selected. The small circles in the tree are called chance
nodes. The number shown in parentheses on each branch of a chance node is the
probability that the outcome shown on that branch will occur at the chance node. The
right end of each path through the tree is called an endpoint, and each endpoint
represents the final outcome of following a path from the root node of the decision
tree to that endpoint.

5/11/2023 Unit One: System Development Fundamentals 67


Decision Tree (Contd.)

5/11/2023 Unit One: System Development Fundamentals 68


Decision Tree (Contd.)

5/11/2023 Unit One: System Development Fundamentals 69


Decision Table
Decision tables are ideal for describing situations in which a number of combinations
of actions are taken under varying sets of conditions. It is used to represent and
analyze complex logical relationships. Decision tables provide a useful way of viewing
and managing large sets of similar business rules. Decision tables are composed of
rows and columns. Each of the columns defines the conditions and actions of the
rules. We can look at decision tables as a list of causes (conditions) and effects (actions)
in a matrix, where each column represents a unique rule. The purpose is - as commonly
used - to structure the logic for a specific specification feature.

5/11/2023 Unit One: System Development Fundamentals 70


Decision Table (Contd.)

5/11/2023 Unit One: System Development Fundamentals 71


Decision Table
for Printer troubleshooter

5/11/2023 Unit One: System Development Fundamentals 72


System flowchart
A system flowchart is a concrete, physical model that documents, in an easily
visualized, graphical form, the system’s discrete physical components (its
programs, procedures, files, reports, screens, etc.). A system flowchart is a
valuable presentation aid because it shows how the system’s major components
fit together and interact. In effect, it serves as a system roadmap. During the
information gathering stage, a system flowchart is an excellent tool for
summarizing a great deal of technical information about the existing system. A
system flowchart can also be used to map a hardware system. On a system
flowchart, each component is represented by a symbol that visually suggests its
function. The symbols are linked by flowlines. A given flowline might represent
a data flow, a control flow, and/or a hardware interface.

5/11/2023 Unit One: System Development Fundamentals 73


System flowchart (Contd.)

5/11/2023 Unit One: System Development Fundamentals 74


Unified Modeling Language (UML)
The UML is an international industry standard graphical notation for describing
software analysis and designs. When a standardized notation is used, there is little room
for misinterpretation and ambiguity. Therefore, standardization provides for efficient
communication and leads to fewer errors caused by misunderstanding. The UML is a
unification and standardization of earlier modeling notations of Booch, Rumbaugh,
Jacobson, Mellor, Shlaer, Coad, and Wirf-Brock, among others. The UML most closely
reflects the combined work of Rumbaugh, Jacobson, and Booch – sometimes called
the three amigos. The UML has been accepted as a standard by the Object
Management Group (OMG). The OMG is a non-profit organization with about 700
members that sets standards for distributed object oriented computing.

5/11/2023 Unit One: System Development Fundamentals 75


UML Diagram types
(UML defines 9 graphical diagrams)
Static diagrams Dynamic diagrams Implementation
• Use case • Object diagrams
• Class • State • Component
• Activity • Deployment
• Collaboration
• Sequence

5/11/2023 Unit One: System Development Fundamentals 76


Use-case diagram
A use case illustrates a unit of functionality provided by the system. The main purpose
of the use-case diagram is to help development teams visualize the functional
requirements of a system, including the relationship of "actors" (human beings who
will interact with the system) to essential processes, as well as the relationships among
different use cases. Use-case diagrams generally show groups of use cases -- either all
use cases for the complete system, or a breakout of a particular group of use cases
with related functionality. To show a use case on a use-case diagram, draw an oval in
the middle of the diagram and put the name of the use case in the center of, or below,
the oval. To draw an actor (indicating a system user) on a use-case diagram, draw a stick
person to the left or right of your diagram. Use simple lines to depict relationships
between actors and use cases. A use-case diagram is typically used to communicate the
high-level functions of the system and the system's scope.

5/11/2023 Unit One: System Development Fundamentals 77


Use-case diagram (Contd.)

5/11/2023 Unit One: System Development Fundamentals 78


Implementation, Maintenance and Review
Implementation of system means putting up system on user’s site.
Implementation is concerned with user’s training, site preparations final
testing of the system. Various constraints like time, programmers
negligence, communication problems may create errors that must be
eliminated before the final acceptance. Testing is done to ensure that all
individual programs are working properly or not. In the project at this
stage the design of the system is tested, debugged and made operational.
This stage also provide confidence.

5/11/2023 Unit One: System Development Fundamentals 79


Implementation, Maintenance and Review (Contd.)
System Review: The main purpose of this is to set whether the system
has met the objective that was set for it or not. This is a team works
consisting members from user department, Internal audit and data
processing etc. System review also give performance of the system, view
of requests for changes, examination of documentation, control and
security procedures and arrangement.

5/11/2023 Unit One: System Development Fundamentals 80


Implementation, Maintenance and Review (Contd.)
Maintenance: The system requires periodic maintenance. Maintenance
can be for software and hardware. In account for changing conditions and
field experiences program must be corrected and updated time to time.
The changes due to maintenance in the original program may include
newly discover bugs, some time some changes and expansions required
new equipment.

5/11/2023 Unit One: System Development Fundamentals 81


System Security
The system needs to be protected from the unauthorized access and
malicious (cruel) alteration of data. Misuse of data and system can be
intentional or accidental. To protect the system we must take security
measures at several levels.
1. Physical: The location containing the system must be physically secured
against entry by intruders.

2. Human: Users must be authorized carefully to reduce the chance of


any such user giving access to an intruder in exchange for a favour.

5/11/2023 Unit One: System Development Fundamentals 82


3. System: Weakness in operating system security may serve as a means of
unauthorized access to the database. User access and authentication
controls, maintaining file and file system integrity make backups, log
keeping and auditing.

4. Network: Since almost all database system allow remote access through
terminals or networks, software-level security within the network software
is as important as physical security, both on the internet and in the
networks private to an enterprise.

5/11/2023 Unit One: System Development Fundamentals 83


Capability maturity model (CMM)
• CMM was developed by the Software
Engineering Institute (SEI) at Carnegie
Mellon University in 1987.
• It is not a software process model. It is a
framework which is used to analyse the
approach and techniques followed by
any organization to develop a software
product.
• It also provides guidelines to further
enhance the maturity of those software
products.
• It is based on profound feedback and
development practices adopted by the
most successful organizations
worldwide.

5/11/2023 Unit One: System Development Fundamentals 84


This model describes a strategy that should be followed by moving through 5 different
levels.
Level One :Initial - The software process is characterized as inconsistent, and
occasionally even chaotic. Defined processes and standard practices that exist are
abandoned during a crisis. Success of the organization majorly depends on an
individual effort, talent, and heroics. The heroes eventually move on to other
organizations taking their wealth of knowledge or lessons learnt with them.
Level Two: Repeatable - This level of Software Development Organization has a
basic and consistent project management processes to track cost, schedule, and
functionality. The process is in place to repeat the earlier successes on projects with
similar applications. Program management is a key characteristic of a level two
organization.
5/11/2023 Unit One: System Development Fundamentals 85
Level Three: Defined - The software process for both management and engineering
activities are documented, standardized, and integrated into a standard software process
for the entire organization and all projects across the organization use an approved,
tailored version of the organization's standard software process for developing, testing
and maintaining the application.
Level Four: Managed - Management can effectively control the software
development effort using precise measurements. At this level, organization set a
quantitative quality goal for both software process and software maintenance. At this
maturity level, the performance of processes is controlled using statistical and other
quantitative techniques, and is quantitatively predictable.
Level Five: Optimizing - The Key characteristic of this level is focusing on
continually improving process performance through both incremental and innovative
technological improvements. At this level, changes to the process are to improve the
process performance and at the same time maintaining statistical probability to achieve
the established quantitative process-improvement
5/11/2023
objectives.
Unit One: System Development Fundamentals 86
CASE Tools
• Computer-Aided Software Engineering
• Software tools providing automated support for systems development
• Project dictionary/workbook: system description and specifications
• Diagramming tools
• Example products: Oracle Designer, Rational Rose

5/11/2023 Unit One: System Development Fundamentals 87


Rapid Application Development (RAD)
• Methodology to
decrease design and
implementation time
• Involves:
prototyping, JAD,
CASE tools, and
code generators

5/11/2023 Unit One: System Development Fundamentals 88


Service-Oriented Architecture
• Service-Oriented Architecture (SOA) is a style of software design where
services are provided to the other components by application
components, through a communication protocol over a network.
• SOA (Service Oriented Architecture) is built on computer engineering
approaches that offer an architectural advancement towards enterprise
system. It describes a standard method for requesting services from
distributed components and after that the results or outcome is managed.
The primary focus of this service oriented approach is on the
characteristics of service interface and predictable service behavior.

5/11/2023 Unit One: System Development Fundamentals 89


Service-Oriented Architecture
Services - The services are the logical entities
defined by one or more published interfaces.
Service provider - It is a software entity that
implements a service specification.
Service consumer - It can be called as a
requestor or client that calls a service provider.
A service consumer can be another service or
an end-user application.
Service locator - It is a service provider that
acts as a registry. It is responsible for
examining service provider interfaces and
service locations.
Service broker - It is a service provider that
pass service requests to one or more additional
service providers.

5/11/2023 Unit One: System Development Fundamentals 90


Benefits of Service-Oriented Architecture
(SOA)
With high-tech engineering and enterprise point of view, various offers are provided by
SOA which proved to be beneficial. These are:
• Language Neutral Integration: Regardless of the developing language used, the
system offers and invoke services through a common mechanism. Programming
language neutralization is one of the key benefits of SOA's integration approach.
• Component Reuse: Once an organization built an application component, and
offered it as a service, the rest of the organization can utilize that service.
• Organizational Agility: SOA defines building blocks of capabilities provided by
software and it offers some service(s) that meet some organizational requirement;
which can be recombined and integrated rapidly.
• Leveraging Existing System: This is one of the major use of SOA which is to classify
elements or functions of existing applications and make them available to the
organizations or enterprise.

5/11/2023 Unit One: System Development Fundamentals 91


Agile Methodologies
• Motivated by recognition of
software development as fluid,
unpredictable, and dynamic.
• Three key principles
• Adaptive rather than predictive.
• Emphasize people rather than roles.
• Self-adaptive processes.

5/11/2023 Unit One: System Development Fundamentals 92


eXtreme Programming
• Short, incremental development cycles.
• Automated tests.
• Two-person programming teams.
• Coding and testing operate together.
• Advantages:
• Communication between developers.
• High level of productivity.
• High-quality code.

5/11/2023 Unit One: System Development Fundamentals 93


Object- Oriented Analysis and Design
• Based on objects rather than data or processes.
• Object: a structure encapsulating attributes and behaviors of a real-
world entity.
• Object class: a logical grouping of objects sharing the same attributes
and behaviors.
• Inheritance: hierarchical arrangement of classes enable subclasses to
inherit properties of superclasses.

5/11/2023 Unit One: System Development Fundamentals 94


Rational Unified Process (RUP)
• An object-oriented
systems development
methodology.
• RUP establishes four
phase of development:
inception, elaboration,
construction, and
transition.
• Each phase is organized
into a number of
separate iterations.

5/11/2023 Unit One: System Development Fundamentals 95


The Origins of Software Introduction
• Computer scientist Tom Kilburn is responsible for writing the world’s very
first piece of software, which was run at 11 a.m. on June 21, 1948, at the
University of Manchester in England. Kilburn and his colleague Freddie
Williams had built one of the earliest computers, the Manchester Small-Scale
Experimental Machine (also known as the “Baby”). The SSEM was
programmed to perform mathematical calculations using machine code
instructions. This first piece of software took “only” 52 minutes to correctly
compute the greatest divisor of 2 to the power of 18 (262,144).
• For decades after this groundbreaking event, computers were programmed
with punch cards in which holes denoted specific machine code instructions.
Fortran, one of the very first higher-level programming languages, was
originally published in 1957. The next year, statistician John Tukey coined the
word “software” in an article about computer programming. Other pioneering
programming languages like Cobol, BASIC, Pascal and C arrived over the next
two decades.

5/11/2023 Unit One: System Development Fundamentals 96


System Acquisition
• An acquisition strategy is a top-level roadmap that focuses on highlighting and
managing risks to a successful outcome. Business requirements for supporting
work processes require integration across multiple systems, spanning multiple
business or organizational units
• Systems acquisition has historically focused on purchasing or outsourcing the
development of a system that operated in a stand-alone fashion or had few
interactions with other systems. The acquisition process typically concentrated
first on the functionality required and then on monitoring development and
reviewing products to ensure the required functionality was provided.
• These days, an increasing number of acquisitions are focused on systems that
are intended to function as components within a larger system-of-systems
(SoS) context.

5/11/2023 Unit One: System Development Fundamentals 97


Evolution of IS development
• From “art” to a “discipline”: In the early days of computing it was
considered an art that a very few people could master
• Standardized development methods: The techniques used to build an IS
varies greatly from individual to individual. It was very difficult to
integrate and maintain. To address this problem, info. Sys. professionals
decided to use a disciplined approach of introducing common methods,
techniques, and tools for building information systems
• Software engineering: This evolution led to the use of the term software
engineering to define what system analyst & programmer do.

5/11/2023 Unit One: System Development Fundamentals 98


Software reuse
• “software reuse” refers to a situation in which some software is used in more
than one project.
• Software reuse has several different meanings in the software engineering
community.
• a high-level software manager might view software reuse as a technique for
improving the overall productivity and quality of his or her organization.
• Developers who use reusable code written by others probably view software
reuse as the efficient use of a collection of available assets.
• Reusability is widely believed to be a key to improving software development
productivity and quality. By reusing high quality software components,
software developers can simplify the product and make it more reliable.

5/11/2023 Unit One: System Development Fundamentals 99


Managing the Information Systems Project
• For Managing the Information Systems Project, Focus of project
management
• To ensure that information system projects meet customer expectations
• Delivered in a timely manner
• Meet time constraints and requirements

5/11/2023 Unit One: System Development Fundamentals 100


Representing and Scheduling Projects Plans.
• A project schedule is a strategic and an important tool in a project manager's portfolio for
guiding a project successfully to its target completion date. For simple projects, a project
schedule is basically a timeline or calendar which lists tasks and activities with expected
start and finish dates. For more complex projects, a project schedule can be layered with
different details to enable project managers to direct and manage resources more
smoothly, communicate more frequently and effectively with stakeholders, and identify
and monitor dependencies and constraints between tasks to avert preventable delays. The
project schedule can be expressed in several display forms depending upon the purpose
of the schedule, the stage of the development of the project, and the primary user of the
schedule.
• The most common display options for presenting a project schedule are the summary
table, Gantt chart, and network diagram. A summary table in its most basic form is an
action list of the tasks and completion dates. A Gantt chart is the most common form for
representing a project schedule.
• The three most common types of project schedules are the master project schedule, the
milestone schedule, and the detailed schedule.
5/11/2023 Unit One: System Development Fundamentals 101
• Source:
https://www.pmi.org/learning/library/proje
5/11/2023 Unit One: System Development Fundamentals ct-managing-sdlc-8232 102
Projects Management Software
• Project management software helps project managers (PMs) and teams
collaborate and meet goals on time while managing resources and cost.
Functions may include task distribution, time tracking, budgeting, resource
planning, team collaboration, and many more.
• People also refer to project management software as Task Management
Software or Project Portfolio Management (PPM).
• Project management software covers a range of platforms, each with a slightly
different mix of functionality. It’s crucial that the vendor you select makes
your projects easier to manage and doesn’t add unneeded complexity. The
transition should be as smooth as possible.
• The three major pillars of project management are planning, tracking, and
collaboration.
5/11/2023 Unit One: System Development Fundamentals 103
Gantt Chart

5/11/2023 Unit One: System Development Fundamentals 104


Thank You!

5/11/2023 Unit One: System Development Fundamentals 105

You might also like