Dr. Mounir Kehal BSc Comp. (IS Eng), MBA, MPhil, PhD AI/KM Carleton University, American University in London, Surrey University

Size: px
Start display at page:

Download "Dr. Mounir Kehal BSc Comp. (IS Eng), MBA, MPhil, PhD AI/KM Carleton University, American University in London, Surrey University"

Transcription

1 Dr. Mounir Kehal BSc Comp. (IS Eng), MBA, MPhil, PhD AI/KM Carleton University, American University in London, Surrey University or Associate Professor in MIS Dean, COBA, AUE MIEEE, MAIS, MACM Member of the Editorial Review Board / Program Committee for: - AACSB, Asia Affinity Group - AACSB, European Affinity Group - The Interdisciplinary Journal of Knowledge and Learning Objects, IJKLO - The International Journal of Mobile Learning and Organization, IJMLO - The Interdisciplinary Journal of Information, Knowledge and Management, IJIKM - The International Journal of Internet Technology and Secured Transactions, IJITST - Informing Science: The International Journal of an Emerging Discipline - World Academy of Science, Engineering and Technology: WASET Conference - The International Conference on Cybernetics and Information Technologies, Systems and Applications: CITSA - International Conference on Information Society (i-society) - The European Conference on Knowledge Management (ECKM) - The International Conference on Knowledge Management and Information Sharing (ICKMIS) - The IADIS International Conference on Internet Technologies & Society (ICITS) - IACIS Conference - International Association of Computer Information Systems - International Conference on Information Systems Analysis and Synthesis - International Conference on Intellectual Capital, Knowledge Management and Organizational Learning

2 The Building Blocks of Systems Development Dr. Kehal 2016

3 Objectives You should be able to: Describe each major phase of the system s development life cycle Explain how organizations identify projects, assess feasibility, identify benefits and costs, and perform economic analysis of a system project To understand the process used by organizations to manage the development of IS

4 Old & New Example Developing Windows 95 Late 1995, Microsoft released Windows 95 Took 3 years to create it has 11,236,344 lines of code took 9,234,455 hours of work = 49 minutes per line of code took 2,333,345 hours of testing 12.5 minutes per line of code consumed 126,237 pizzas one slice of pizza for every 9 lines of of code

5 Systems Development Methodologies Information systems, and their development, are often complex An undisciplined, uncoordinated approach to a complex task is virtually guaranteed to cause problems Systems development methodologies are aimed at avoiding such problems

6 Structured Systems Development... is the process of designing, building and maintaining information systems is performed by system analysts requires both technical and managerial talents

7 Critical Questions What should we develop? When should we develop? Who will be responsible for the development? How should we proceed? Based on org. goals & strategic direction

8 Systems Development Approaches How should you proceed?? Build internally using Systems Development Life Cycle Prototyping Purchase a pre-packaged system Outsourcing End-user development

9 But do we have to change?? Business process re-engineering - business processes are analyzed, simplified and re-designed involves radically re-thinking the flow of work and processes used to produce products and services Paradigm shift - rethinking the nature of the business and the organization itself high risk/high reward strategy

10 Steps in the SDLC System identification, selection, and planning System analysis System design System implementation System maintenance

11 Phase 1: System ID, Selection, and Planning Undertake only those projects critical to org. mission, goals, and objectives Select a development project from all possible projects that could be performed Different evaluation criteria used to rank potential projects

12 Assessing Project Feasibility It s a balancing act Economic Technical Operational Schedule Legal and contractual Political

13 Identifying System Benefits Tangible benefits Reduced personnel expenses Lower transaction costs Higher profit margins Intangible benefits Improvement of employee morale Reduction of waste creation

14 Identifying System Costs Tangible costs Hardware Labor Employee training Intangible costs Loss of customer goodwill Loss of employee morale

15 Performing an Economic Analysis of a System Project The time value of money Compare present cash outlays to future expected returns Spreadsheet analysis Net present value Return on investment Break-even analysis

16 Phase 2: System Analysis Gain a thorough understanding of an organization s current way of doing things Determine system requirements Interviews, questionnaires, observations Organize information using data, process, and logic-modeling tools

17 Modeling Organizational Data Systems analysts determine data needed to accomplish intended tasks Use data-modeling tools to depict the data Entity-Relationship Diagram Relationships represented on diagram by lines drawn between entities

18 Entity-Relationship Diagram

19 Modeling Organizational Processes Data flows Show the movement of data within an information system Processing logic Represents the way data are transformed

20 Phase 3: System Design How will the proposed system meet the system requirements? Elements designed include Forms and reports Interfaces and dialogs Databases and files Processing and logic

21 Designing Processing and Logic Steps and procedures that transform data into new or modified information Pseudo code Text descriptions of detailed processing steps Structure charts Break a large problems into smaller pieces Decision trees Help design how the logic flows

22 Structure Chart

23 Decision Tree

24 Phase 4: System Implementation Transform the design into a working system Software programming Testing Hardware and software are purchased Prepare organization to use the new system System conversion Documentation User training Support

25 Software Programming and Testing Programming Transforming the system design into a working computer system Testing Developmental testing by programmers to assure that each module is error-free Alpha testing by software testers to assess if it meets the design requirements of the users Beta testing by actual system users to test with actual data

26 System Conversion, Documentation, Training and Support Conversion Training Parallel Direct Phased Pilot Documentation User guides User training Installation procedures In-house Outside vendors Support Install system Consult on features Set up user accounts Provide demonstrations Help with problems

27 Software Conversion Strategies

28 Phase 5: System Maintenance Largest part of system development effort Maintenance process Obtain maintenance request Transform requests into changes Design changes Implement changes

29 Types of Maintenance Corrective To repair flaws in the design, coding, or implementation Adaptive To meet changing business needs Perfective To improve processing performance Preventive To reduce the chance of future system failure

30 Keys to SDLC Success User participation Commitment Effective communication Manageable size projects Accurate requirements definition A Champion??

31 Phases of the SDLC Waterfall model Problem definition Systems analysis Systems design Development Testing Implementation Maintenance

32 Phases of the SDLC Life Cycle model Death/birth Problem definition Maintenance Systems Analysis Implementation Systems Design Testing Development

33 Strengths - Traditional Approach Usually produces high quality, enduring systems Professionally developed -- avoids amateur mistakes An IS organization does most of the work Better consistency of work and documentation, so better communication Better monitoring and control of progress (including error detection) Well defined phase exit criteria

34 Weaknesses - Traditional Approach Time - it takes a lot of it Money - it takes a lot of this too People shortages are typical Difficult to determine requirements Let s look at our systems development options...

35 Eight Principles for Systems Development Get the user involved Use a problem-solving approach Establish phases and activities Establish standards for consistent development and documentation Justify systems as a capital investment Don t be afraid to cancel or revise scope Divide and conquer Design systems for growth and change

36 Computer Aided Software Engineering Tools

37 What are CASE tools? CASE Tools... support contemporary systems development automate step-by-step development methods reduce the amount of repetitive work allow developers to free their mind cycles for more creative problem-solving tasks

38 Categories of CASE Tools Ab A a Integrated CASE tools support the entire SDLC Upper CASE Used to automate the first three phases of SDLC Lower CASE Used to automate the last two phases of SDLC

39 General Types of CASE Tools Diagramming tools Screen and report generators Analysis tools Repository Documentation generators Code generators

40 A Diagramming Tool: DFD

41 CASE Tools can... Automate many manual tasks Generate system documentation Promote standardization Promote greater consistency & coordination

42 CASE tools cannot... Automatically provide a functional, relevant system Automatically force analysts to use a prescribed methodology or create a methodology when one does not exist Radically transform the system analysis and design process