Lecture 1.ppt

Download Report

Transcript Lecture 1.ppt

Course Introduction
COMSATS Islamabad
Enterprise
Systems
Development
( CSC447)
Muhammad Usman, Assistant Professor
CIIT
Instructor’s Introduction
• Muhammad Usman
• Education
– PhD Software Engineering (In Progress)
– MS Computer Science
– MSc Computer Science
• Research
– Research Area: Requirements Engineering, Software
Architecture, Global Software Development
– 15 + publications in Renowned International Conferences
organized by IEEE, IASTED, ICSEA etc.
Instructor’s Experience
• Consultant, Eycon Solutions
– 2005-2006
• Lecturer CS, Mohammad Ali Jinnah University
– 2006-2007
• Assistant Professor SE, International Islamic University
– 2007 till date
Course Objectives
• The course will tell what enterprise systems
are, and how they are developed.
• It will make students understand the
principles, techniques and tools that are
required to develop enterprise systems.
Course Contents
• Introduction to Enterprise Systems
• Software Systems and their Development Lifecycle
• Requirements Engineering
• Software Architecture
• Software Quality
• Component Based Software Development
Course Contents
• Service Oriented Architecture (SOA)
• Data Model : Design of large databases
• User Interface Design: Principles and Patterns
• RAD tools
• Case Study and Examples
Lecture 1
Introduction to Enterprise
Systems
Key Terms
• We begin with definition of some basic
concepts
– Information Technology
– Business Process
– Information Systems
– Organization
– Integration
– Enterprise Systems
Information Technology
• computers (maybe…)
• hardware versus software
• resources:
– computer hardware, software, networks,
databases
Business Process
• a specific ordering of work activities across time and place,
with a beginning, an end, and clearly identified inputs and
outputs.
Davenport, 1993
• Manner in which work is organized, coordinated, and focused
to produce a valuable product or service
• Concrete work flows of material, information, and
knowledge—sets of activities
• Sequence, purpose, interaction
Business Process Examples
• Manufacturing and production: Assembling product, checking
quality, producing bills of materials
• Sales and marketing: Identifying customers, creating customer
awareness, selling
• Finance and accounting: Paying creditors, creating financial
statements, managing cash accounts
• Human Resources: Hiring employees, evaluating performance,
enrolling employees in benefits plans
Business Process Examples
Cross-Functional Business Processes
• Transcend boundary between sales, marketing,
manufacturing, and research and development
• Group employees from different functional
specialties to a complete piece of work
Example: Order Fulfillment Process
Business Process Examples
The Order Fulfillment Process
Information System
An information system is a unique
configuration of IT resources and
organizational processes whereby the
IT resources (and the information they
provide) are applied to support specific
organizational processes.
processes
INFORMATION
SYSTEMS
IT resources
Organization
• people
• process
• structure
– coordination and control mechanisms
• organization and environment
– stakeholders, competitors, other influences
Organization & Environment
investors
regulators
suppliers
INPUTS
partners
customers
OUTPUTS
information systems in
organizations
investors
regulators
suppliers
INPUTS
partners
customers
OUTPUTS
information
systems
IT resources
KEY SYSTEM APPLICATIONS IN THE
ORGANIZATION
Types of Information Systems
MAJOR TYPES OF SYSTEMS IN ORGANIZATIONS
• Executive Support Systems (ESS)
• Decision Support Systems (DSS)
• Management Information Systems (MIS)
• Office Systems
• Transaction Processing Systems (TPS)
MAJOR TYPES OF SYSTEMS IN ORGANIZATIONS
INTERRELATIONSHIPS AMONG SYSTEMS
Traditional View of the Systems
• Within the business: There are functions, each
having its uses of information systems
• Outside the organization’s boundaries: There
are customers and vendors
Functions tend to work in isolation
Traditional View of the Systems
Integration
•
•
•
•
making whole or complete
overcoming isolation of information systems
enterprise resource planning (ERP) systems
enterprise systems
– technical and organizational solution
Enterprise Systems
Enterprise Systems
• Enterprise systems (ES) are large-scale
application software packages that support
business processes, information flows,
reporting, and data analytics in complex
organizations.
• ES are generally packaged enterprise
application software (PEAS) systems they can
also be bespoke, custom developed systems
created to support a specific organisation's
needs
Enterprise Systems
• Examples are:
– Supply chain management systems
– Customer relationship management systems
– ERP
Example : Enterprise Resource Planning
(ERP) Systems
• Enterprise Resource Planning Systems are the first
generation of enterprise systems meant to integrate
data and support all the major functions of
organizations.
• ERP systems integrate various functional aspects of
the organization as well as systems within the
organization of its partners and suppliers.
• The goal of an ERP system is to make the
information flow dynamic and immediate, therefore,
increasing its usefulness and value.
29
Integrated Systems - ERP
30
Enterprise Resource Planning (ERP) Systems
(Cont’d)
• Another goal of ERP is to integrate departments and functions
across an organization into a single infrastructure that serves
the needs of each department.
• ERP systems replace an assortment of systems that typically
existed in organizations. (Accounting, HR, Materials Planning,
Transaction Processing, etc.).
• ERP solves the critical problem of integrating information
from different sources and makes it available in real-time.
31
Evolution of ERP
Timeline
System
Platform
1960s
Inventory Management
& Control
Mainframe legacy systems using third
generation software-(Cobol, Fortran)
1970s
Materials Requirements Mainframe legacy systems using third
Planning (MRP)
generation software-(Cobol, Fortran)
1980s
Materials Requirements Mainframe legacy systems using fourth
Planning (MRP-II)
generation database software and
manufacturing applications.
1990s
Enterprise Resource
Planning
Mainframe client-server systems using fourth
generation database software and package
software.
2000s
Extended ERP or ERPII
Client-server systems using Web platform,
open source with integration to fifth generation
applications like SCM, CRM, SFA.
32
Business Processes and ERP
• A crucial role of ERP in business is to better position the
organization to change its business processes.
• ERP software have hundreds of business processes built into
the logic of the system which may or may not agree with
current processes of an organization.
• When implementing an ERP system, organizations have two
choices:
– Change business processes to match the software
functionality.
– Modify the ERP software to match the business processes.
33
ERP Systems Components
• An ERP system consists of:
Hardware
Servers and peripherals
Software
Operating systems and database
Information
Organizational data from internal and
external sources
Process
Business processes, procedures, and
policies
People
End users and IT staff
34
ERP Components
35
ERP Components Integration
36
ERP Architecture
• The architecture of an ERP system influences the
cost, maintenance, and the use of the system.
• A flexible architecture is best – it allows for
scalability as needs change and grow.
• A system’s architecture is a blueprint of the actual
ERP system and helps the implementation team
build the ERP system.
• If purchased, ERP architecture is often driven by the
vendor but other IT architectures are driven by
organizational strategy and business processes.
37
Example of Architecture of ERP at
Large University
38
Logical Architecture of an ERP
System
39
Tiered Architecture Example of
ERP System
40
Characteristics of Enterprise Systems
• They are some of the most complex systems in
use today
• They are typically
– N-tier systems made up of clients, an application
layer, and a data layer
– Many are now employing a service-oriented
architecture
• SaaS, PaaS, SOA, Web services
Why Enterprise Systems
• IT departments in every organization continue to be
challenged on too many fronts:
– Cost pressures
– Data growth
– Security and privacy breaches
• In this environment, transforming the management of critical
information and processes is vital to generating new business
value, delivering new client services and capturing new
markets.
• To deliver this transformation, forward-thinking businesses
rely on ENTERPRISE SYSTEMS
Benefits of Enterprise Systems
• Firm structure and organization: One
organization
• Management: Firm-wide knowledge-based
management processes
• Technology: Unified platform
• Business: More efficient operations and
customer-driven business processes
Challenges of Enterprise Systems
• Difficult to build: Require fundamental changes
in the way the business operates
• Technology: Require complex pieces of software
and large investments of time, money, and
expertise
• Centralized organizational coordination and
decision making: Not the best way for the firms
to operate
Systems Development
• After having an introduction of Enterprise
Systems, we now move towards introduction
of Systems Development
• System Development
– We start with commonly held myths in software
development
– Difference between small programs and large
systems
Software Myths
Customer Perspectives
– general statement of objectives is sufficient to get started with the
development of software. Missing/vague requirements can easily be
incorporated/detailed out as they get concretized.
 Application requirements can never be stable; software can be and has
to be made flexible enough to allow changes to be incorporated as they
happen.
Customer
Perspectives
Software
Myths
Developer
Perspectives
Management
Perspectives
46
Software Myths
(Developer Perspectives)
Once the software is demonstrated, the job is done.
Usually, the problems just begin!
47
Software Myths
(Developer Perspectives -2)
Until the software is coded and is available for testing, there is no
way for assessing its quality.
Usually, there are too many
tiny bugs inserted at every stage
that grow in size and complexity
as they progress thru further
stages!
48
Software Myths
(Developer Perspectives - 3)
The only deliverable for a software development
project is the tested code.
The code is only
the externally visible component
of the entire software
complement!
49
Software Myths
(Management Perspectives - 1)
As long as there are good standards and clear procedures in
my company, I shouldn’t be too concerned.
But the proof of the pudding
is in the eating;
not in the Recipe !
50
Software Myths
(Management Perspectives -2)
As long as my software engineers(!) have access to the
fastest and the most sophisticated computer
environments and state-of-the-art software tools, I
shouldn’t be too concerned.
The environment is
only one of the several factors
that determine the quality
of the end software product!
51
Software Myths
(Management Perspectives -3)
When my schedule slips, what I have to do is to start a
fire-fighting operation: add more software specialists,
those with higher skills and longer experience - they
will bring the schedule back on the rails!
Unfortunately,
software business does not
entertain schedule compaction
beyond a limit!
52
Confusion with Programs and Products
Programs
Software Products
Usually small in size
Large
Author himself is sole
user
Large number of users
Single developer
Team of developers
Lacks proper user
interface
Well-designed interface
Lacks proper
documentation
Well documented & usermanual prepared
Ad hoc development
Systematic development
53
Software Programming
≠ Software Engineering
• Software programming: the process of translating a problem
from its physical environment into a language that a computer can
understand and obey. (Webster’s New World Dictionary of Computer
Terms)
– Single developer
– “Toy” applications
– Short lifespan
– Single or few stakeholders
• Architect = Developer = Manager = Tester = Customer =
User
– One-of-a-kind systems
– Built from scratch
– Minimal maintenance
54
Software Programming ≠ Software Engineering
Software engineering
–
–
–
–
Teams of developers with multiple roles
Complex systems
Indefinite lifespan
Numerous stakeholders
• Architect ≠ Developer ≠ Manager ≠ Tester ≠ Customer ≠ User
– System families
– Reuse to amortize costs
– Maintenance accounts for over 60% of overall development
costs
55
References
• Motiwalla and Thompson, Enterprise Systems for
Management, Second edition, Prentice hall
Publications, 2012
• http://www-03.ibm.com/systems/enterprisesystems/index.html