Fundamentals of Information Technology

Course Presentation Fundamentals of Information Technology IS Methodologies Mahdi Amiri April 2016 Sharif University of Technology IS, Review Why...
Author: Myles Stephens
13 downloads 2 Views 5MB Size
Course Presentation

Fundamentals of Information Technology IS Methodologies

Mahdi Amiri April 2016

Sharif University of Technology

IS, Review Why Information Systems? Business firms invest heavily in information systems to achieve six strategic business objectives: Operational excellence. New products, services, and business models. Customer and supplier intimacy. Improved decision making. Without accurate information: Managers must use forecasts, best guesses, luck. See examples for each Competitive advantage. objective in the reference. Survival. Ref.: misnotesformba.wordpress.com/2015/02/18/strategic-business-objectives-of-information-system/ Page 1

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Methodology Definition Methodology is the systematic, theoretical analysis of the methods applied to a field of study. It comprises the theoretical analysis of the body of methods and principles associated with a branch of knowledge. Typically, it encompasses concepts such as paradigm, theoretical model, phases and quantitative or qualitative techniques. A methodology does not set out to provide solutions - it is, therefore, not the same as a method. Instead, a methodology offers the theoretical underpinning for understanding which method, set of methods, or so-called “best practices” can be applied to specific case, for example, to calculate a specific result. Ref.: en.wikipedia.org/wiki/Methodology Page 2

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Definition Is composed of a number of clearly defined and distinct work phases which are used by systems engineers and systems developers to plan for, design, build, test, and deliver information systems. Is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management. Ref.: en.wikipedia.org/wiki/Systems_development_life_cycle en.wikipedia.org/wiki/Software_development_process Page 3

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Common Methodologies Waterfall Prototyping Iterative and incremental development Spiral development Rapid application development (RAD) Extreme programming (XP) and various types of agile methodology Ref.: en.wikipedia.org/wiki/Systems_development_life_cycle en.wikipedia.org/wiki/Software_development_process Page 4

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Textbook Dennis, Wixom and Roth, Systems Analysis & Design, 5th Ed., John Wiley & Sons Inc., 2012.

Alan R. Dennis Kelley School of Business Indiana University

Barbara Wixom MIT Sloan Center for IS Research

Roberta Roth Management department University of Northern Iowa Ref.: www.wiley.com/college/info/dennis241008/resources/

Page 5

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Textbook

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 6

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Systems Development Life Cycle SDLC, 10 Life Cycle Phases

Ref.: www.justice.gov/archive/jmd/irm/lifecycle/table.htm Page 7

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Systems Development Life Cycle SDLC, Common Life Cycle Phases

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 8

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Systems Development Life Cycle SDLC, Common Life Cycle Phases

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 9

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Systems Development Life Cycle SDLC, Common Life Cycle Phases

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 10

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Systems Development Life Cycle Planning, PERT chart and CPM PERT chart for a project with five milestones (10 through 50) and six activities (A through F). The project has two critical paths: activities B and C, or A, D, and F – giving a minimum project time of 7 months with fast tracking. Activity E is sub-critical, and has a float of 1 month. The program (or project) evaluation and review technique, commonly abbreviated PERT, is a statistical tool, used in project management, which was designed to analyze and represent the tasks involved in completing a given project. The critical path method (CPM) is an algorithm for scheduling a set of project activities. Ref.: en.wikipedia.org/wiki/Program_evaluation_and_review_technique Page 11

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Systems Development Life Cycle Planning, Gantt chart A Gantt chart is a type of bar chart, adapted by Karol Adamiecki in 1896 and independently by Henry Gantt in the 1910s, that illustrates a project schedule.

A Gantt chart showing three kinds of schedule dependencies (in red) and percent complete indications. Ref.: en.wikipedia.org/wiki/Gantt_chart Page 12

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Systems Development Life Cycle Project Management Software

Microsoft Project

Wrike, MS Project alternative for Mac

Merlin Project, for Mac OS X.

Smartsheet, cloud hosted and web-based Ref.: en.wikipedia.org/wiki/Comparison_of_project_management_software

Page 13

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Approaches

The three basic approaches applied to software development methodology frameworks. Ref.: en.wikipedia.org/wiki/Software_development_process Page 14

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Our Categorization and Roadmap Classic SDLC based Waterfall Parallel Development V-Model

Rapid application development (RAD) Iterative Development Prototyping Throwaway Prototyping (~Spiral)

Agile methodologies Extreme programming (XP), Scrum, Dynamic systems development method (DSDM)

Page 15

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Waterfall With waterfall development, analysts and users proceed sequentially from one phase to the next.

The key deliverables for each phase are typically voluminous (often, hundreds of pages) and are presented to the approval committee and project sponsor for approval as the project moves from phase to phase. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 16

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Waterfall, Pros and Cons

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 17

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Waterfall Variations of Waterfall methodology:

Parallel Development V-Model

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 18

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Parallel Development The parallel development methodologies evolved to address the lengthy time frame of waterfall development. Instead of doing the design and implementation in sequence, a general design for the whole system is performed. Then the project is divided into a series of subprojects that can be designed and implemented in parallel. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 19

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Parallel Development Pros

Cons

Reduces Scheduled Time

Still Uses Paper Documents

Less Chance of Rework

Sub-projects May Be Difficult to Integrate

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 20

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies V-Model

The V-model is another variation of waterfall development that pays more explicit attention to testing. The development process proceeds down the left-hand slope of the V, defining requirements and designing system components. At the base of the V, the code is written. On the upward-sloping right side of the model, testing of components, integration testing, and, finally, acceptance testing are performed. In this manner, each level of testing is clearly linked to a part of the analysis or design phase, helping to ensure high quality and relevant testing and maximize test effectiveness.

A key concept of this model is that as requirements are specified and components designed, testing for those elements is also defined. In this manner, each level of testing is clearly linked to a part of the analysis or design phase, helping to ensure high quality and relevant testing and maximize test effectiveness. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 21

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, RAD RAD Methodologies Rapid Application Development (RAD) is a collection of methodologies that emerged in response to the weaknesses of waterfall development and its variations. RAD incorporates special techniques and computer tools to speed up the analysis, design, and implementation phases in order to get some portion of the system developed quickly and into the hands of the users for evaluation and feedback. The following items may all play a role in RAD:

CASE (computer-aided software engineering) tools. JAD (joint application development) sessions. Fourth-generation/visual programming languages (e.g., Visual Basic.NET). Code generators. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 22

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Computer-aided software engineering CASE, Definition

Example of a CASE tools

Computer-aided software engineering (CASE) is the domain of software tools used to design and implement applications. CASE tools are similar to and were partly inspired by Computer Aided Design (CAD) tools used to design hardware products. Note: People mostly use CASE tools principally for their UML / designing tools.

Enterprise Architect from Sparx (sparxsystems.com).

Note: CASE (Computer Aided Software Engineering) is at a higher level than IDE (Integrated Development Environment). IDE is program-oriented whereas CASE is more project oriented. CASE tools can graphically show progress towards a general set of goals, including development of very different programs. IDE can greatly aid in the development of a single program but has no "knowledge" of other programs related only in that they contribute to the same set of goals. Ref.: en.wikipedia.org/wiki/Computer-aided_software_engineering Page 23

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Joint Application Design (JAD) Definition The JAD process also includes approaches for enhancing user participation, expediting development, and improving the quality of specifications. It consists of a workshop where “knowledge workers and IT specialists meet, sometimes for several days, to define and review the business requirements for the system. Through JAD workshops the knowledge workers and IT specialists are able to resolve any difficulties or differences between the two parties regarding the new information system. Ref.: en.wikipedia.org/wiki/Joint_Application_Design Page 24

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, RAD RAD Methodologies Three RAD categories:

Iterative Development Prototyping Throwaway Prototyping

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 25

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, RAD Iterative Development Breaks the overall project into a series of versions that are developed sequentially. The most important and fundamental requirements are bundled into the first version of the system.

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 26

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, RAD Prototyping Performs the analysis, design, and implementation phases concurrently in order to quickly develop a simplified version of the proposed system and give it to the users for evaluation and feedback.

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 27

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, RAD Prototyping

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 28

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Note: Our description of the throwaway prototyping is a modified version of the Spiral Development Model developed by Barry Boehm, 1988.

IS Methodologies, RAD Throwaway Prototyping (~Spiral) Includes the development of prototypes, but uses the prototypes primarily to explore design alternatives rather than as the actual new system (as in system prototyping).

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 29

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, RAD Throwaway Prototyping

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 30

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Supplementary Material

IS Methodologies, Spiral Spiral Model Among the most flexible of SDLC models is the spiral model, which is a combination of the traditional waterfall model and the prototype model. It has four phases: requirements planning, risk analysis, development and testing, and planning the next iteration. At the end of the risk analysis phase, a prototype is produced, which is coded and tested in the third phase, then evaluated in the fourth phase; feedback from this iteration is used to plan the next one. The hallmark of the spiral model is its emphasis on risk analysis and mitigation, which makes it particularly suitable for very large, costly projects. Ref.: en.wikipedia.org/wiki/Spiral_model Page 31

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, Agile Agile Methodologies Agile development is a group of programming-centric methodologies that focus on streamlining the SDLC. Much of the modeling and documentation overhead is eliminated; instead, face-to-face communication is preferred. A project emphasizes simple, iterative application development in which every iteration is a complete software project, including planning, requirements analysis, design, coding, testing, and documentation. Cycles are kept short (one to four weeks), and the development team focuses on adapting to the current business environment. Several popular approaches to agile development: Extreme programming (XP) Scrum Dynamic systems development method (DSDM) Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 32

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, Agile Extreme Programming Extreme programming emphasizes customer satisfaction and teamwork. Communication, simplicity, feedback, and courage are core values. Developers communicate with customers and fellow programmers. Designs are kept simple and clean. Early and frequent testing provides feedback, and developers are able to courageously respond to changing requirements and technology. Project teams are kept small. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 33

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies, Agile Extreme Programming

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 34

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Supplementary Material

IS Methodologies Other Methodologies SSADM (or STRADIS). Structured systems analysis and design method or Structured Analysis Design and Implementation of information Systems

Jackson system development (JSD) Information engineering (IE) or information engineering methodology (IEM)

Ref.: en.wikipedia.org/wiki/Structured_systems_analysis_and_design_method en.wikipedia.org/wiki/Jackson_system_development en.wikipedia.org/wiki/Information_engineering Page 35

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Criteria for Selecting a Methodology

Note: Schedule Visibility: Knowing whether a project is on schedule. Page 36

Ref.: www.wiley.com/college/info/dennis241008/resources/

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Project Time

Estimating Project Time Using Industry Standards Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 37

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

IS Methodologies Activity Task

Select a system development method and describe it in your group homepage. Try to include a case study. Try a CASE tool and describe your experience.

Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 38

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies

Fundamentals of Information Technology IS Methodologies

Thank You Note: This presentation will be available in the course website. FIND OUT MORE AT...

1. http://ce.sharif.edu/~m_amiri/fit/ 2. http://www.aictc.ir/ Page 39

Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies