Chapter 5 Chapter 9 People Themes Modelling Themes

  • Slides: 67
Download presentation
Chapter 5 – Chapter 9 People Themes Modelling Themes Rapid and Evolutionary Development Engineering

Chapter 5 – Chapter 9 People Themes Modelling Themes Rapid and Evolutionary Development Engineering Themes External Development

Learning Objectives 1. 2. 3. 4. 5. Describe the role of people in developing

Learning Objectives 1. 2. 3. 4. 5. Describe the role of people in developing and using information systems. Explain modelling and approaches that emphasize the modelling aspects (data / process). Discuss the speedy delivery of applications. Describe software engineering. Discuss the alternative approach for procurement of information system. 2

People Themes

People Themes

Why is there a need for people to be involved in ISD? n Importance

Why is there a need for people to be involved in ISD? n Importance of user involvement/participation in systems development: n n n user/developer communication and cultures The developer as “technical expert” Lack of user satisfaction and commitment Technical success is not enough – need to ensure it meets the client’s needs User vs IT department relations 4

De. Lone and Mclean (2003) synthesized a six factor taxonomy of IS success from

De. Lone and Mclean (2003) synthesized a six factor taxonomy of IS success from the diversity of IS success measures used in the literature. Output produced by a system and the value, usefulness or relative importance attributed to it by the user Consumption of IS output IS impact measures, such as individual user impacts, work group impacts , interorganizational and industry impacts, consumer impacts, and societal impacts. How well the system is able to serve the needs of the users Visibility Simplicity Consistency Flexibility Providing support for end user developers User response to the output characteristics of an IS Source : http: //mtsu 32. mtsu. edu: 11409/698 -Delone&Mc. Lean-Ten. Year. Update. pdf 5

Different angles of user involvement in ISD 1. 2. 3. 4. User participation End

Different angles of user involvement in ISD 1. 2. 3. 4. User participation End user computing Stakeholder analysis JAD (Joint Application Development) Early systems development approaches: - focus on technical aspects of computer systems - little actual decision-making by users Problems: - users resented developers as “outsiders” with little understanding of the business environment - systems “imposed” on users and not “user friendly” - systems did not adequately support business needs 6

User reactions n n n Users may regard the IT department as having too

User reactions n n n Users may regard the IT department as having too much power and control over other departments through the use of technology Users may regard computer people as having too great a status in the organisation, and they may not seem to be governed by the same conditions of work as the rest of the organisation Users may consider the pay scales of computer staff to be higher than their own and that the poor track record of computer applications should have led to reduced salaries and status, not the opposite 7

Three levels of participation (Mumford 1983 b) Three levels are identified by Mumford (1983):

Three levels of participation (Mumford 1983 b) Three levels are identified by Mumford (1983): n Consultative participation n n Representative participation n n all users are consulted about /c ontribute ideas to the design process but the design task is carried out by systems analysts design groups formed from elected or selected representatives, who take design decisions Consensus participation n n design group members constantly discuss ideas and solutions with all users 8

Conventional and humanoriented views of ISD 9

Conventional and humanoriented views of ISD 9

User participation : Expected benefits of user participation n Improved system quality: n n

User participation : Expected benefits of user participation n Improved system quality: n n n more complete, accurate requirements provides expertise about the organisation avoids development of unacceptable or unimportant features improves user understanding of the system Increased user acceptance: n n realistic expectations “arena” for conflict resolution users more committed to the system decreased user resistance 10

User participation and ISD methodologies n Structured analysis n n SSADM n n n

User participation and ISD methodologies n Structured analysis n n SSADM n n n user walkthroughs, user representation in development teams, users select technical option Information Engineering n n n user walkthroughs, users select implementation option users active in design activities, management involved in ISP and BAA, user reviews SSM (soft systems methodology) n users part of team: problem owners and solvers 11

Users express requirements to system designers SYSTEM DESIGNERS interpret requirements and try to meet

Users express requirements to system designers SYSTEM DESIGNERS interpret requirements and try to meet them through a computer system USERS express information as data DATA interpret data as information COMPUTER DATA 12

End user computing n n Definition of end-user computing: “the practice of end-users developing,

End user computing n n Definition of end-user computing: “the practice of end-users developing, maintaining, and using their own information systems” (Mirani and King 1994) Enabled by PCs and application packages for non-IT People (e. g. spreadsheets, database, Visual. BASIC etc) Users in business organisations are able to build their own business applications, either stand-alone or integrated with organisational systems Allows for decentralisation of computing resources 13

End user computing n n Non-programming endusers Command-level users End-user programmers Functional support personnel

End user computing n n Non-programming endusers Command-level users End-user programmers Functional support personnel Information Centers n Defining the domains of responsibility n Provision of an EUC infrastructure n Provision of software and tools n Support of EUC users n Setting of standards for EUC n Co-ordination and control of EUC in the organisation n Procurement n Dealing with external partners 14

Expert system An expert system is regarded as the embodiment within a computer of

Expert system An expert system is regarded as the embodiment within a computer of a knowledge-based component from an expert skill in such a form that the system can offer intelligent advice or take an intelligent decision about a processing function. A desirable additional characteristic, which many would consider fundamental, is the capability of the system, on demand, to justify its own line of reasoning in a manner directly intelligible to the enquirer. The style adopted to attain these characteristics is rule-based programming. 15

Structure of an expert system Components of ES • Knowledgebase • Frames • Inference

Structure of an expert system Components of ES • Knowledgebase • Frames • Inference engine • Language • Shell • Explanation generator • Blackboard • User interface • Environment 16

Knowledge management Knowledge is a fluid mix of framed experience, values, contextual information, expert

Knowledge management Knowledge is a fluid mix of framed experience, values, contextual information, expert insight and grounded intuition that provides an environment and framework for evaluating and incorporating new experiences and information. It originates and is applied in the minds of knowers. In organizations, it often becomes embedded not only in documents or repositories but also in organizational routines, processes, practices, and norms. 17

Key drivers for knowledge management (Tiwana 2000) n Knowledge-centric drivers: n n n The

Key drivers for knowledge management (Tiwana 2000) n Knowledge-centric drivers: n n n The failure of companies to know what they already know The emergent need for smart knowledge distribution Knowledge velocity and sluggishness The problem of knowledge walkouts and high dependence on tacit knowledge The need to deal with knowledge-hoarding propensity among employees A need for systemic unlearning. 18

Key drivers for knowledge management (Tiwana 2000) n Technology drivers: n n n The

Key drivers for knowledge management (Tiwana 2000) n Technology drivers: n n n The death of technology as a viable long-term differentiator Compression of product and process life cycles The need for a perfect link between knowledge, business strategy, and information technology 19

Key drivers for knowledge management (Tiwana 2000) n Economic drivers: n n The potential

Key drivers for knowledge management (Tiwana 2000) n Economic drivers: n n The potential for creating extraordinary leverage through knowledge; the attractive economics of increasing returns The quest for a silver bullet for product and service differentiation 20

Key drivers for knowledge management (Tiwana 2000) n Personnel drivers: n n Widespread functional

Key drivers for knowledge management (Tiwana 2000) n Personnel drivers: n n Widespread functional convergence The need to support effective cross-functional collaboration Team mobility and fluidity The need to deal with complex corporate expectations 21

Key drivers for knowledge management (Tiwana 2000) n Process focused drivers: n n The

Key drivers for knowledge management (Tiwana 2000) n Process focused drivers: n n The need to avoid repeated and often-expensive mistakes Need to avoid unnecessary reinvention The need for accurate predictive anticipation The emerging need for competitive responsiveness 22

Customer orientation n Customer Relationship Management (CRM) is concerned with using IT to attract

Customer orientation n Customer Relationship Management (CRM) is concerned with using IT to attract customers to the organization and keeping them loyal to the company. ‘Delivering value to customers will bring value to the organizations’ 23

Requirements n n everything that the set of relevant stakeholders (users, endusers, line management,

Requirements n n everything that the set of relevant stakeholders (users, endusers, line management, senior management, customers and regulators) want from a system. Requirements – is a description of what a system should do. It is useful to distinguish between the world in which the problem exists (the ‘application domain’) and the world in which software solutions are developed (the ‘machine domain’). These worlds overlap in a limited way, and it is this overlap that allows us to take the application domain requirements that we care about and translate them into relationships between inputs and outputs that the software can control. 24

Functional vs. Non-functional Requirements n n Functional requirements capture the functions that a system

Functional vs. Non-functional Requirements n n Functional requirements capture the functions that a system must perform, while non-functional requirements capture general properties about the system, such as its speed, usability, safety, reliability, and so on. Nonfunctional requirements are often also called ‘system qualities’, or ‘ilities’. 25

Modelling Themes

Modelling Themes

Model A model is an abstraction, a simplified representati on of part of the

Model A model is an abstraction, a simplified representati on of part of the real world. An analysts will create diagrammatic models of a target or proposed system in order to: n understand the system, and n communicate: n to demonstrate, or clarify, understanding of the existing system and/or to obtain feedback from users/clients; n to describe unambiguously the proposed computer system to users/clients and to the programming team. 27

Computer systems are models of the real world - they abstract from the complexity

Computer systems are models of the real world - they abstract from the complexity of the real world. Source: http: //www. cems. uwe. ac. uk/~tdrewry/modeling. htm 28

Three Level View 1. 2. 3. Conceptual level - high level overview description of

Three Level View 1. 2. 3. Conceptual level - high level overview description of the universe of discourse (Uo. D), i. e. domain of interest, Logical level - is a description of the IS without any reference to the technology that could be used to implement it. Physical level - is a description of the IS including the technology of a particular implementation. These views are frequently used in data modeling to differentiate levels of abstraction versus detail in the model. 29

Types of Modelling 1. Process modelling describes the logical (real world) analysis of the

Types of Modelling 1. Process modelling describes the logical (real world) analysis of the process and not just their physical (implementation) level designs. The basic technique of process modelling is functional decomposition, that is the breaking down of a complex problem into more and more detail, in a disciplined way. 30

Cont … 2. Data modelling is the analysis and design of the information in

Cont … 2. Data modelling is the analysis and design of the information in the system, concentrating on the logical entities and the logical n n n dependencies between these entities. It is a model which is readily understandable by both developers and users because of its graphical form. It is independent of any physical implementation, i. e. it is at a logical level It does not show bias towards particular users or departmental views. The data model can reflect a variety of different views of the data. 31

3. Object model n n n Object-oriented concepts unify many aspects of the information

3. Object model n n n Object-oriented concepts unify many aspects of the information systems development process represents data, processes, people and so on, all as objects It facilitates the realistic re-use of software code and therefore makes application development quicker and more robust It integrates methods of systems development with the systems context 32

Objects are characterised by variable attributes (data attributes), procedures (potential behaviour patterns) and behaviour.

Objects are characterised by variable attributes (data attributes), procedures (potential behaviour patterns) and behaviour. A Simple Banking System Object Model 33

Use Cases are used to document system requirements. They provide a useful technique which,

Use Cases are used to document system requirements. They provide a useful technique which, in conjunction with Object Modelling, help us to clarify exactly what the system is supposed to do. 34

Figure: The Overall Process Use Cases and Sequence Diagrams both add to integrity and

Figure: The Overall Process Use Cases and Sequence Diagrams both add to integrity and completeness of the Object Model, and that a good Object Model provides a firm foundation for a good design, and hence a good implementation of the system. Source: Object Oriented Analysis and Design Using UML http: //ratio. co. uk/W 1. html 35

Object model (Coad & Yourdon) 1. The ability to tackle more challenging problem situations

Object model (Coad & Yourdon) 1. The ability to tackle more challenging problem situations because of the understanding that the approach brings to the problem situation. 2. The improvement of analyst-user relationships, because the approach can be understood by both equally and because it is not computer-oriented. 3. The improvement in the consistency of results, because it models all aspects of the problem in the same way. 4. The ability to represent factors for change in the model so leading to a more resilient model. 36

Rapid and Evolutionary Development

Rapid and Evolutionary Development

Evolutionary development n n Evolutionary development a. k. a incremental development – is a

Evolutionary development n n Evolutionary development a. k. a incremental development – is a staged or incremental approach that periodically delivers a system that is increasingly complete (i. e. it evolves) over time. In this approach, development is organized into a series of short, fixed-length (for example, three-week) miniprojects called iterations; the outcome of each is a tested, integrated, and executable partial system. Each iteration includes its own requirements analysis, design, implementation, and testing activities. 38

Figure: Incremental development Source: http: //safari. samspublishing. com/0131111558/ch 02 lev 1 sec 1 39

Figure: Incremental development Source: http: //safari. samspublishing. com/0131111558/ch 02 lev 1 sec 1 39

Prototyping n A prototype is an approximation of the IS to be built. Developers

Prototyping n A prototype is an approximation of the IS to be built. Developers can design and build a scaled- down functional model of the desired system then demonstrate this to the users to gain feedback. Types of prototype: n A throwaway (or expendable) prototype; n An evolutionary prototype. n Functional prototypes for demonstrating, testing & evaluating the functionality of a system. n Process prototypes for demonstrating, testing & evaluating the processes, sequences, responses, etc. of a system. n Design prototypes for demonstrating, testing & evaluating a variety of alternate designs or solutions. n Performance prototypes for testing response times, loads, volumes, etc. n Organizational prototypes for demonstrating & evaluating different organizational designs, cross-functional work, organizational procesesses, and their integration with information systems. 40

Projects suitable for prototyping n n n Characteristics of a project where it is

Projects suitable for prototyping n n n Characteristics of a project where it is normally suggested that prototyping is beneficial: Unclear requirements / Unstable requirements High innovativeness High system impact on users / on the organization Relatively small project size / small number of users / short project duration Where commitment of users to a project is required. 41

Rapid Application Development n RAD is a process through which the development cycle of

Rapid Application Development n RAD is a process through which the development cycle of an application is expedited and follows principles and uses techniques including incremental development, timeboxing, Mo. SCo. W rules, JAD workshops, prototyping and toolsets to achieve speedier development. 42

RAD Aspects Rapid Application Development has four essential aspects: n methodology, n people, n

RAD Aspects Rapid Application Development has four essential aspects: n methodology, n people, n management, and n tools - Computer-Aided Systems Engineering (CASE) tools. Source: http: //www. casemaker. com/download/products/totem/rad_wp. pdf 43

Agile Development n n Agile development approach aim at flexible and quick development of

Agile Development n n Agile development approach aim at flexible and quick development of software, even where requirements are difficult to define. It emphasizes interactions between people, developing software with less emphasis on documentation, collaborating with customers and responding to change in the development process. Agile development is an umbrella term used to describe a specific group of methodologies that arose out of a growing discontent with the way software development has been approached for the past 30 years. 44

Note: - It is important to note that agile development itself is not a

Note: - It is important to note that agile development itself is not a methodology. Instead, agile development is a set of fundamental principles about how software should be developed. The best known of a growing number of software development methodologies that subscribe to the principles underpinning agile development include: Adaptive Software Development (ASD) 2. Agile Modelling 3. The Crystal Methodologies 4. Dynamic Systems Development Method (DSDM) 5. Extreme Programming (XP) 6. Feature-Driven Development (FDD) 7. Lean Software Development 8. SCRUM Source: http: //www. charlesriver. com/resrcs/chapters/1584503645_1 st. Chap. pdf 1. 45

Web-based Development A Web-based information system (WIS) not only disseminates information, but also proactively

Web-based Development A Web-based information system (WIS) not only disseminates information, but also proactively interacts with users and processes their business tasks to accomplish their business goals. Several types of WIS: n Intranets - to support internal work, n Web-presence sites that are marketing tools designed to reach consumers outside the firm, n Electronic commerce systems that support consumer interactions, such as online shopping, and n Extranet - a blend of internal and external systems to support business-to-business communication. n 46

WIS Development Life Cycle n n 7 categories of web-based applications: informational, interactive, transactional,

WIS Development Life Cycle n n 7 categories of web-based applications: informational, interactive, transactional, workflow, collaborative work environments, online communities/ marketplaces, and web portals. There are currently several proposed development life cycles for Web-based information systems. WIS development has been regarded as a process, and, as such, it is possible to divide this process into various phases in order to introduce control and minimize risks. Some of the current models of a Web-based information system development life cycle are: Ginige's WIS development process, Pressman's framework of activities for Web applications, Takahashi's and Liang's flow of analysis and design for Web-based information systems, and Fraternali's Life cycle of a Web Application. Source: http: //www. umsl. edu/~sauter/analysis/6840_f 03_papers/merta/wisc ontent. html 47

Engineering Themes

Engineering Themes

Engineering n n Engineering - The application of scientific and mathematical principles to practical

Engineering n n Engineering - The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems. Legacy systems are systems that have been in operation for some time. They may well perform critical processes, but they are often seen as a problem as they may have high maintenance costs, use obsolete hardware and software, be poorly documented, and lack support people with the knowledge required to maintain them. 49

Software engineering n n Software engineering - The application of a systematic , disciplined,

Software engineering n n Software engineering - The application of a systematic , disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. A software engineering project involves people guided by common goals and strategies working with a collection of tools to produce documents and code. 50

Cont… n n n The documents produced include requirements that define the problem, customer

Cont… n n n The documents produced include requirements that define the problem, customer manuals, test plans, scenarios, a design that defines the architecture, and implementation plans. The code may deal with objects, data structures, algorithms, methods, modules, protocols, and interface definitions. Automated Tools – include compilers, debuggers, environments, change management, source control, project management, document processors, and domain modeling tools. 51

Cont… n There are four fundamental phases in most, if not all, software engineering

Cont… n There are four fundamental phases in most, if not all, software engineering methodologies. These phases are analysis, design, implementation, and testing. These phases address what is to be built, how it will be built, building it, and making it high quality. 52

Method engineering n Method engineering (ME) is the process of designing, constructing and merging

Method engineering n Method engineering (ME) is the process of designing, constructing and merging methods and techniques to support ISs development. It might be blending of methods and techniques into framework, methodology or mega-methodology. Its most recent form is enterprise resource planning (ERP) systems, which are combinations of application types rather than methods and techniques. 53

Movement in ME 54

Movement in ME 54

Component Development n n Information systems can be developed from components. These include drivers,

Component Development n n Information systems can be developed from components. These include drivers, Internet utilities, SW development SW, security and database components. CBSE (Component-based Software Engineering), CBD or CBSD (Component-based Software Development) represents a paradigm shift in software development: from building monolithic, single-platform, purpose-builtfrom-scratch systems to constructing assemblies of ready-made components that are platform-independent and supplied by third-parties. 55

Security issues n n Security issues are important in all stages of IS development

Security issues n n Security issues are important in all stages of IS development and operational systems. Breaches of security can be both malicious and non-malicious, but in either case they need to be prevented if possible and detected quickly otherwise. Refer to text page 164 – examples of how information security might be protected in an application. 56

Database Engineering n Database Engineering – Technologies, theories, models, techniques, methods and tools dedicated

Database Engineering n Database Engineering – Technologies, theories, models, techniques, methods and tools dedicated to n n n specifying, modeling, designing, implementing, optimizing databases extracting, migrating, webpublishing data from a database reverse engineering legacy databases maintaining, reengineering, evolving, migrating existing databases integrating, federating, wrapping, mediating a set of independent databases n n A database is an organized and integrated collection of data. A DBMS is software that validates stores, secures, displays and prints the data in ways that users require. 57

Data warehouses & Data Mining n Data warehouses are large collections of related and

Data warehouses & Data Mining n Data warehouses are large collections of related and unrelated data and data mining attempts to identify business trends or improve CRM using software tools. 58

External Development

External Development

Application Packages n An application package is a ready made IS. Being developed externally,

Application Packages n An application package is a ready made IS. Being developed externally, the package may need to be customized / tailored for the company. 60

Customization Source Code How Interaction Styles (forms, scripts, wizards, etc) Data: format, content What

Customization Source Code How Interaction Styles (forms, scripts, wizards, etc) Data: format, content What Controlbehaviour: addition, enhancement, selection, constraint, specify options, and coordination of features Presentation: info architecture, graphic design Designer Who Customizer Summary of How, What, When, and Who with respect to Customization Source: A Software Customization Framework http: //www. cs. uvic. ca/~chisel/t hesis/Jeff. Michaud. doc End-user Original Development When System Refinement System Installation, Active Use 61

Qs for evaluating application packages 62

Qs for evaluating application packages 62

Evaluating application packages 63

Evaluating application packages 63

Open Source Software (OSS) n n Open Source Software is software for which the

Open Source Software (OSS) n n Open Source Software is software for which the underlying programming code is available to the users so that they may read it, make changes to it, and build new versions of the software incorporating their changes. Open-source software is built and enhanced through public collaboration. Besides Linux, Mozilla (Netscape browser core), Apache (Web server), PERL (Web scripting language) and PNG (graphics file format) are all examples of very popular software that is based on open source. 64

Enterprise resource planning n n Enterprise resource planning (ERP) systems are application packages, but

Enterprise resource planning n n Enterprise resource planning (ERP) systems are application packages, but they are integrated systems, transferring information throughout the supply chain. ERP systems form a complex series of software modules used to integrate many business processes. Suppliers of ERP systems: SAP, Oracle, Baan, JD Edwards and People. Soft. 65

Outsourcing & offshoring n n Outsourcing is the commissioning of a third party (or

Outsourcing & offshoring n n Outsourcing is the commissioning of a third party (or a number of third parties) to manage a client organization’s IT assets, people and/or activities to a defined specification or service level. Offshore outsourcing (offshoring) occurs when the work is carried out overseas, possibly where costs are reduced. 66

Thank You for Your Attention 67

Thank You for Your Attention 67