Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE

Similar presentations


Presentation on theme: "CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE"— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 Computer Science Department
DFD SYMBOLS Computer Science Department

14 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

15 Computer Science Department
CONTEXT DIAGRAM Computer Science Department

16 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

17 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

18 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

19 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

20 Computer Science Department
OJBECTS CONCEPTS Computer Science Department

21 Computer Science Department

22 OBJECT CONCEPTS AND TERMS
Computer Science Department

23 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

24 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

25 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

26 USE CASE DIAGRAM EXAMPLE
Computer Science Department

27 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

28 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

29 Computer Science Department

30 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

31 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

32 ACTIVITY DIAGRAM EXAMPLE
Computer Science Department


Download ppt "CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE"

Similar presentations


Ads by Google