Download presentation
Presentation is loading. Please wait.
Published byRachel Wheeler Modified over 8 years ago
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.