Software Application Development
Software Application Development
Software Application Development
1
Outline
• What is system?
• System Components
• What is System Analysis and Design
• System Development Life Cycle (SDLC)
• Systems Planning and Selection
❑Identifying and selecting Systems Development project
❑Initiating and Planning Systems Development project
❑Structuring System Process Requirements
❑Structuring system Logic Requirements
System
➢ The word System is derived from Greek word Systema,
which means an organized relationship between any set
of components to achieve some common goal or
objective.
➢ A system is “an orderly grouping of interdependent
components linked together according to a plan to achieve a
specific goal.”
➢ It is collection of elements or components that organized for
common purpose to accomplish overall tasks or goal or
multiple tasks. e.g. computer system ,trafficmanagement
system, payroll system, automatic library system,…… human
body system?. 3
Constraints of a System
❖ A system must have three basic constraints:
system components.
4
Properties of a System
1.Organization: It implies structure and order. It is
the arrangement of components that helps to achieve
predetermined objectives.
2.Interaction: It is defined by the manner in which the
components operate with each other.
✓E.g., in an organization, purchasing department must
interact with production department and payroll with
personnel department.
3. Interdependence: It means how the components of a
system depend on one another.
✓ For proper functioning, the components are coordinated and linked
together according to a specified plan. The output of one subsystem
is the required by other subsystem as input. 5
Cont….
4. Integration
✓ It means integration is concerned with how a system
components are connected together.
✓ All parts of the system work together even if each part
performs a unique function, like our body.
5. Central Objective (may be real or stated)
✓ The objective of system must be central.
✓ The users must know the main objective of a
computer application early in the analysis for a
successful design and conversion.
5
Elements of a System
The following diagram shows the elements of a system
5
Cont…
1. Outputs and Inputs: The main aim of a system is to
produce an output which is useful for its user.
✓ Inputs are the information that enters into the system for
processing.
✓ Output is the outcome of processing.
2. Processor(s): The processor is the element of a system that
involves the actual transformation of input into output.
✓ It is the operational component of a system.
✓ Processors may modify the input either totally or partially,
depending on the output specification.
5
Cntd…
3. Control: The control element guides the system.
➢ The behavior of a computer system is controlled by the
operating system and software.
4. Feedback: Feedback provides the control in a dynamic
system.
➢ Positive feedback is routine in nature that encourages
the performance of the system.
➢ Negative feedback is informational in nature that
provides the controller with information for action.
5
Cntd…
5.Environment:
➢ it is the “supersystem” within which an organization
operates.
➢ It determines how a system must function.
➢ It is the source of external elements that strike on the
system.
6.Boundaries and Interface:
➢ 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. 5
Types of Systems
The systems can be divided into the following types
a. Physical or Abstract Systems
II. Non Adaptive System: is the system which does not respond to the
environment. E.g. machines 5
Cont…
D. Permanent or Temporary System
I.Permanent System: it persists for long time.
e.g. Business Policies, Solar system..
II.Temporary System: it is made for specified time and
after that they are demolished.
E. Natural and Manufactured System
➢ Manufactured System is the man made system.
For example, Rockets, dams, trains. …
➢ Natural systems are created by the nature.
For example, Solar system, seasonal system. 5
Reading Assignment1
F. Deterministic or Probabilistic System
➢ Deterministic system operates in a predictable manner and the interaction between
system components is known with certainty. For example, two molecules of
hydrogen and one molecule of oxygen makes water.
➢ Probabilistic System shows uncertain behavior. The exact output is not known. For
example, Weather forecasting, mail delivery.
G. Social, Human-Machine, Machine System
I. Social System is made up of people. E,g., social clubs, societies.
II.In Human-Machine System, both human and machines are involved to perform a
particular task. E,g., Computer programming.
III.Machine System is where human interference is neglected. All the tasks are performed by
the machine. E.g., an autonomous robot.
5
Reading Assignment2
IV. Man–Made Information Systems
➢ It is an interconnected set of information resources to manage data for particular
organization, under Direct Management Control (DMC).
➢ This system includes hardware, software, communication, data, and application
for producing information according to the need of an organization.
Man-made information systems are divided into three types:
1. Formal Information System: It is based on the flow of information in the form of
memos, instructions, etc., from top level to lower levels of management.
2. Informal Information System: This is employee based system which solves the
day to day work related problems
3. Computer Based System: This system is directly dependent on the computer for
managing business applications. E,g., automatic library system.
5
System Development Life Cycle ( SDLC)
➢ In informatics(IT ,CS ,SE ) , SDLC, also referred to as
application development life-cycle.
➢ It is methodology for developing software product.
➢SDLC is a conceptual model which includes
policies and procedures for developing or altering
systems throughout their life cycles.
➢A systematic approach which explicitly breaks down the
work/Activities into phases that are required to implement
either new or modified IS.
17
Cont…
❑ SDLC methodologies provide a systematic
framework to design, develop and deliver software
applications from beginning to end.
❑ An effective SDLC should result in a high quality
system that meets customer expectations, and
reaches completion of project on time and on
budget.
❑ It includes analysis, designing, developing, testing
and deploying with ongoing maintenance to create
and manage applications efficiently.
18
Phases of SDLC
18
1. System Analysis
❑It is the process of defining, analyzing , interpreting ,
refining, examining, documenting, validating and managing
gathered requirements to make consistent and
unambiguous requirements.
❑Analysis specifies what the system should do.
❑It is a problem solving technique that improves the system
and ensures that all the components of the system work
efficiently.
❑ Gather, analyze, and validate the information.
❑ Define ,Evaluate and prioritize the requirements.
❑ Conducted for studying the purpose of a system or in
order to identify its objectives.
Cont…
❑ Define the problem and scope of existing system.
❑ Overview the new system and determine its objectives/ scope.
❑ This phase involves the creation of a project charter that defines
technical and functional requirements.
❑ Details such as cost, functionality, and performance of the
software.
❑ During this phase, threats, constraints, opportunities, risks,
integration and security of system are also considered.
❑ Confirm project feasibility and produce the project schedule.
❑ A feasibility report for the entire project is created at the end of
this phase.
❑ A software Requirement Specification (SRS) document is
prepared at the end of this phase.
2.System Design
❑ In this phase, the entire product’s best design architecture
of the project is designed by designers based on SRS.
➢ Transform the SRS document into logical structure,
which contains detailed and complete set of
specifications that can be implemented in a programming
language.
➢ System Design focuses on how to accomplish the
objective of the system.
➢ Includes the design of application, network, databases,
user interfaces, and system interfaces.
➢ Review the proposed design with SRS document.
➢ Finally, prepare a design document as output and used
during next phases.
.
3.Implementation
❑Implement the design into source code.
❑The longest phase in the software development cycle,
where the actual product development begins.
❑Coding of the software is done in this stage based on the
design document specification(SDD).
12
4.Testing and Integration
❑Testing involves in almost every phase in the modern
SDCL methodologies.
❑Combine all the modules together into training
environment that detects errors and defects(integration testing).
❑A test report which contains errors is prepared through test
plan that includes test related tasks such as test case
generation, testing criteria, & resource allocation for
testing.
❑Integrate the IS into its environment and install the new
system.
❑Testing includes like system testing, acceptance testing,
unit testing, integration testing…
5 Deployment phase
❑It is the final phase of the SDLC and puts the product into
production.
❑In this activity, a complete or non-complete products or
software is delivered to customers/users.
❑On the basis of their feedback may be modify the products
to encourage the quality of product.
❑Deployment is a process that involves making software
available for use.
❑Since every software has its own unique features and
functions, the process should be customized according to
the requirements of the users.
12
6. Maintenance / Support User
➢ In this phase, issues experienced by end-users are resolved
systematically.
➢ Include all the activities such as phone support or
physical on-site support for users that is required once the
system is installing.
➢ Implement maintenance changes, based on the feedback
and user experience report, or implement any new
requirements after the software is deployed.
➢ It also includes handling the residual errors and resolve
any issues that may exist in the system even after the
testing phase.
12
System Analysis and Design (SAD)- Overview
❑ Systems development is systematic process which includes phases
such as:
❖ planning,
❖ analysis,
❖ design,
❖ deployment, and
❖ maintenance.
❑ We will primarily focus on
✓ Systems analysis
✓ Systems design
7
Life Cycle of System Analysis and Design
➢ The following diagram shows the complete life cycle of the system during
analysis and design phase overview.
1
2
What is Information System Analysis & Design?
28
Cntd…
➢ Methodologies: are sequences of step by step approaches
that helps t o develop IS .eg Framework
➢ Techniques: A system analyst or project team will follow to
complete project works.
➢ Tools: are computer programs, such as Computer Aided
Software Engineering (CASE) tools, that make it easy to use
specific techniques.
29
Information System(IS)
➢ “Information systems are combinations of hardware,
software, and telecommunications networks that people
build and use to collect, create, and distribute useful data,
typically in organizational settings.”
➢ “IS are interrelated components working together to collect,
process, store, and disseminate information to support
decision making, coordination, control, analysis, and
visualization in organization.”
❑ Example is the transaction processing system used in all banks.
❑It is related to how technology is used to fulfil the needs of-
individuals, groups or organizations.
30
Contt…
➢ An integrated set of components uses for collecting,
storing and processing data based on the provided
information, known as information system.
➢ The analysis and design of IS are based on:
▪ Your understanding of the organizations goal ,objective,
structure and process.
▪ Your knowledge of how to exploit information
technology for advantage.
Components of information System
➢ Components of system are parts of system.
Components of information systems:
➢ An information system is essentially made up of six components.
1. Hardware consists of input/output device, processor, etc.
2. Software consists of various programs and procedures.
3. Database consists of data organized in the required structure.
4. Network consists of hubs, communication media and network
devices.
5. People consist of device operators,network administrators and
system specialist.
6. Process :A series of steps undertaken to achieve a desired goal in IS.
5
Types of Information System
➢ IS distinguished from each other on the basis of what the
system does or by the technology used to construct the
system.
➢ Four classes of information system are:-
1. Transaction Processing System.
2.Management Information System (Business support
system).
3.Decision Support System (for individuals, groups, and
executives).
4.Expert Systems (Knowledge management System).
33
Types of Information System
1.Transaction Processing System(TPS) /Operations support systems.
➢ TPS used to record day to day business transactions of the
organization.
➢ It automates the handling of data about business activities or
transaction.
➢ Such type of IS mainly supports a specific type of
operation in a business. E.g.,
✓ Banks TPS - withdrawals from and deposits customers
transaction.
✓ Point of Sale Systems – records daily sales
✓ Payroll systems – processing employees salary…
✓ Stock Control systems – keeping track of inventory levels
✓ Airline booking systems – flights booking management 34
Contt…
35
Cntd…
2. Management Information System(MIS) (Business Support Systems)
➢ MIS are used by tactical managers to monitor the
organization’s current performance status.
➢ It takes the raw data available through a TPS and converts
them into a meaning full aggregated form, usually in a
report format for the manager.
➢ The output from a TPS is used as input to MIS to produce
reports, that managers use to monitor, control and predict
future performance.
E.g., Point of sale system keeps track of sales, whereas a MIS
identify which items are selling slowly and which are selling
quickly(Sales management systems).This information can be
used to make future inventory orders.
Cntd…
3. Decision Support System(DSS): It is designed to help decision
makers with decisions.
➢ Analyses business data and other info related to the enterprise, to offer
automation in decision-making or problem-solving activities.
➢ Whereas, an MIS produces a report, a DSS provide decision-making
for decision makers.
➢ A DSS has three parts:
▪ The first part is composed of a database (may be extracted from TPS
or MIS).
▪ The second part consists of mathematical or graphical models
of business process.
▪ The third part is made up of a user interface that provides a way for
decision maker to communicate with DSS.
➢ DSS software supports certain decision making activities. 37
Cntd…
4. Expert System (Knowledge Management System)
➢ A computer program that simulates the judgment of a
human expert is known as an expert system.
➢ It process knowledge represented in the form of rules and
use representational reasoning in specific domain .
➢ It uses its knowledge about a specify area to act as an
expert consultant to users and it can offer reliable
solutions for decision-making.
➢ The ES asks question (which an expert would ask) and the
user supplies the answers.
➢ The answers are then used to determine which rules apply, and the
ES provides a recommendation based on the rules. 38
Cntd…
➢ Requests for IS development can come from three key
sources:-
A. Managers and business units who want to replace or extend an
existing system in order to gain needed information or to provide a
new service to customers.
12
Attributes of a Systems Analyst
➢ The following figure shows the attributes a systems analyst should possess
12
Cntd…
Interpersonal Skills
➢ Interface with users and programmer.
➢ Facilitate groups and lead smaller teams.
➢ Managing expectations.
➢ Good understanding, communication, selling and teaching abilities.
➢ Motivator having the confidence to solve queries.
Analytical Skills
➢ Problem identification, problem analysis, and problem solving
➢ Sound common sense
➢ Ability to access trade-off
12
Cntd …
Management Skills
➢ Understand users jargon and practices.
➢ Resource & project management.
➢ Change & risk management.
➢ Understand the management functions thoroughly.
Technical Skills
➢ Knowledge of computers and software.
➢ Keep abreast of modern development.
➢ Know of system design tools.
12
Three parts of system analysis:
A. Determining requirements,
B. Structuring requirements, and
C. Selecting the best alternative design strategy.
In constructing a decision tables, may follow a set of basic procedures /rules , which
define the relationships between combinations of conditions and courses of action.
III. Conceptual Data Modeling
➢ Data modeling is the process of creating a data model for the
data to be stored in a database.
➢ A Conceptual Data Model is an organized view of database
concepts and their relationships.
➢ The purpose is, to show as many rules about meaning and
interrelationships among data.
➢ The more details (or what some systems analysts call business rule)
about data.
➢ The goal of conceptual data model is to capture meaning of data.
➢ The main goal of conceptual data modeling is to create accurate E-R
diagrams.
➢ E-R data models are commonly used diagrams that show how data are
organized in IS (DBMS).
Entity-Relationship (E-R) Modeling
➢ It's like a "blueprint" to your data, provide a simple view of
data.
➢ It is a high-level data model and used to define data elements
and relationship for a specified system.
➢ E-R diagram is a detailed logical and graphical
representation of entities, associations, and data elements
for an organization or business area.
➢ The basic entity-relationship modeling notation uses three
main constructs: data entities, relationships, and their
associated attributes.
Component of ER Diagram
❑ Entities: Any real-world object such as a person,
place, event or concept. Represented by rectangles
in ER diagram .Some examples of entity are:
➢ Person: employee, student, patient
➢ Place: state, region country, branch
➢ Object: machine, building, automobile, product
➢ Event: sale, registration, renewal
➢ Concept: account, course, work center
❑ Attributes: Property or characteristics of an entity a n d represented by ellipse.
Following are some typical entity types and associated attributes:
➢ STUDENT: Student_ID, Student_Name, Address, Phone_Number
Cntd…
➢ Identifiers: A candidate key that has been selected as unique,
identifying characteristics for an entity type. E,g. Student_ID and
underline inside the ellipse.
➢ Multivalued attribute: An attribute can have more than one value.
These attributes are known as a multivalued attribute. Double oval is
used to represent multivalued attribute. For example, a student can
have more than one phone number.
❑A relationship is used to describe the relation between entities.
Represented by Diamond shape with verb phrase.
Cntd…
Degree of a Relationship: is number of entity types that participate in that
relationship.
➢ The three most common degree of relationships in E-R diagrams are unary
(degree one), binary (degree two), and ternary (degree three).
➢ Unary Relationship: Also called a recursive relationship; It is a relationship
between the instances of one entity type.
➢ Binary Relationship: Relationship between instances of two entity types and
the most common type of relationship encountered in data modeling.
78
Overview of Structural Paradigm
Development Methodologies
➢ A popular traditional method is called structured analysis
➢ But a newer strategy called object-oriented analysis and design is
also used widely. Each method offers many variations.
➢ Some organizations also develop their own approaches.
Structured Analysis
➢ It is easy to understand. Because it describes the process that
transforms data into useful information, structured analysis is
called a process – centered technique.
➢ In addition to modeling the process, includes data organization and
structure, relational database design, and user interface issues.
➢ It uses a series of phases, called SDLC, to plan, analyze, design,
implement and support an information system.
Cont….
Object – Oriented Analysis
➢ Structured analysis concerns process and data as separate components,
O-O analysis combines data and process into things called Objects.
➢ The analysis uses O-O methods to model real world business
process and operations.
➢ The result is a set of software objects that represent actual people,
things, transactions, events…
Other Development Strategies
➢ In addition to above two methodologies, there may other system
development techniques created by individual companies.
➢ E.g., Microsoft has developed an approach called Microsoft Solutions Framework.
Structural vs Object oriented
Cont….
Used to develop traditional projects Used to develop OO projects that
that uses procedural programming. depends on OO programming.
The main focus is on the process and The main focus is on data structure and
procedures real-world objects.
Focus on Process, Data Focus on objects
High risk Low risk
Low Reusability High Reusability
Suitable for small to medium projects Suitable for large /complex systems.
67
Cont…
It works with Top-down approach. It works with Bottom-up approach.
This technique is old and is not This technique is new and is mostly
preferred usually. preferred.
68
End of chapter
one Any
Question?