2.25k likes | 3.16k Views
Systems Analysis and Design. Romi Satria Wahon o romi@romisatriawahono.net http://romisatriawahono.net 0 81586220090. Romi Satria Wahono. SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara , Magelang (1993)
E N D
Systems Analysisand Design Romi Satria Wahonoromi@romisatriawahono.nethttp://romisatriawahono.net081586220090
Romi Satria Wahono • SD Sompok Semarang (1987) • SMPN 8 Semarang (1990) • SMA Taruna Nusantara, Magelang (1993) • S1, S2 dan S3 (on-leave)Department of Computer SciencesSaitama University, Japan (1994-2004) • Research Interests: Software Engineering,Intelligent Systems • Founder danKoordinatorIlmuKomputer.Com • Peneliti LIPI (2004-2007) • Founder dan CEO PT Brainmatics Cipta Informatika
References • Alan Dennis et al, Systems Analysis and Design with UML 4thEdition, John Wiley and Sons, 2013 • Kenneth E. Kendall and Julie E Kendall, Systems Analysis and Design 8th Edition, Prentice Hall, 2010 • Hassan Gomaa, Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures, Cambridge University Press, 2011 • Gary B. Shelly and Harry J. Rosenblatt, Systems Analysis and Design 9th Edition, Course Technology, 2011 • Howard Podeswa, UML for the IT Business Analyst 2nd Edition, Course Technology, 2009 • Jeffrey A. Hoffer et al, Modern Systems Analysis and Design 6thEdition, Prentice Hall, 2010
Pre-Test • Sebutkan tahapan pengembangan sistem atau system development life cycle (SDLC)! • Sebutkan beberapa metodologi pengembangan sistem yang anda ketahui! • Gambarkan requirement di bawah dengan use case diagram! • Buat program yang menampilkan tulisan "Halo Jakarta" di layar monitor, dengan bahasa pemrograman yang anda kuasai! • SISTEM ELIBRARY • Sistem elibrary memungkinkan pengguna untuk melakukan registrasi dan login • Setelah menjadi member, pengguna dapat memodifikasi profile, serta mencari dan mendownload koleksi buku elibrary • Admin sistem elibrary melakukan approval terhadap registrasi dan menampilkan laporan aktifitas pengguna secara individual maupun total
Course Contents • Introduction • Project Planning • System Analysis • System Design • System Implementation
Learning Objectives • Understand the system analysis and design and the term of analyst • Understand the system development life cycle and its four phases • Understand the evolution of system development methodologies • Be familier with the Unified Modeling Language (UML) version 2.0 • Understand the characteristics of object-oriented paradigm
Key Ideas • More than half of all systems development projects Fail(42% - Standish Group, 53% - General Accounting Office) • Canceled before completion • System is never used once finished • Doesn't provide the expected benefits • Most of the ones that don't fail: • Are delivered late • Are over budget • Don't provide the features promised
Analyst Related Role • Business analyst • System analyst • Infrastructure analyst • Change management analyst • Project manager
Role in System Development Project Manager
Business Analyst • Focuses on business issues surrounding the system • The business value of the system • Improvements in business processes • New business processes needed with new system • Requires business skills and professional training
System Analyst • The systems analyst is a key person analyzing the business, identifying opportunities for improvement, and designing information systems to implement these ideas • Focuses on Information System (IS) Issues • How IS can improve business processes • Designs new information system • Ensures IS quality standards are maintained • Requires training & experience in design analysis, programming, business (to lesser degree)
Infrastructure Analyst • Focuses on interfaces between new system & existing infrastructure • Makes sure new system follows organizational standards • Identifies required infrastructure changes • Requires experience in network & database administration • Requires knowledge of hardware systems
Change Management Analyst • Focuses on system installation • Documentation & support for users • Coordinate training of users • Strategies to overcome resistance • Requires experience in organizational behavior • Requires experience in change management
Project Manager • Responsible for schedule and budget • Ensures promised benefits are delivered • Manages team members • Responsible for project plan and reporting progress • Requires project management experience
Project Phases • Planning:Whybuild the system? • System request, feasibility analysis, project size estimation • Analysis: Who, what, when, where will the system be? • Requirementgathering, business process modeling • Design: How will the system work? • Program design, user interfacedesign, datadesign • Implementation: System construction and delivery • System construction, testing,documentation andinstallation
Planning • Identifying business value(System Request) • Lower costs • Increase profits • Analyze feasibility • Technical Feasibility • Economic Feasibility • Organizational Feasibility • Estimating the size of project (System Proposal)
Analysis • Requirement gatheringby answering the questions: • Who will use the system? • What will the system do? • When will it be used? • Investigate the current system • Identify possible improvements • Develop a concept for new system (Business Process Model)
Design • Program Design (UML Diagrams) • What programs need to be written • Exactly what each program will do • User Interface Design • How users interact with system • Forms / reports used by the system • Data Design(ER Diagrams) • What data is to be stored • What format the data will be in • Where the data will be stored (System Specification)
Implementation • Construction • New system is built and tested • Often testing is the longest part • Testing • Unit Testing • Integration Testing • System Testing • User Acceptance Test • Installation • Old system is turned off • New system is turned on
Process Product Planning Analysis Design Implementation System Proposal System Specification New SystemwithTesting/Maintenance Plan Processes and Deliverables
What Is a Methodology? A formalized approach to implementing the SDLC (series of steps and deliverables)
Major Methodologies • Structured Design • Waterfall method • Parallel development • Rapid Application Development • Phased Development • Prototyping • Throw-away Prototyping • Agile Development • Extreme Programming (XP) • Scrum • Lean Development
Structured Design Methodology • Projects move methodically from one to the next step • Generally, a step is finished before the next one begins
Pros - Cons of the Waterfall Method Pros Cons Design must be specified on paper before programming begins Identifies systems requirements long before programming Begins, it minimizes change to the requirements as the project proceed (mature) Long time between system proposal and delivery of new system Rework is very hard
Parallel Development • Addresses problem of time gap between proposal and delivery • General process: • Breaks project into parallel subproject • Integrates them at the end
Phaseddevelopment A series of versions Prototyping System prototyping Throw-away prototyping Design prototyping Rapid Application Development
Critical elements to speed up the SDLC: CASE tools Visual programming languages Code generators Rapid Application Development
Break overall system into a series of versions Each version has Analysis, Design, and Implementation Output from on version is the input to the next Incorporate ideas, issues, lessons learned in one version into the next version RAD: Phased Development
RAD: Phased Development Pros Cons Initial system is intentionally incomplete System requirements expand as users see versions Gets useful system to users quickly Most important functions tested most
RAD: Prototyping • Analysis, Design, Implementation are performed concurrently • Start with a "quick-and-dirty" prototype • Provides minimal functionality • Repeat process, refining the prototype each time • Stop when prototype is a working system
RAD: Prototyping Pros Cons Fast paced. Hard to conduct careful, methodical analysis Gets working system to users quickly Reassures users that the project is progressing Initial design decisions have long term staying power Problems may come to light late in design, requiring re-design Quickly refines true requirements
RAD: Throw-Away Prototyping • Use prototypes only to understand requirements • Example: use html to show UI • Prototype is not a working design • Once requirements are understood, the prototypes are thrown away • The system is then built using SDLC
Agile Development • Just a few rules that are easy to learn and follow • Streamline the SDLC • Eliminate much of the modeling and documentation • Emphasize simple, iterative application development • Examples include: • Extreme Programming (XP) • Scrum • Dynamic Systems Development Model (DSDM)