CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE

Slides:



Advertisements
Similar presentations
Using Dataflow Diagrams
Advertisements

Chapter 4 Enterprise Modeling.
Systems Analysis and Design 9th Edition
1 © Prentice Hall, 2002 Chapter 3: Modeling Data in the Organization Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred.
Department of Computing
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter 14: Design Method --- data and architectural design Design -- A multistep process in which representations of data structure, program structure,
Chapter 3: Modeling Data in the Organization
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Chapter 4.
Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good.
Systems Analysis I Data Flow Diagrams
Chapter 10: Architectural Design
Structured Vs. Object Oriented Analysis and Design SAD Vs. OOAD
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
© 2007 by Prentice Hall (Hoffer, Prescott & McFadden) 1 Entity Relationship Diagrams (ERDs)
Chapter 10 Architectural Design
Chapter 3: Modeling Data in the Organization
Phase 2: Systems Analysis
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
Chapter 2: Modeling Data in the Organization
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
SOFTWARE DESIGN.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 2: Modeling Data in the Organization.
Systems Analysis & Design 7 th Edition Chapter 5.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Chapter 4 enterprise modeling
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
Systems Analysis and Design 8th Edition
Chapter 3: Modeling Data in the Organization. Business Rules Statements that define or constrain some aspect of the business Assert business structure.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 3: Modeling Data in the Organization Modern Database Management 9 th Edition Jeffrey.
Pree Thiengburanathum, CAMT, Chiang Mai University 1 Database System Modeling Data in the Organization October 31, 2009 Software Park, Bangkok Thailand.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 3: Modeling Data in the Organization Modern Database Management 9 th Edition Jeffrey.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
CompSci 280 S Introduction to Software Development
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 5 System modeling
Object-Oriented Analysis and Design
Problem Solving How do we attack a large problem?
Unified Modeling Language
System Design.
Lecture 9- Design Concepts and Principles
UML Diagrams Jung Woo.
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
UNIT II SYSTEM ANALYSIS AND DESIGN
Chapter 9 Architectural Design
Chapter 20 Object-Oriented Analysis and Design
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Lecture 9- Design Concepts and Principles
Appendix A Object-Oriented Analysis and Design
Software Construction Lecture 2
Analysis models and design models
Software Design Lecture : 15.
Review of Week 1 Database DBMS File systems vs. database systems
Chapter 9 Architectural Design.
Chapter 3: Modeling Data in the Organization
Requirement Analysis using
Software Design Methodologies and Testing
Chapter 5.
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Software Engineering: A Practitioner’s Approach, 6/e Chapter 10 Architectural Design copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For.
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE SOFTWARE DESIGN CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE <<professor>>

SOFTWARE ARCHITECTURE IMPORTANCE Representations of software architecture are an enabler for communication between all parties (stakeholders) interested in the development of a computer-based system. The architecture highlights early design decisions that will have a profound impact on all software engineering work that follows and, as important, on the ultimate success of the system as an operational entity. Architecture “constitutes a relatively small, intellectually graspable model of how the system is structured and how its components work together” Computer Science Department

ENTERPRISE ARCHITECTURE The organizing logic for a firm’s core business processes and IT capabilities captured in a set of principles, policies and technical choices to achieve the business standardization and integration requirements of the firm’s operating model. Concerned with cross project/solution architecture and communication between different practices in architecture. Computer Science Department

Computer Science Department ARCHITECTURAL DESIGN The software must be placed into context the design should define the external entities (other systems, devices, people) that the software interacts with and the nature of the interaction A set of architectural archetypes should be identified An archetype is an abstraction (similar to a class) that represents one element of system behavior The designer specifies the structure of the system by defining and refining software components that implement each archetype Computer Science Department

Computer Science Department DATA DESIGN At the architectural level … Design of one or more databases to support the application architecture Design of methods for ‘mining’ the content of multiple databases navigate through existing databases in an attempt to extract appropriate business-level information Design of a data warehouse—a large, independent database that has access to the data that are stored in databases that serve the set of applications required by a business Computer Science Department

ENTITY RELATIONSHIP DIAGRAM Entities: Entity instance–person, place, object, event, concept (often corresponds to a row in a table) Entity Type–collection of entities (often corresponds to a table) Relationships: Relationship instance–link between entities (corresponds to primary key-foreign key equivalencies in related tables) Relationship type–category of relationship…link between entity types Attribute–property or characteristic of an entity or relationship type (often corresponds to a field in a table) Computer Science Department

Computer Science Department Relationship Types vs. Relationship Instances The relationship type is modeled as lines between entity types…the instance is between specific entity instances Relationships can have attributes These describe features pertaining to the association between the entities in the relationship Two entities can have more than one type of relationship between them (multiple relationships) Associative Entity–combination of relationship and entity Computer Science Department

Computer Science Department Degree of a relationship is the number of entity types that participate in it Unary Relationship Binary Relationship Ternary Relationship Computer Science Department

Computer Science Department One-to-One (1:1) Each entity in the relationship will have exactly one related entity One-to-Many (1:M) or Many-to-One (M:1) An entity on one side of the relationship can have many related entities, but an entity on the other side will have a maximum of one related entity Many-to-Many (M:M) Entities on both sides of the relationship can have many related entities on the other side Computer Science Department

Computer Science Department STRUCTURED DESIGN objective: to derive a program architecture that is partitioned approach: the DFD is mapped into a program architecture the PSPEC and STD are used to indicate the content of each module notation: structure chart Computer Science Department

Computer Science Department DATA FLOW DIAGRAM A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information modeling its process aspects. Often they are a preliminary step used to create an overview of the system which can later be elaborated.[ A DFD shows what kinds of information will be input to and output from the system, where the data will come from and go to, and where the data will be stored. It does not show information about the timing of processes, or information about whether processes will operate in sequence or in parallel. Computer Science Department

Computer Science Department A data flow diagram (DFD) shows how data moves through an information system but does not show program logic or processing steps A set of DFDs provides a logical model that shows what the system does, not how it does it Computer Science Department

Computer Science Department DFD SYMBOLS Computer Science Department

Computer Science Department CREATING A SET OF DFD Create a graphical model of the information system based on your fact-finding results Three-step process Step 1: Draw a context diagram Step 2: Draw a diagram 0 DFD Step 3: Draw the lower-level diagrams Computer Science Department

Computer Science Department CONTEXT DIAGRAM Computer Science Department

Computer Science Department Step 2: Draw a Diagram 0 DFD If same data flows in both directions, you can use a double-headed arrow Diagram 0 is an exploded view of process 0 Parent diagram Child diagram Functional primitive Computer Science Department

Computer Science Department Step 3: Draw the Lower-Level Diagrams Balancing Ensures that the input and output data flows of the parent DFD are maintained on the child DFD Computer Science Department

UNIFIED MODELING LANGUAGE The UML is applicable to object-oriented problem solving. Anyone interested in learning UML must be familiar with the underlying tenet of object-oriented problem solving -- it all begins with the construction of a model. A model is an abstraction of the underlying problem. The domain is the actual world from which the problem comes. Models consist of objects that interact by sending each other messages. Think of an object as "alive." Objects have things they know (attributes) and things they can do (behaviors or operations). The values of an object's attributes determine its state. Classes are the "blueprints" for objects. A class wraps attributes (data) and behaviors (methods or functions) into a single distinct entity. Objects are instances of classes. Computer Science Department

Computer Science Department UML Two main types of diagrams in the UML Structural Diagram are used to describe the relationship between classes. Behavioral Diagram can be used to describe the interaction between people and the thing we refer to as a use case, or how the actors use the system. Computer Science Department

Computer Science Department OJBECTS CONCEPTS Computer Science Department

Computer Science Department

OBJECT CONCEPTS AND TERMS Computer Science Department

Computer Science Department Attributes If objects are similar to nouns, attributes are similar to adjectives that describe the characteristics of an object Some objects might have a few attributes; others might have dozens State Computer Science Department

Computer Science Department Methods A method defines specific tasks that an object can perform Just as objects are similar to nouns and attributes are similar to adjectives, methods resemble verbs that describe what and how an object does something Computer Science Department

Computer Science Department USE CASE DIAGRAM Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is on what a system does rather than how. Use case diagrams are closely connected to scenarios. A scenario is an example of what happens when someone interacts with the system. Here is a scenario for a medical clinic. Computer Science Department

USE CASE DIAGRAM EXAMPLE Computer Science Department

Computer Science Department SEQUENCE DIAGRAM Sequence diagrams are an excellent way of documenting usage scenarios and both capturing required objects early in analysis and verifying object use later in design. The diagrams show the flow of messages from one object to another, and as such correspond to the methods and events supported by a class/object. Computer Science Department

Computer Science Department SEQUENCE DIAGRAM UML sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic, and are commonly used for both analysis and design purposes.  Sequence diagrams are the most popular UML artifact for dynamic modeling, which focuses on identifying the behavior within your system. Computer Science Department

Computer Science Department

SEQUENCE DIAGRAMS ARE TYPICALLY USED TO MODEL: Usage scenarios.  A usage scenario is a description of a potential way your system is used. The logic of a usage scenario may be part of a use case, perhaps an alternate course. It may also be one entire pass through a use case, such as the logic described by the basic course of action or a portion of the basic course of action, plus one or more alternate scenarios. The logic of a usage scenario may also be a pass through the logic contained in several use cases. The logic of methods.   Sequence diagrams can be used to explore the logic of a complex operation, function, or procedure.  One way to think of sequence diagrams, particularly highly detailed diagrams, is as visual object model The logic of services.  A service is effectively a high-level method, often one that can be invoked by a wide variety of clients.  This includes web-services as well as business transactions implemented by a variety of technologies such as CICS/COBOL or CORBA-compliant object request brokers (ORBs). Computer Science Department

Computer Science Department ACTIVITY DIAGRAM An Activity Diagram resembles a horizontal flowchart that shows the actions and events as they occur. Activity diagrams show the order in which the actions take place and identify the outcomes. Diagram Purpose Activity Diagram is typically used for modeling the logic captured in a specific use case in a use case diagram. Activity diagram can also be used to model a specific Actor's workflow within the entire system. Activity diagram can also be used independent of use cases for other purposes such as to model business process of a system, to model detailed logic of business rules etc. Activity diagram shows all potential sequence flows in an activity. Computer Science Department

ACTIVITY DIAGRAM EXAMPLE Computer Science Department