360 likes | 583 Views
Introduction To System Analysis and design. Prepared by: L. Fatimah Alageel . Reviwed by: L. Asma Alzaid. What Is An Information System?.
E N D
Introduction To System Analysis and design Prepared by: L. Fatimah Alageel. Reviwed by: L. AsmaAlzaid
What Is An Information System? • An information system is a collection of interrelated components that collect, process, store, and provide as output the information needed to complete a business task.
Examples of Information Systems • Course registration system • Online order system • Online banking system
What Is System Analysis About? • Understanding the goals and strategies of the business. • Defining the information requirements that support those goals and strategies. • It is not about programming.
System Analysis vs. System Design • System Analysis: • Investigation of the problem and requirement rather than solution. • System Design: • A conceptual solution that fulfills the requirements, rather than implementation.
System Analyst • A business professional who uses analysis and design techniques to solve business problems using information technology.
The Role of a System Analyst • Investigate, analyze, design, develop, installs, evaluate, and maintains a company’s information systems. • Business knowledge. • Business problem solver. • Help translate business requirements into IT projects.
Traditional System Development life Cycle (SDLC) • Project planning– initiate, ensure feasibility, plan schedule, obtain approval for project • Analysis– understand business needs and processing requirements • Design– define solution system based on requirements and analysis decisions • Implementation– construct, test, train users, and install new system • Support– keep system running and improve
Two Approaches to System Development • Traditional (Structured) approach • Also called structured system development • Structured analysis and design technique (SADT) • Includes information engineering (IE) • Object-oriented approach • Also called OOA, OOD, and OOP • Views information system as collection of interacting objects that work together to accomplish tasks
Structured System Development • Structure Programming • Top-down Programming • Structured Design • Structured Analysis
Object-Oriented Approach • Completely different approach to information systems • Views information system as collection of interacting objects that work together to accomplish tasks • Objects– things in computer system that can respond to messages • Conceptually, no processes, programs, data entities, or files are defined – just objects • OO languages: Java, C++, C# .NET, VB .NET
Object-oriented Analysis and design (OOAD) • OOAD essential for creating well-designed, & maintainable software system • All Software Analysis and Design is preceded by the analysis of requirements. • 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.
Unified Modeling Language (UML) • UML (Unified Modeling Language) is a graphical language that is suit-able to express software or system requirements, architecture, and design. • UML used for both database and software modeling • UML modeling also supports multiple views of the same system. • use case diagram shows the purposes of the system (use cases) and the users (actors).
UMLdiagrams • Can be organized as the fallowing: • Structural diagrams: • to show the building blocks of your system—features that don’t change with time. • Ex: Class diagram • Behavioral diagrams: • to show how your system responds to requests or otherwise evolves over time. • Ex: Use case diagram • Interaction diagrams: • Is a type of behavioral diagram. • To depict the exchange of messages within a collaboration (a group of cooperating objects). • Ex: Sequence diagram & Collaborationdiagram
UML diagrams • Another ways of categorizing UML diagram: • Static diagrams • to show the static features of the system. (no change) • Dynamic diagrams • to show how your system evolves over time. • Functional diagrams: • to show the details of behaviors and algorithms.
3 phase of O-O Approach • Object-oriented analysis (OOA) • Object-oriented design (OOD) • Object-oriented programming (OOP)
Object-oriented analysis (OOA) • Trying to figure out what the users and customers of a software effort want the System to do. • Builds a “real-world” model from requirements • client interviews, domain knowledge, real-world experience collected in use cases and other simple notations • OOA models address three aspects of the system (its objects) • class structure and relationships • sequencing of interactions and events • data transformations and computations
Models of Object-Oriented Analysis (UML) • Structural Model (Data-Oriented) • static features • what objects are in the system? • how are they related? • Dynamic Model (Action-Oriented) • behavioral aspects • what events occur in the system • when do they occur and in what order? • Functional Model (Both Data and Actions) • data transformations • “what” does the system do
Ex: Use Case (Analysis) • Start from requirements • Describe response of system to events • Normal flow of action • Error and exception handling • Can implement tests to check use cases
OOD: Object Oriented Design • Emphasizes a conceptual solution that fulfils the requirements specified in the analysis. • Need to define software objects and how they collaborate to fulfill the requirements. • For example, in the Library Information System, a Book object may have a title attribute and a display() method. • Designs are implemented in a programming language. • In the example, we will have a Book class in Java.
Analysis vs. Design • Discovery - Invention • What? - How? • Physical - Logical
Example: Analysis vs. Design figure : Analysis and design versions of a class
Object-oriented programming (OOP) • Writing statements in programming language to define what each type of object does • OO Programming Language (e.g. C++, Java, smalltalk, …)
OOP: Object-Oriented Programming • During Implementation, or Object-Oriented Programming, design objects are implemented, such as a book class in Java. • Implementation is also known as Coding or Construction.
Objects • Concepts, concrete or abstract, with meaning derived from the problem domain “the real world” • Provide a basis for implementation. • Encapsulation of state (data values) and behavior (operations)
Objects (cont.) • Exhibit behavior by invoking a method in response to a message. • Instances of classes. • an object-oriented program is a collection of autonomous interacting and collaborating objects
Classes • objects sharing common characteristics • dictate the behavior of the object • contain • state: attributes, fields, variables, data member • behavior: functions, methods, function member
3 Pillars of Object-Orientation • encapsulation • inheritance • polymorphism
Encapsulation • combination of state and behavior • implementation details are hidden internally • internal mechanisms can change while public interfaces remain stable • state may be retrieved using public methods • behavior consists of methods activated by receipt of messages
Inheritance • Classes with similar attributes and operations may be organized hierarchically • Common attributes and operations are factored out and assigned to a broad superclass (generalization) • generalization is the “is-a” relationship • superclasses are ancestors, subclasses are descendants. • Classes iteratively refined into subclasses that inherit the attributes and operations of the superclass (specialization)
Polymorphism • Polymorphism means same operation may behave differently on different classes. • Some Polymorphism types: • Overloading: Method with same name but with different arguments (compile-time polymorphism). • Overriding: when child class declares a method that has the same type arguments as a method declared by one of its superclass (run-time polymorphism) .
Summary • What is information system. • System analysis. • System analysis vs. system design • System development life cycle (SDLC) • Unified Modeling Language (UML) • Phases of OO Approach. • Pillars of OO.