Course Introduction COMSATS Islamabad Enterprise Systems Development CSC

  • Slides: 56
Download presentation
Course Introduction COMSATS Islamabad Enterprise Systems Development ( CSC 447) uhammad Usman, Assistant Professor

Course Introduction COMSATS Islamabad Enterprise Systems Development ( CSC 447) uhammad Usman, Assistant Professor CI

Instructor’s Introduction • Muhammad Usman • Education – Ph. D Software Engineering (In Progress)

Instructor’s Introduction • Muhammad Usman • Education – Ph. D 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

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

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

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

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

Lecture 1 Introduction to Enterprise Systems

Key Terms • We begin with definition of some basic concepts – Information Technology

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,

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

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

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

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

Business Process Examples The Order Fulfillment Process

Information System An information system is a unique configuration of IT resources and organizational

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

processes INFORMATION SYSTEMS IT resources

Organization • people • process • structure – coordination and control mechanisms • organization

Organization • people • process • structure – coordination and control mechanisms • organization and environment – stakeholders, competitors, other influences

Organization & Environment investors regulators suppliers INPUTS partners customers OUTPUTS

Organization & Environment investors regulators suppliers INPUTS partners customers OUTPUTS

information systems in organizations investors regulators suppliers INPUTS partners customers OUTPUTS information systems IT

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

KEY SYSTEM APPLICATIONS IN THE ORGANIZATION Types of Information Systems

MAJOR TYPES OF SYSTEMS IN ORGANIZATIONS • Executive Support Systems (ESS) • Decision Support

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

MAJOR TYPES OF SYSTEMS IN ORGANIZATIONS

INTERRELATIONSHIPS AMONG SYSTEMS

INTERRELATIONSHIPS AMONG SYSTEMS

Traditional View of the Systems • Within the business: There are functions, each having

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

Traditional View of the Systems

Integration • • making whole or complete overcoming isolation of information systems enterprise resource

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 • Enterprise systems (ES) are large-scale application software packages that support business

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

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

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

Integrated Systems - ERP 30

Enterprise Resource Planning (ERP) Systems (Cont’d) • Another goal of ERP is to integrate

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 1960 s Inventory Management & Control Mainframe legacy

Evolution of ERP Timeline System Platform 1960 s Inventory Management & Control Mainframe legacy systems using third generation software-(Cobol, Fortran) 1970 s Materials Requirements Mainframe legacy systems using third Planning (MRP) generation software-(Cobol, Fortran) 1980 s Materials Requirements Mainframe legacy systems using fourth Planning (MRP-II) generation database software and manufacturing applications. 1990 s Enterprise Resource Planning Mainframe client-server systems using fourth generation database software and package software. 2000 s 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

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

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 35

ERP Components Integration 36

ERP Components Integration 36

ERP Architecture • The architecture of an ERP system influences the cost, maintenance, and

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

Example of Architecture of ERP at Large University 38

Logical Architecture of an ERP System 39

Logical Architecture of an ERP System 39

Tiered Architecture Example of ERP System 40

Tiered Architecture Example of ERP System 40

Characteristics of Enterprise Systems • They are some of the most complex systems in

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 • Saa. S, Paa. S, SOA, Web services

Why Enterprise Systems • IT departments in every organization continue to be challenged on

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

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

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

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

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,

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

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

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

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

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

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

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

Software Programming ≠ Software Engineering • Software programming: the process of translating a problem from its physical environment into a language that a computer can understand 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

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,

References • Motiwalla and Thompson, Enterprise Systems for Management, Second edition, Prentice hall Publications, 2012 • http: //www-03. ibm. com/systems/enterprisesystems/index. html