Learning Outcomes On successful completion of this module students will be able to: understand the tools and techniques that are used in the development of information systems; Perform evaluation of methodologies and select appropriate methodologies. analyze , model and design information systems understand the strategies that are used to improve productivity and quality during systems development; understand the organizational context within which systems development takes place; Introduce emerging modeling techniques through review of published articles
Content Module Content Introduction to Information Systems Development Information Systems Development Approaches Requirement Determination Object oriented analysis People and Organization themes Conceptual and Physical Design Comparing, Selecting, and adopting ISD methodologies
Assessment Criteria 50 %: Examination 25%: critiques of selected readings and research papers 25%: Requirement Analysis
Reading Materials Avison , D.E. & G. Fitzgerald. 2006. Information Systems Development: Methodologies, Techniques and Tools. 4th Ed. London: McGraw-Hill. Bruegge , Bernd. 1999. Object-Oriented Software Engineering: Conquering Complex and Changing Systems. Prentice Hall
Chapter One Provides broader c onceptualization of systems theory and systems approach General systems theory Systems thinking Hard System Soft Systems Describes Information Systems and the context Provides brief account how SDMs evolved overtime
General Systems Theory aims to develop broadly applicable systems concepts and principles , as opposed to concepts and principles specific to one domain of knowledge 7
General Systems Theory Postulates or Assumes : Order Properties: Interrelationship and interdependent of objects and their attributes Holism (Whole) Goal seeking Inputs and outputs 8
Cont… Transformation process Regulation Hierarchy Differentiation Equifinality Reaching a given end states through different means 9
Systems thinking is a mind set or way of viewing the world as a system. It helps to see the big picture ; It also helps to break problems down to their components to avoid complexity. Emphasize to reduce disruptive effects of system interventions such as maintenance on the entire system Contrasts with Analytical, Reductionist thinking Accordingly “A system is bigger than the sum of its components” synergy (Ethiopia is bigger than the sum total of regions separately treated ) 10
Hard and soft systems thinking “ Hard ” systems thinking treats parts of the world as systems, and investigates/ engineers them. Systems taken to exist. “ Soft ” systems thinking uses a process of enquiry which is systemic. It uses systems models to help find out about the real world, so we may explore the consequences of choosing to view elements as if they were systems, but the systems we model are notional , not representations of the world. (See Checkland , 1999) 11
“Hard” vs “soft” systems thinking Checkland (1981): Soft systems approach organizations are complex, with problems which are “fuzzy”, ill-defined, not well-structured, and where multiple points of view exist ( e.g Cutting edge technology will not address AAU’s Problem) In organizational setting Norms and Values exists which are difficult to identify and model For instance recently, Value Based Design (VBD) to embed ethics in AI systems. The Moral Machine Project of MIT Hard systems approach focus on the certain and precise in situations e.g. structured approaches, SSADM assume there is, and consider, only one point of view 5 . 12
Information System and the Context Information systems exist in context Information systems How do you perceive it? The Context 13
Information System Refers to information content and social context , as well as technologies ( Avgerou , 2003) Thus a study of information system should include Content Social context ( organization, socio economic etc) Technologies ( methodologies and infrastructure ) 14
Building blocks of Information System Data- the raw material used to create useful information Processes- the activities that carry out the mission of the business Interfaces- how the system interfaces with its users and other information systems. Information Technology (Infrastructure) Social context or organization (human, procedures, etc.) Involves various issues like structure and psychosocial issues 15
Information systems context Complex and Dynamic (in both views of IS) Global economy Competition not only from local but also… Example difference in labor cost Digital economy Convergence of computer and telecom technologies Competition E- commerce, e- gov , e-learning , cloud computing, IoT,5G network Change What change? 16
Cont… Other aspects Human dimension (diversity… Technical /system dev. Side- developers Business/domain- users of the system Others/External – like customers Organizational aspects (IS strategy group, SD team…) Professional aspects (ethics, code of conduct.. Link b/n human and organizational aspects 17
Recognizing Components of an Information System- a way to methodology 18
IT infrastructure Ecosystem
Methodology A collection of procedures, techniques, tools , used for analyzing, designing, and implementing information system It involves various phases or cycles of development and approaches In computing fields, practitioners led in terms of innovating tools and methods Challenges encountered in system development eg IBM 360, Denver Airport software crisis triggered the need for sound software engineering and SD methods 20
Objectives of SD Methodology To record requirements accurately To provide systematic ways so that progress can be monitored To deliver the product with in time and cost To produce a system which is well documented and easy for maintenance To i ndicate changes at earlier time in the process To provide system that is liked by all stakeholders 21
Historical Perspective 1.Pre-methodology era (code and fix) before 1970’s Early computer system application development focused on the technology and on programming and technical skills rather than user and business needs , i.e. personal experiences were used Programmers overworked Maintenance period was long, etc . Rule-of-thumb and based on experience led to poor control and management of projects These problems led to a growing appreciation of the desirability for standards and a more disciplined approach to the development of IS in organizations. Realization of the increasing need for analysis and design The realization of more and more complexity of organizations 22
Cont… 2.Early Methodology era, 1970’s & early 1980’s SDLC, Water fall Feasibility study, system investigation, analysis, design, development, review and maintenance However, SDLC was not without problems Instability, inflexibility , user dissatisfaction Businesses and their environments change frequently Problem with documentation, Lack of control (version control) Maintenance workload 23
Cont… 3. Methodology era 3.1.Extended versions of SDLC Systems, strategy, participative, prototype Developments in techniques and tools 3.2.Structured methodologies based on functional decomposition (DFDs, structured tools …. 3.3.Information engineering 3.4.Object-oriented methodologies 4.Incremental and evolutionary concepts 5.Contingency approach to methodologies 24
Cont… 4. Post methodology era an era of methodology reappraisal Productivity and Complexity Gilding the lily (to adorn unnecessarily) Skills and Tools Insufficient focus on social and contextual issues Difficulties in adopting methodologies Fitzgerald, Phillipides & probert (1999) – a survey in UK indicated that only 57% of the sampled used methodology . 25
Discussion Questions Explain the philosophy underlying Hard and Soft Systems thinking Point out the major shortcomings of system development methodologies 26
Chapter two System Development Approaches Chapter objectives explain the system development life cycles understand the various development methodologies evaluate methodologies weakness and strengths
1. Process oriented methodologies/ SDLC/ Under process oriented methodologies Structured analysis, design and implementation of Information system (STRADIS) developed by Gane and Sarson (1979) Yourdon System Method Jackson System Development (JSD)
Gane and Sarson’s STRADIS Methodology Concerned with the selection and organization of program modules and interfaces that would solve predefined problem This method is applicable to any information system irrespective of size It has three phases Initial study Detailed study Defining and designing alternatives Physical design
Documentation & Modeling tools DFD Structured English Decision Tree Decision Table Structured Chart
Strength and limitations Provides a base guideline for systems development highly structured and well-defined Sound project control , documentation, standards, and quality control
Limitations resource intensive : long requirement gathering and planning time required inflexible and inhibits change output-driven top-down, step-by-step 2 . 33
2.Blended Methodologies (SSADM ) Structured Systems Analysis and Design Method (SSADM) Information Engendering (IE )
2.1. SSADM Developed in UK by consultants Learmoath and Burchett Management systems and the Central computing and communication Agency (CCCA) Has five phases Feasibility study Requirement analysis Requirement specification Logical system specification Physical design 3 . 35
Three important techniques -in SSADM 1.Logical data modeling The process of identifying, modeling and documenting the data requirements of the system being designed. The result is a data model containing entities (things about which a business needs to record information), attributes (facts about the entities) and relationships (associations between the entities).
Cont… 2. Data Flow Modeling: The process of identifying, modeling and documenting how data moves around an information system. Data Flow Modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system), and data flows (routes by which data can flow).
Cont… 3 .Entity Event Modeling : A two-stranded process: Entity Behavior Modeling : identifying, modeling and documenting the events that affect each entity and the sequence (or life history) in which these events occur, and Event Modeling : designing the process to coordinate entity life histories for each event.
Cont… 3.Entity Event Modeling : A two-stranded process: Entity Behavior Modeling : identifying, modeling and documenting the events that affect each entity and the sequence (or life history) in which these events occur, and Event Modeling : designing the process to coordinate entity life histories for each event.
2.Information Engineering IE is “an interlocking set of formal techniques in which enterprise models , data models and process models are built... and are used to create and maintain data processing systems” James Martin (1986) IE is a comprehensive methodology covering all aspects of the life cycle Viewed as a framework within which a variety of techniques are used to develop good quality IS in an efficient way Reflects the philosophy of “ practicality and applicability ” It is a proven and practical approach Applicable implies it is applied in a wider range of industries focus on data and activities
Major phases of Information Engineering 1 .Information strategy planning to build an information architecture and strategy to support overall business objectives and needs of the organization 2.Business area analysis to understand the individual business areas and determine their system requirements 4 . 41
Cont… 3.systems planning and design to establish the behavior of the systems in a way that the user wants and that is achievable using technology 4.Construction and cutover The objective is to build and implement the systems as required by the three previous levels
Information Engineering: Features organization-wide perspective aligned with strategic business planning comprehensive emphasis on user involvement e.g. JAD, evolves by incorporating new techniques, concepts, technologies e.g. RAD, object-oriented concepts 4 . 43
3.Object-Oriented Development Approaches How to Model Real World? Models in systems development environment Computation-oriented model (50s ~ 60s) Data-oriented model (70 ~ 80s) Object-oriented model (90s ~ ) Balanced view between data and computation 44
Modeling the Real World A software system provides a solution to a problem in the real world. It consists of two essential components: Model : abstraction of a part of the real world Algorithm : captures the computations involved in manipulating or processing the model. 45 Algorithm Model Software system Real world Abstraction Interpretation
Why O-O Model? Possible to directly represent real world objects in the computer system Thus, solves the so-called impedance mismatch problem . 46 Software system Real world Data-oriented model Software system Real world Object-oriented model
Five Major activities Finding classes and objects Identifying structure Generalization and specialization Whole-part Identifying subjects A sort of grouping to reduce complexity Defining attributes Defining services Currently UML has become the main modeling tool 47
4.Rational Unified Process (RUP) A full-fledged process able to support the entire software development lifecycle It is an architecture-centric process Software architecture contains hardware, the operating system, the database, the network and the non functional requirements system development begin architecture outline 48
RUP Has various cycles with 4 phases in each Inception , elaboration , construction and Transition 9 workflows in each phase and iterations Engineering workflows : Business modelling, requirements, analysis and design, implementation, test and deployment Supporting workflows: Configuration and change management, project management and environment The Phases shows the different emphasis of workflow activities
Phases in the Process P urpose of RUP four phases: Inception - Define the scope of project Elaboration - Plan project, specify features, baseline architecture Construction - Build the product Transition - Transition the product into end user community 50 time Inception Elaboration Construction Transition Major Milestones
Rational Unified Process (RUP) 51 Project Management Environment Supporting Workflows Configuration & Change Mgmt Business Modeling Implementation Test Analysis & Design Process Workflows Deployment Requirements Preliminary Iteration(s) Iter. #1 Phases Iterations Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Elaboration Transition Inception Construction time content
Main Characteristics of RUP Use-case driven Implementation and testing is based on use case Architecture centric How the system is organized Iterative and incremental (focus on prototyping) non lifecycle or waterfall Allows you to “ plan a little, design a little, and code a little ” 52
5.Evolutionary Development Involves: Agile, RAD, XP Stages or incremental approach A complete system evolves over time Changing requirements over time are expected and are catered for Highly appropriate for situations where requirements are difficult to discover in advance , and also where systems are complex Promotes user participation in system development
Agile Development Agile is characterized by: Iteration Short life cycles Minimalism Emergence (of new ideas and creative thinking) Risk acceptance People oriented Collaboration and communication Agile Development : Flexibility, stresses difficulties in identifying requirements