Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 6 Software Design Section 10.3 (except 10.3.1)

Slides:



Advertisements
Similar presentations
Logical and Physical Design of an Information System
Advertisements

Chapter 11 Designing the User Interface
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Soft. Eng. II, Spring 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter.
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Traditional Approach to Design
Chapter 10 The Traditional Approach to Design
Chapter 9: The Traditional Approach to Design Chapter 10 Systems Analysis and Design in a Changing World, 3 rd Edition.
1 The Database Application Development Process The Database Application Development Process.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Copyright Irwin/McGraw-Hill Software Design Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Software Design Deriving a solution which satisfies software requirements.
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex.
Component-Level Design
1 SYSTEM and MODULE DESIGN Elements and Definitions.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS 432 Object-Oriented Analysis and Design
Soft. Eng. II, Spring 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Reuse Reading: I. Sommerville, Chap. 20.
Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Understanding the Mainline Logical Flow Through a Program (continued)
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Chapter 13: Designing the User Interface
The Design Discipline.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
Systems Analysis and Design in a Changing World, Fifth Edition
Implementation Considerations Yonglei Tao. Components of Coding Standards 2  File header  file location, version number, author, project, update history.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Chapter 9 Moving to Design
10 ITK261 The traditional approach to design Reading: Chapter 10 Oct 9, 11.
Exploring an Open Source Automation Framework Implementation.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Systems Analysis and Design in a Changing World, 3rd Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
EFinanceFactory Andriy Kurhanevych, development group manager.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Soft. Eng. I, Spring 2007Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 3 Title: The Feasibility study Mandatory reading: I. Sommerville, Section.
Chapter 7 Implementation. Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
The Software Development Life Cycle: An Overview
Systems Design.  Application Design  User Interface Design  Database Design.
CS223: Software Engineering
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Systems Analysis and Design in a Changing World, Fourth Edition
CS 325: Software Engineering
Chapter 2: Database System Concepts and Architecture - Outline
Introduction to Advanced Java Programming
Chapter ? Quality Assessment
Life Cycle Models PPT By :Dr. R. Mall.
The Object Oriented Approach to Design
An Introduction to Visual Basic .NET and Program Design
Ch > 28.4.
Inventory of Distributed Computing Concepts and Web services
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Implementation support
Chapter 6: Architectural Design
Implementation support
Presentation transcript:

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 6 Software Design Section 10.3 (except )

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville2 The Typical Waterfall model embeds the following steps: Feasibility study Conceptual Analysis Design Implementation Maintenance. The Design Phase...

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville3 Adapting the conceptual solution identified during the analysis step to the technology enablers (Platforms, Programming languages, DBMS, OS, Devices, etc.) that can/will be used for the project… Client constraints, Organizational constraints, the requirements, the software engineer profile, etc; The Design Phase...

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville4 During the Design, we must perform the following tasks and produce their corresponding deliverables: Choose appropriate technology enablers... Set the functional architecture… Set the system architecture… Set the functions interactions (call, messages, events, etc.)… Building the DFDs… Building a logical data model... Set the functions interface… Write the algorithms... Design the user interfaces... The task to be performed...

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville5 Choose appropriate technology enablers.. Programming language, Web tools, DBMS, Network protocol, Operating system, User Interface development tool, Platforms Etc.

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville6 Set the functional architecture… A Functional architecture contains, in a tree like hierarchy, all modules (nodes) and functions (leafs) of your system with the exact names as they will appear in the code… Directly derived from the conceptual architecture… Given the tools that have been selected for the development, we must adjust the leafs of the conceptual architecture... This can lead to changing leafs names, adding/dropping some hierarchical levels...

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville7 Set the system architecture… (web oriented architecture…)

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville8 Set the system architecture… (web oriented architecture…) The client presentation layer: In web applications the user most often accesses this tier through a web browser, but other entry points are possible, such as desktop applications or entirely different devices using e.g. web services. The Server-Side Presentation Layer: contains the logic that allows the user to navigate the application. In this layer the presentation of the content to the user is determined. This Server-Side Business Logic layer: contains the business logic of the application. The functionality is divided into modular components, called EJBs (Enterprise Java Beans), and each bean is responsible for a defined area of the business logic, e.g. price calculation or customer data. Enterprise Information System layer: is the database server, containing the raw data

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville9 Protocols of Web architecture ODBC/ JDBC Web tier JSPs under Apache/Tomcat Windows/Linux Application server (Business tier) Business Rules/Logic J2EE platform Windows/Linux Primary Server Oracle/MySQL Replication Server Oracle/SQL Server Replication Data tier Main Data tier RPC/ RMI PC Internet Windows Touch Screen Windows PDAs JAVA VM HTTPSHTTPS Via GSM /GPRS or an access Point (using IEEE ) BROWSERSBROWSERS

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville10 Set the functions interactions How the different functions of the architecture are linked to each other… Interactions/dynamic model… Focus on: Time… When is it called? Sequence… Who calls? To whom the output is destined? Inputs/Outputs; Entrance/exit Conditions...

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville11 Set the functions interactions Control models… Sequential (Centralized as called by Somerville) control: The call/return model; The manager Model; Event driven programming… Messages based (OO) interaction…

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville12 Set the functions interactions… DFDs Data Flow Diagrams (DFDs) are a good way to graphically represent the functions interactions... A DFD shows the processing steps as data flows through a system... We may need separated DFDs and different levels of abstractions to model all processes… Based on the CPMs and the functional architecture…

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville13 Set the functions interaction… DFDs A good DFD, must specify for each function: The Input data, The Input data, The entrance conditions (if ever), The entrance conditions (if ever), The output data, The output data, The exit conditions (if ever). The exit conditions (if ever).

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville14 Set the functions Interaction… DFDs

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville15 Set Functions Interface... Parameters (type, number, source); Local/Global Variables; Central/shared Database; Data structure…

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville16 Building your logical data Model... Database (Relational: E/R- Objects: UML…) Files... Arrays... Record… Files/Queues...

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville17 Writing algorithms... What is an algorithm? What is the link with programming languages? What is the link with software engineering? Basic algorithmic constructs… How to write a good algorithms? Strategies…

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville18 Writing algorithms... Basic algorithmic constructs… Alternatives: If Condition Then Sequence1 Else Sequence2… Case Condition Switch Sequence Break… Iterations: For IntervalValues Do Sequence… Repeat Sequence Until Condition… While Condition Do… Sequences: Begin Inst1, Inst2, …, Inst n End.

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville19 Programming your system… Coding different modules of your system with respect to the Technology Enablers… Component oriented programming… Structured/Quality programming… Documented/traceable programming…

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville20 Structured/Quality Programming… All variables used in the program must be: Assigned: must be given a value before being used; Initialized: must be given a value before being used in a loop; Precise: must be given sufficient physical space in accordance with their type; Documented: commented at declaration and at use Auto-descriptive: significant name…

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville21 Structured/Quality Programming… All functions/Modules must be: Parametrable: all inputs must be given as parameters; Encapsulated: does not use global variables; Generic /Abstract : perform a precise task that is understandable outside the technical context. Documented… minimum 10% ratio Code/Comment

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville22 Structured/Quality Programming… General rules: Indention… Alignment… One instruction per line… Avoid spaghetti expressions… No transtyping/Casting… No more than 2 nested Ifs… Use appropriate Iterative/alternative structures…

Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville23 Design the user interfaces... See User Interface chapter slides...