460 likes | 545 Views
System Analysis and Design. Rabie A. Ramadan, PhD http://rabieramadan.org 1. About my self. Rabie A. Ramadan My website and publications http://www.rabieramadan.org. Class Information. I am not here to punish you Trust yourself and do your best
E N D
System Analysis and Design Rabie A. Ramadan, PhD http://rabieramadan.org 1
About my self Rabie A. Ramadan My website and publications http://www.rabieramadan.org
ClassInformation I am not here to punish you Trust yourself and do your best I want you to learn and compete with others working on the same field I want you to be confident when you speak with others
ClassInformation You can bring anything to drink but NO FOOD PLEASE When you come in , DO NOT knock on the door When you want to leave , do not tell me Just leave but you will be counted as absent I do not take attendance every class but sometimes I do
ClassInformation Attendance is a vey important Assignments must be delivered on time
ClassInformation Textbooks Systems Analysis and Design, 2ndEdition Alan Dennis and Barbara Haley WixomJohn Wiley & Sons, Inc.
Class Information Website http://www.rabieramadan.org/classes/2011/sysanalysis/
GradingAssig 5%Attendance 5%Exam1 15%Exam2 15%project 20%Final 40%
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. 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. Key Ideas
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 Major Attributes of the Life Cycle
Planning (Why build the system? How should the team go about building it?) Analysis(Who uses system, what will it do, where and when will the system be used?) Design (How will the system work?) Implementation (System delivery) Project Phases
Identifying business value Analyze feasibility Develop work plan Staff the project Control and direct project Planning
Analysis strategy Gathering business requirements Requirements definition use cases Process modeling Data modeling Analysis
Design selection Architecture design Interface design Data storage design Program design Design
Construction Program building Program and system testing Installation Conversion strategy Training plan Support plan Implementation
Process Product System Request Feasibility Analysis Workplan System Proposal System Specification New System and Maintenance Plan Planning Analysis Design Implementation Processes and Deliverables
A formalized approach to implementing the Systems Development Life Cycle (SDLC) A series of steps and deliverables Methodology Categories What Is a Methodology? Process-Centered Data-Centered Object-Oriented
Pros and Cons of the Waterfall Methodology Pros Cons Identifies systems requirements long before programming begins Minimizes changes to requirements as project progresses Design must be specified on paper before programming begins Long time between system proposal and delivery of new system
Pros and Cons of Parallel Development Methodology Pros Cons Reduces Schedule Time Still Uses Paper Documents Less Chance of Rework Sub-projects May Be Difficult to Integrate
Incorporate special techniques and tools: CASE tools JAD sessions Fourth generation/visualization programming languages Code generators Rapid Application Development (RAD)
Computer-aided software engineering (CASE) Scientific application of a set of tools and methods to a software system which is meant to result in high-quality, defect-free, and maintainable software products. Modeling business / real-world processes and data flow. Development of data models in the form of entity-relationship diagrams CASE tools
Joint Application Development (JAD) Developed by Drake and Josh of IBM Crawford of IBM Toronto in a workshop setting. JAD was designed to bring system developers and users of varying backgrounds and opinions together in a productive as well as creative environment. JAD sessions
Phased development A series of versions developed sequentially Prototyping System prototyping Throw-away prototyping Design prototyping Three RAD Categories
Phased Development Methodology Insert Figure 1-4 here
Pros and Cons of Phased Development Methodology Pros Cons Users Get a System To Use Quickly Users Work with a System that is Intentionally Incomplete Users Can Identify Additional Needs For Later Versions
Pros and Cons of Prototyping Methodology Pros Cons Users Interact with Prototype Very Quickly Tendency to do Superficial Analysis Users Can Identify Needed Changes And Refine Real Requirements Initial Design Decisions May Be Poor
Pros and Cons of Throwaway Prototyping Methodology Pros Cons May Take Longer Than Prototyping Risks are Minimized Important Issues are Understood Before the Real System is Built
Pros and Cons of Agile Methodologies Pros Cons Fast Delivery of Results Requires Discipline Works Best in Small Projects Works Well in Projects With Undefined or Changing Requirements Requires Much User Input
Clear user requirements Familiarity with technology Complexity of system Reliability of system Time schedule Schedule visibility Criteria for Selecting the Appropriate Methodology
Business analyst Systems analyst Infrastructure analyst Change management analyst Project manager Information Systems Roles
The Systems Development Lifecycle consists of four stages: Planning, Analysis, Design, and Implementation There are six major development methodologies: the waterfall method, the parallel development method, the phased development method, system prototyping, design prototyping, and agile development. There are five major team roles: business analyst, systems analyst, infrastructure analyst, change management analyst and project manager. Summary