Chapter 1: Introduction to Systems Analysis and Design

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

Software Project Management
CS487 Software Engineering Omar Aldawud
Ch 3 System Development Environment
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Information Systems Analysis and Design
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Chapter 1 The Systems Development Environment
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 1 The Systems.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
UML - Development Process 1 Software Development Process Using UML (2)
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Chapter 1: Introduction to Systems Analysis and Design
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Development Life Cycle (SDLC)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
SDLC and Related Methodologies
Software Engineering cosc 4359 Spring 2017.
Introduction To System Analysis and Design
Software Development Framework
Information Systems Development
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
Introduction to Systems Analysis and Design
Chapter 1 The Systems Development Environment
Methodologies and Algorithms
Chapter 1 The Systems Development Environment
Chapter 1: Introduction to Systems Analysis and Design
Fundamentals of Information Systems, Sixth Edition
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Systems Analysis and Design
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
UML: Unified modeling language
Chapter 1 The Systems Development Environment
Software Processes.
Introduction to Software Engineering
Information Systems Development
Methodologies For Systems Analysis.
Object Oriented Analysis and Design
Methodologies For Systems Analysis.
Chapter 2 – Software Processes
Software life cycle models
Chapter 20 Object-Oriented Analysis and Design
Software engineering -1
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Chapter 1: Introduction to Systems Analysis and Design
SDLC and Related Methodologies
Chapter 1 The Systems Development Environment
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
Presentation transcript:

Chapter 1: Introduction to Systems Analysis and Design

The Role of Systems Analysis and Design Systems analysis and design is a step-by-step process for developing high-quality information systems. An information system combines information technology, people, and data to support business requirements.

Information system components A system is a set of related components that produces specific results. Every system requires input data. In an information system, data consists of basic facts that are the system’s raw material. Information is data that has been transformed into output that is valuable to users. An information system has five key components: hardware, software, data, processes, and people

The systems development life cycle The systems development life cycle (SDLC) is a common methodology for systems development in many organizations.

The systems development life cycle Systems Planning and Selection Identify the need for a new or enhanced system. Investigate (tìm hiểu) the system and determine the proposed system’s scope. Produce a specific plan for the proposed project Systems Analysis Determine the requirements of the system Study the requirements and structure them according to their interrelationships, eliminating any redundancies

The systems development life cycle Systems Design: Convert the description of the recommended solution into logical and then physical system specifications Logical design concentrates on the business aspects of the system. Physical design convert the logical design into physical, or technical, specifications, specify the programming languages, database systems and file structures will be used for the data

The systems development life cycle Systems Implementation and Operation Implementation: coding, testing, and installation. Operation: programmers make the changes that users ask for and modify the system to reflect changing business conditions.

Systems development tools Modeling Modeling produces a graphical representation of a concept or process that systems developers can analyze, test, and modify Prototyping Prototyping tests system concepts and provides an opportunity to examine input, output, and user interfaces before final decisions are made. A prototype is an early working version of an information system.

Systems development tools Computer-Aided Systems Engineering (CASE) Tools CASE tools provide an overall framework for systems development and support a wide variety of design methodologies, including structured analysis and object- oriented analysis.

Systems development models Waterfall model The Rational Unified Process

Waterfall model In a waterfall model, each phase must be completed fully before the next phase can begin. This type of model is basically used for the for the project which is small and there are no uncertain requirements.

Waterfall model Advantages of waterfall model This model is simple and easy to understand and use. It is easy to manage due to the rigidity of the model. In this model phases are processed and completed one at a time. Phases do not overlap. Waterfall model works well for smaller projects where requirements are very well understood.

Waterfall model Disadvantages of waterfall model It is very difficult to go back. High amounts of risk and uncertainty. Not a good model for complex and object-oriented projects. Poor model for long and ongoing projects. Not suitable for the projects where requirements are at a moderate to high risk of changing.

Rational Unified Process Stands for "Rational Unified Process." RUP is a software development process from Rational, a division of IBM. RUP is a method of managing OO Software Development RUP divides the development process into four distinct phases that each involve business modeling, analysis and design, implementation, testing, and deployment.

Rational Unified Process

The Development Phases in RUP Inception Phase Elaboration Phase Construction Phase Transition Phase

Inception Phase Overriding goal is obtaining buy-in from all interested parties Initial requirements capture Cost Benefit Analysis Initial Risk Analysis Project scope definition Defining a candidate architecture Development of a prototype

Elaboration Phase Requirements Analysis and Capture Use Case Analysis Use Case (80% written and reviewed by end of phase) Use Case Model (80% done) Scenarios Sequence and Collaboration Diagrams Class, Activity, Component, State Diagrams

Elaboration Phase Glossary (so users and developers can speak common vocabulary) Domain Model To understand the problem: the system’s requirements as they exist within the context of the problem domain Risk Assessment Plan revised Architecture Document

Construction Phase Focus is on implementation of the design: Cumulative increase in functionality Greater depth of implementation Implement all details. Analysis continues, but focus on design and coding

Transition Phase Transfer of the system to the user community It includes manufacturing, shipping, installation, training, technical support and maintenance Control is moved to maintenance team Software updates Integration with existing systems

Core workflows During each of these phases the RUP defines 6 core process work flows Business modeling: The vision and scope of the business is captured. The business use-cases, workflows and business objects are identified Requirements modeling Mapping of the business use cases and objects onto system use cases and objects. Scoping of the requirements. Development of the requirements Specification including functional and non-functional requirements.

Core workflows Analysis and Design: Here the high-level architecture and design is developed and verified to ensure that The architecture can accommodate the requirements The architecture and design can grow with increasing number of concurrent users and higher transaction volumes. Implementation The lower-level design of the system. The actual construction of the system in terms of components, subsystems and classes. The development of low-level unit tests.

Core workflows Testing: Unit testing done for individual objects the testing workflow tests the objects interact correctly, the integration of higher level components and subsystems the requirements have been implemented correctly, any failures are fed beck to the development team and that the system is not deployed with any defects.

Core workflows Deployment Producing external releases of the software. Packaging the software. Distributing the software. Installing the software. Providing training and assistance to users. Beta testing. Migration of existing software or data. Initiating the process of formal acceptance.

Systems development methods Structured analysis Agile methods Object-oriented analysis (O-O)

Structured Analysis Structured analysis is a traditional systems development technique that is time-tested and easy to understand. Represents the system in terms of data and the processes that act upon that data. Modeling tools: Data flow diagrams (DFDs)

Agile methods Build a series of prototypes and constantly adjusting them to user requirements. Emphasize continuous feedback, and each incremental step is affected by what was learned in the prior steps. Use a spiral model

Agile methods EXPLORATION (thăm dò): environment, asserting your conviction that the problem can and should be approached with agile development, assemble the team, and assess team member skills PLANNING. may only take a few days to accomplish. In this stage you and your customers agree on a date anywhere from two months to half a year from the current date to deliver solutions to their most pressing business problems (you will be addressing the smallest, most valuable set of stories). If your exploration activities were sufficient, this stage should be very short. ITERATIONS TO THE FIRST RELEASE. iterations to the first release. Typically these are iterations (cycles of testing, feedback, and change) of about three weeks in duration. One goal is to run customer-written functional tests at the end of each iteration. During the iterations stage you should also question whether the schedule needs to be altered or whether you are tackling too many stories PRODUCTIONIZING.the feedback cycle speeds up so that rather than receiving feedback for an iteration every three weeks, software revisions are being turned around in one week MAINTENANCE. Once the system has been released, it needs to be kept running smoothly. New features may be added, riskier customer suggestions may be considered

Object-oriented analysis and design Object-oriented (O-O) analysis and design is an approach that is used to develop the systems that must change rapidly in response to dynamic business environments. Use the industry standard for modeling object- oriented systems, called the unified modeling language (UML), to break down a system into a use case model.

Object-oriented analysis and design

Object-oriented analysis and design The object-oriented modeling approach provides several benefits: The ability to tackle more challenging problem domains Improved communication among users, analysts, designers, and programmers Reusability of analysis, design, and programming results Increased consistency among the models developed during object-oriented analysis, design, and programming

Object-oriented analysis and design Design review Object Modeling Technique Object-Oriented Analysis Object-Oriented Design Three models Object model Dynamic model Functional model Four phases

Design - Review Design transforms requirements into Also develops an architecture diagram subsystems, modules and their relationships a detailed design a specification of the abstract interface, data structures, and algorithms of each module Also develops a review plan for ensuring the design meets the requirements a test plan for ensuring the implementation meets the design

Object-Oriented Software Development Object-Oriented Methodology Development approach used to build complex systems using the concepts of object, class, polymorphism, and inheritance with a view towards reusability Encourages software engineers to think of the problem in terms of the application domain early and apply a consistent approach throughout the entire life-cycle

Object-Oriented Software Development Object-Oriented Analysis and Design Analysis models the “real-world” requirements, independent of the implementation environment Design applies object-oriented concepts to develop and communicate the architecture and details of how to meet requirements

Object-Oriented Analysis Object-Oriented Analysis is the “requirements phase” of Object-Oriented Software Development think of it as an alternative semi-formal technique Semi-formal technique class modeling dynamic modeling functional modeling These steps focus on data actions and their relationships Reuses familiar tools E-R diagrams Finite State Machines Data flow diagrams Steps and diagrams are typically performed in parallel after initial class definition must be kept in synch

Object-Oriented Analysis Builds a real-world model from requirements client interviews domain knowledge real-world experience Model is more precise and concise than the informal problem definition The model addresses three aspects of objects class structure and relationships sequencing of interactions and events data transformations and computations