350 likes | 636 Views
Alternative Approach to System s Analysis Structured analysis. Karolina Muszyńska. Based partly on: http://www.csun.edu/~dn58412/IS431/IS431_SP13.html. Systems Analysis Approaches. Model-driven Analysis Structured analysis Information engineering Object-oriented analysis
E N D
Alternative Approach to Systems AnalysisStructured analysis Karolina Muszyńska Based partly on: http://www.csun.edu/~dn58412/IS431/IS431_SP13.html
Systems Analysis Approaches • Model-driven Analysis • Structured analysis • Information engineering • Object-oriented analysis • Accelerated Systems Analysis • Discovery prototyping • Rapid Architected Analysis
Model-Driven Analysis Model-driven Analysis emphasizes the drawing of graphical system models to document and validate both existing and/or proposed systems. Ultimately, the system model becomes the blueprint for designing and constructing an improved system.
Model-Driven Methods • Structured Analysis: a PROCESS-centered technique to analyze an existing system and define business requirements for a new system. The models illustrate the system’s components: processes (functions, tasks) and their associated inputs, outputs, and files • Information Engineering (IE):a DATA-centered, but process-sensitive technique to plan, analyze, and design information systems. IE illustrate and synchronize the system’s data and processes. • Object-oriented Analysis (OOA): a technique that integrates data and process concerns into constructs called OBJECTS. OOA illustrate the system’s objects from various perspectives such as structure and behavior.
Stages of StructuredAnalysis Within structured analysis we have the following phases: • Requirements definition • Requirements structuring • Process modeling with Data Flow Diagrams (DFD) • Data modeling with Entity Relationship Diagram (ERD) • Logic modeling with Decision Tables/Trees and State-transition Diagrams/Tables • Generating alternative solutions and selecting the best one
System Concept A system is about taking input from the environment, transforming (processing) this input, and releasing an output A system may be decomposed into subsystems A subsystem has its own input and output Output of one subsystem may become the input of other subsystems
Systems and Subsystems INPUT OUTPUT
Process Modeling with DFD Process Modeling is a technique for organizing and documenting the structure and flow of data through system processes, and the logic, policies, and procedures to be implemented by the systems processes. Data Flow Diagram (DFD) is a graphical tool to depict the flow of data through a system and the work or processing performed by that system.
Data FlowDiagrams DFD documents a business function/activity/task of a system as a process DFD describes how data is manipulated within and at the boundaries of the system DFD shows detail of the interdependency among processes of the system, movements of data or info among the processes
Elements of a DFD GANE & SARSON NOTATIONS External Entity Data Flow 3 Process Pay Bill Data Store DE MARCO & YOURDON NOTATIONS
Elements of a DFD SUPPLIER D1 AccountsReceivable An External Entity is a provider (source) or receiver (sink) of data and info of the system but is NOT part of the system An external entity defines a person, organization unit, or other organization that lies outside of the scope of the system but that interacts with the system being studied A Data Store is a storage/inventoryof data: it contains information A data store is “data at rest” compared to a data flow that is “data in motion”
Elements of a DFD DELIVERY DATA 3 Pay Bill A Data Flow represents a movement of dataamong processes or data stores A data flow does NOT represent a document or a physical good: it represents the exchange of information in the document or about the good A data flow represents an input of data to a process, or the output of data from a process A Process is a work or action performed on input data flow to produce an output data flow A process must have at least one input data flow and at least one output data flow
Levels of DFD • Context diagram • Defines the boundary of the system • Identifies external entities and external data flows • Shows no detail on processes and data stores of the system • Level-0 diagram • Identifies the processes(functions of the system) • Identifies external data flows between external entities and processes • Identifies information storages for reference/record keeping (data stores) • Identifies internal data flows between processes and data stores • Level-1 diagram • Shows sub-processes (activities or tasks) of Level-0 processes • ….
DFDs - examples Context DFD for Food Ordering System
DFDs - examples Level-0 DFD for Food Ordering System
DFDs - examples Level-1 DFD for ”Receive and Transform Customer Food Order” process
Data Modeling with ERD Data Modeling (database modeling, information modeling) is a technique for organizing and documenting a system’s data in a model. Entity Relationship Diagram (ERD) depicts data in terms of the entities and relationships described by the data. ERD is a conceptual model of data entities (things of interest), their attributes (characteristics of interest), and their relationships in an information system (technical independent)
Entity An entityis a group of attributes corresponding to the same conceptual object about which we need to capture and store data (objects, persons, places, events, concepts) Entity is a set of occurrences (instances) of the object that it represents Entity must have a unique name, unique identifier and at least one attribute (the identifier itself)
Attribute An attribute is a descriptive property or characteristic of interest of an entity (also called element, property and field) The data type for an attribute defines what type of data can be stored in that attribute The domain of an attribute defines what values an attribute can take on The default value for an attribute is the value that will be recorded if not specified by the user
Entities: Identification • A key is an attribute, or a group of attributes, that assumes a unique value for each entity instance • A group of attributes that uniquely identifies an instance of an entity is called a composite key. • A candidate key is a “candidate to become the primary key” of instances of an entity (StudentID, DriverLicenseNo) • A primary key (identifier) is that candidate key that will most commonly be used to uniquely identify a single entity instance (StudentID) • Any candidate key that is not selected to become the primary key is called an alternate key (DriverLicenseNo)
Relationship • Arelationshipdocuments an association between one, two, or more entities • It must have a name (and may carry data) • Degree of Relationship - defines how many entities are involved in a relationship • Recursive (Unary) - only one entity involved • Binary – two entities involved • Ternary – three entities involved • … • Cardinality of Relationship - documents how many occurrences/instances of one entity can relate to a single occurrence/instance of another entity in a relationship (one-to-one, one-to-many, many-to-many)
Relationship Generalization is a technique wherein the attributes that are common to several types of an entity are grouped into their own entity, called a supertype. An entity subtype is an entity whose instances inherit some common attributes from an entity supertype and then add other attributes that are unique to an instance of the subtype. Dependency – a kind of relationship showing that instances of one entity are closely related with instances of other entity (are part of/consists of)
ERDs - examples Title publication system
ERDs - examples Project management system
LogicModeling Logic modeling involves representing the internal structure and functionality of the processes shown on DFDs. The primary deliverables from logic modeling are structured descriptions and diagrams that outline the logic contained within each DFD process as well as diagrams that show the temporal dimension of systems (when processes or events occur and how these events change the state of the system). The techniques used for modeling process decision and temporal logic are: decision tables, decision trees and state-transition diagrams and state-transition tables.
Modeling logic with decision tables A decision table is a diagram of process logic where all of the possible choices and conditions the choices depend on are represented in a tabular form. In a decision table we have: condition stubs - the part that lists the conditions relevant to the decision, action stubs - the part that lists the actions that result for a given set of conditions, and rules - the part that specifies which actions are to be followed for a given set of conditions
Modeling logic with decision trees A decision tree is a graphical technique that depicts a decision or a choice situation as a connected series of nodes and branches. Decision trees have two main components: decision points, which are represented by nodes, and actions, which are represented by ovals. Each path leaving a node corresponds to one of the options for that choice. For each node there are at least two paths that lead to the next step, which is either another decision point or an action. Each rule is represented by tracing a series of paths from the root node down the paths to the next node, until an action oval is reached.
Modeling temporal logic with state-transition diagrams/tables State-transition diagrams/tables are diagrams/ tables that illustrate how processes are related to each other in time. They illustrate the states a system component can have and the events that cause change from one state to another. They are useful for systems where time is important, such as on-line and real-time applications. A state can be thought of as a mode or condition of existence for a process or other system component, as determined by current circumstances. Transitions from one state to another are caused by stimuli we refer to as events. Once a new state is entered an action associated with the state takes place. An event then triggers a transition to a new state and causes an action to occur.