Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.

Similar presentations


Presentation on theme: "Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan."— Presentation transcript:

1 Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan Dennis, Barbara Wixom, and David Tegarden © 2005 John Wiley & Sons, Inc.

2 Lecturer Instructor: Mr. Mohammed Ghazi Al-Obeidallah Email : moh_master_cs@yahoo.com Room : 124 Slide 2

3 Grading First Exam: 20 Midterm Exam: 20 Final Exam: 30 Lab: 20 Attendance and activity 10 Total 100 Slide 3

4 Slide 4 INTRODUCTION Chapter 1

5 Slide 5 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization. The primarily goal is to create value for the organization.

6 Slide 6 Key Ideas The systems analyst is a key person analyzing the business, identifying opportunities for improvement, and designing information systems to implement these ideas. It is important to understand and develop through practice the skills needed to successfully design and implement new information systems.

7 Slide 7 THE SYSTEMS DEVELOPMENT LIFE CYCLE

8 Slide 8 Major Attributes of the Lifecycle The project Moves systematically through phases where each phase has a standard set of outputs Produces project deliverables Uses deliverables in implementation Results in actual information system Uses gradual refinement

9 Slide 9 Project Phases Planning Why build the system? Analysis Who, what, when, where will the system be? Design How will the system work? Implementation System delivery

10 Slide 10 A “Simple” Process for Making Lunch

11 Slide 11 Identifying business value Analyze feasibility Develop work plan Staff the project Control and direct project Planning

12 Slide 12 Analysis Information gathering Process modeling Data modeling Analysis

13 Slide 13 Physical design Architectural design Interface design Database and file design Program design Design

14 Slide 14 Construction Installation Implementation

15 Slide 15 Processes and Deliverables ProcessProduct Planning Analysis Design Implementation Project Plan System Proposal System Specification New System and Maintenance Plan

16 Slide 16 SYSTEM DEVELOPMENT Methodologies

17 Slide 17 What Is a Methodology? A formalized approach or series of steps Writing code without a well- thought-out system request may work for small programs, but rarely works for large ones.

18 Slide 18 Structured Design Projects move methodically from one to the next step Generally, a step is finished before the next one begins

19 Slide 19 Waterfall Development Method

20 Slide 20 Pros and Cons of the Waterfall Method ProsCons Identifies systems requirements long before programming begins Design must be specified on paper before programming begins Long time between system proposal and delivery of new system

21 Slide 21 Parallel Development

22 Slide 22 Rapid Application Development Rapid Application Development adjusts SDLC phases to get some part of the system developed quickly and become available to the user.

23 Slide 23 Rapid Application Development Critical elements CASE tools JAD (Joint Application Design) sessions Fourth generation/visualization programming languages Code generators

24 Slide 24 Rapid Application Development Categories Phased development A series of versions Prototyping System prototyping Throw-away prototyping Design prototyping Agile Development Extreme Development

25 Slide 25 Phased Development Breaks the overall system into a series of versions that are developed sequentially. The analysis phase identifies: project team,users, and sponsors then categories the requirement into a series of versions.

26 Slide 26 Phased Development The most important and fundamental requirements are bundled to the first version of the system.

27 Slide 27 Phased Development Planning Analysis Design Implementation Analysis Design Implementation Analysis Design Implementation System Version 1 System Version 2 System Version 3 Phase1

28 Adv and Disadv of Phased Development Slide 28 Phased development have the advantage of quickly getting a useful system into the hands of the user. The major drawback to phased development is that users begins to work with systems that are intentionally incomplete.

29 Slide 29 Prototyping A prototyping –based methodology performs the analysis,design,and implementations concurrently, and all three phases are performed repeatedly in cycle until the system is completed The first prototype is usually the first part of the system and it provides the minimal features

30 Slide 30 How Prototyping Works

31 Slide 31 Prototyping The key advantage of a prototyping is that it very quickly provides a system for the users to interact with even if it is not ready for widespread organizational use at first. The major drawback of prototyping is that its fast releases challenges attempts to conduct careful analysis

32 Throwaway Prototyping Slide 32 Similar to prototyping in that they include the development of prototypes. The throwaway prototyping have a thorough analysis phase that is used to gather information and to develop ideas for the system concept.

33 Throwaway Prototyping Slide 33 Many features suggested by the users may be not well understood Each of these features is examined by analyzing,designing,and implementing a design prototype.

34 Slide 34 Throwaway Prototyping

35 Slide 35 Design prototype: is not a working system ; it is a product that represents a part of the system that needs additional refinement and it only contains enough details to enable users to understand the issues and features of the system

36 Throwaway Prototyping Slide 36 Advantage: produce more stable and reliable systems Disadvantage: take time to deliver the final system. Why? Because prototypes are not become the final system

37 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.37 What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders Drawing the customer onto the team Organizing a team so that it is in control of the work performed Rapid, incremental delivery of software Agile Development

38 Slide 38 Agile development focus on streamlining the SDLC by eliminating much of the documentation and modeling overhead. Example: Extreme programming

39 Extreme Programming (XP) The most widely used agile process, originally proposed by Kent Beck XP Planning Begins with the creation of “user stories” Agile team assesses each story and assigns a cost Stories are grouped to for a deliverable increment A commitment is made on delivery date After the first increment “project velocity” is used to help define subsequent delivery dates for other increments 39

40 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards For difficult design problems, suggests the creation of “spike solutions”—a design prototype Encourages “refactoring”—an iterative refinement of the internal program design XP Coding Recommends the construction of a unit test for a store before coding commences Encourages “pair programming” XP Testing All unit tests are executed daily “Acceptance tests” are defined by the customer and executed to assess customer visible functionality

41 Extreme Programming (XP)

42 Extreme programming Slide 42 -XP relies on Refactoring: Restructure code to keep it simple - For small projects (XP) works fine but for large ones it may need more efforts

43 Extreme programming(XP) Slide 43 Extreme programming is founded in four core values : 1.Communication 2.Simplicity Developers should follow KISS principle 3.Feedback Developers must provide rapid feedback to the end users continuous basis 4.Courage Developers must make incremental changes to grow the system and they must only accept changes the must embrace change

44 Extreme programming Principles Slide 44 -Continues Testing -Simple Coding -Close interaction with end users to build system quickly

45 Slide 45 Selecting the Appropriate Methodology Clarity of User Requirements Familiarity with Technology System Complexity System Reliability Short Time Schedules Schedule Visibility

46 Slide 46 Criteria for Selecting a Methodology

47 Slide 47 Project Team Roles and Skills

48 Slide 48 Information Systems Roles Business analyst System analyst Infrastructure analyst Change management analyst Project manager

49 Information Systems Roles Business analyst focuses on the business issues surrounding the system. These include: - Identifying the business value that the system will create - Developing ideas for how the business process can be improved - Designing new process and policies in conjunction with the system analyst Slide 49

50 Information Systems Roles System analyst: focus on the information system issues. - Develops ideas for how information technology can be improved - Design new business process with the help of business analysis - Ensures all IS standards are maintained - Should has significant experience and training Slide 50

51 Information Systems Roles Infrastructure analyst: focus on the technical issues surrounding how the system will interact with the organization technical infrastructure(e.g hardware,software,database,and network) Slide 51

52 Information Systems Roles Infrastructure analyst tasks include: - Ensuring that the new information system conforms to organizational standards - Identifying infrastructure changes needed to support the system Infrastructure analyst work through the project but perhaps less so during the planing and the analysis phase. Slide 52

53 Information Systems Roles Change Management analyst: focus on the people and management issues surrounding the system Tasks: - Ensuring that documentation and support are available to users - Providing user training on the new system - Developing strategies to overcome resistance to change Works actively during the implementation phase Slide 53

54 Information Systems Roles Project manager: ensuring that the project is completed on time and within the budget and that the system delivers all the benefits. Tasks: - Managing team members - Developing project plan - Assign resources - Being the primary point of contacts when people outside the team have questions about the project. Works intensely during all project phases. Slide 54

55 Slide 55 Project Team Roles

56 Slide 56 Summary -- Part 1 The Systems Development Lifecycle consists of four stages: Planning, Analysis, Design, and Implementation The major development methodologies: Structured design  the waterfall method  Parallel development RAD development  Prototyping (regular and throwaway) Agile development  XP streamline SDLC

57 Slide 57 Summary -- Part 2 There are five major team roles: business analyst, systems analyst, infrastructure analyst, change management analyst and project manager.


Download ppt "Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan."

Similar presentations


Ads by Google