Lecturer: Sebastian Coope Ashton Building, Room G.18
|
|
- Trevor Brett Briggs
- 5 years ago
- Views:
Transcription
1 Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture 13 Design Methodology 1
2 Software Design Deriving a solution which satisfies software requirements 2
3 The Design Problem You have 4 developers You have a 500 page requirements specification How to control break up the work? Requirements Class1 Class2 Class3 Class4 Class5 Class6 Developer 1 Developer 2 Class1 Class2 Class3 Class7 Class10 Class8 Class11 Class9 Class12 Developer 3 Developer 4 Class4 Class8 Class9 3
4 Why Software Design Software is produced by many people Software needs to be Simple Understandable Flexible Portable Re-usable How Complex to simple Abstraction 4
5 Software Design in Reality Design mixed with implementation Design step 1 Implement and add more design Design step 2 Implement and add more design In effect much of software is designed while coded and the design document doesn t reflect the final product 5
6 Problem understanding Stages of Design Look at the problem from different angles to discover the design requirements. Identify one or more solutions Evaluate possible solutions and choose the most appropriate depending on the designer's experience and available resources. Describe solution abstractions Use graphical, formal or other descriptive notations to describe the components of the design. Repeat process for each identified abstraction until the design is expressed in primitive terms. 6
7 The Design Process Any design may be modeled as a directed graph made up of entities with attributes which participate in relationships. The system should be described at several different levels of abstraction. Design takes place in overlapping stages. It is artificial to separate it into distinct phases but some separation is usually necessary. 7
8 Phases in the Design Process Requ irements specificatio n Desig n acti vities Architectu al r design Abstract specificatio n Interface design Compon ent design Data stru ctue r design Alg orithm design Sy stem architectu er So ftware specificatio n Interface specificatio n Compon ent specificatio n Data stru ctue r specificatio n Alg orithm specificatio n Desig n od pr ucts 8
9 Design Phases Architectural design: Identify sub-systems. Abstract specification: Specify sub-systems. Interface design: Describe sub-system interfaces. Component design: Decompose sub-systems into components. Data structure design: Design data structures to hold problem data. Algorithm design: Design algorithms for problem functions. 9
10 Design Computer systems are not monolithic: they are usually composed of multiple, interacting modules. Modularity has long been seen as a key to cheap, high quality software. The goal of system design is to decode: What the modules are; What the modules should do; How the modules interact with one-another 10
11 Modular Programming In the early days, modular programming was taken to mean constructing programs out of small pieces: subroutines But modularity cannot bring benefits unless the modules are autonomous, coherent and robust 11
12 Procedural Abstraction The most obvious design methods involve functional decomposition. This leads to programs in which procedures represent distinct logical functions in a program. Examples of such functions: Display menu Get user option This is called procedural abstraction 12
13 Programs as Functions Another view is programs as functions: input output x f f (x) the program is viewed as a function from a set I of legal inputs to a set O of outputs. There are programming languages (ML, Miranda, LISP) that directly support this view of programming Well-suited to certain application domains - e.g., compilers Less well-suited to distributed, nonterminating systems - e.g., process control systems, operating systems like WinNT, ATM machines 13
14 Object-Oriented Design The system is viewed as a collection of interacting objects. The system state is decentralized and each object manages its own state. Note, use of internal state against functional programming Objects may be instances of an object class and communicate by exchanging messages. 14
15 Five Criteria for Design Methods We can identify five criteria to help evaluate modular design methods: Modular decomposability; Modular composability; Modular understandability; Modular continuity; Modular protection. 15
16 Modular Decomposability Modular decomposability - this criterion is met by a design method if the method supports the decomposition of a problem into smaller sub-problems, which can be solved independently. In general, this method will be repetitive: sub-problems will be divided still further Top-down design methods fulfil this criterion; stepwise refinement is an example of such a method 16
17 Hierarchical Design Structure System level Sub-system level 17
18 Top-Down Design In principle, top-down design involves starting at the uppermost components in the hierarchy and working down the hierarchy level by level. In practice, large systems design is never truly top-down. Some branches are designed before others. Designers reuse experience (and sometimes components) during the design process. 18
19 An Example of Top-Down Design Imagine designing a word processor program from scratch. What subsystems could be initially found at the top level? File I/O, printing, graphical user interface, text processing etc. For each of these components we can then decompose further, i.e., File I/O comprises of saving documents and opening documents.. 19
20 Modular Composability Modular composability - a method satisfies this criterion if it leads to the production of modules that may be freely combined to produce new systems. Composability is directly related to the issue of reusability Note that composability is often at odds with decomposability; top-down design, for example, it tends to produce modules that may not be composed in the way desired This is because top-down design leads to modules which fulfil a specific function, rather than a general one 20
21 Examples The Numerical Algorithm Group (NAG) libraries contain a wide range of routines for solving problems in linear algebra, differential equations, etc. The Unix shell provides a facility called a pipe, written, whereby the standard output of one program may be redirected to the standard input of another; this convention favours composability. 21
22 Modular Understandability Abstraction int A=21 int age_in_years = 21; print_out_document(document d) Modular Understandability - a design method satisfies this criterion if it encourages the development of modules which are easily understandable. COUNTER EXAMPLE 1. Take a thousand lines program, containing no procedures; it s just a long list of sequential statements. Divide it into twenty blocks, each fifty statements long; make each block a method. COUNTER EXAMPLE 2. Go to statements. 22
23 Modular Understandability Related to several component characteristics Can the component be understood on its own? Are meaningful names used? Is the design well-documented? Are complex algorithms used? Informally, high complexity means many relationships between different parts of the design. 23
24 Modular Continuity Modular continuity - a method satisfies this criterion if it leads to the production of software such that a small change in the problem specification leads to a change in just one (or a small number of ) modules. EXAMPLE. Some projects enforce the rule that no numerical or textual literal should be used in programs: only symbolic constants should be used COUNTER EXAMPLE. Static arrays (as opposed to dynamic arrays) make this criterion harder to satisfy. 24
25 Modular Protection Modular Protection - a method satisfied this criterion if it yields architectures in which the effect of an abnormal condition at run-time only effects one (or very few) modules EXAMPLE. Validating input at source prevents errors from propagating throughout the program (design by contract) COUNTER EXAMPLE. Using int types where subrange or short types are appropriate. 25
26 A Real Life Example Ariane 5 Flight 501 The failure of an Ariane 5 space launcher is possibly the most expensive software bug in history at around $370 million. Other bugs have been even worse by causing loss of life, for example Therac-25 radiation machines. 26
27 The Ariane 5 Space Launcher While developing the Ariane 5 space launcher, the designers reused a component (the inertial reference software) which was successfully used in the Ariane 4 launcher This component failed 37 seconds into the flight and the ground crew had to instruct the launcher to self-destruct. The error was caused by an unhandled numerical conversion exception causing a numeric overflow. Component reuse is usually a good thing but care must be taken that assumptions made when the component was developed are still valid! 27
28 Repository Models Sub systems making up a system must exchange and share data so they can work together effectively. There are two main approaches to this: The repository model All shared data is held in a central database which may be accessed by all sub-systems Each sub-system or component maintains its own database. Data is then exchanged between sub-systems via message passing. There are advantages and disadvantages to each approach as we shall now see. 28
29 The advantages include: Repository Model Databases are an efficient way to share large amounts of data and data does not have to be transformed between different subsystems (they agree on a single data representation). Sub-systems producing data need not be concerned with how that data is used by other sub-systems. Many standard operations such as backup, security, access control, recovery and data integrity are centralised and can be controlled by a single repository manager. The data model is visible through the repository schema. 29
30 The disadvantages include: Repository Model Sub-systems must agree on the data model which means compromises must be made, for example with performance. Evolution may be difficult since a large amount of data is generated and translation may be difficult and expensive. Different systems have different requirements for security, recovery and backup policies which may be difficult to enforce in a single database. It may be difficult to distribute the repository over a number of different machines. 30
31 Lecture Key Points We have studied five criteria to help evaluate modular design methods and their advantages: Modular decomposability; modular composability; modular understandability; modular continuity; modular protection. We have seen the advantages and the disadvantages of repository models 31
LECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge
LECTURE 3: SOFTWARE DESIGN Mike Wooldridge 1 Design Computer systems are not monolithic: they are usually composed of multiple, interacting modules. Modularity has long been seen as a key to cheap, high
More information5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered
Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process
More informationObjectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture
Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationArchitectural Design
Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationEngr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving
More informationLecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases
More informationLecture 15 Distributed System Architectures
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 15 Distributed System Architectures Architectural
More informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationEstablishing the overall structure of a software system
Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and
More informationArchitectural Design. CSCE Lecture 12-09/27/2016
Architectural Design CSCE 740 - Lecture 12-09/27/2016 Architectural Styles 2 Today s Goals Define what architecture means when discussing software development. Discuss methods of documenting and planning
More informationProgramming II. Modularity 2017/18
Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How
More informationSommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.
Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical
More informationModularity Guidelines for design in any programming language
Modularity Guidelines for design in any programming language 14-1 Modular Software Software constructed as assemblies of small pieces» Each piece encompasses the data and operations necessary to do one
More informationChapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design
More informationSoftware Engineering
Software Engineering Engr. Abdul-Rahman Mahmood MS, MCP, QMR(ISO9001:2000) Usman Institute of Technology University Road, Karachi armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm
More informationModularity!! Guidelines for design! in any programming language!
Modularity!! Guidelines for design! in any programming language! 14-1! Modular Software! Software constructed as assemblies of small pieces! 14-2! Modular Software 2! Software constructed as assemblies
More informationArchitectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process
Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationChapter 6 Architectural Design
Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural
More informationChapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel
Chapter 8 Database Design Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: That successful database design must reflect the information
More informationRequirements Engineering. Contents. Functional requirements. What is a requirement?
Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE
More informationSoftware Engineering Design Principles. Presented by Pratanu Mandal of CSE 3A Roll 54 JISCE
Software Engineering Design Principles Presented by Pratanu Mandal of CSE 3A Roll 54 JISCE Introduction In this presentation we deal with design principles of software projects. Software design is a phase
More informationSystem Design and Modular Programming
CS3 Programming Methodology Lecture Note D1, 2 November 2000 System Design and Modular Programming System design involves meeting competing requirements and satisfying constraints on the system and the
More informationVerification and Validation
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Verification and Validation 1 Verification and Validation
More informationObject-Oriented and Classical Software Engineering
Slide 8.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 8 Slide 8.2 REUSABILITY AND PORTABILITY Overview Slide
More informationFIT1004 Database Topic 2: Database Design Life Cycle
FIT1004 Database Topic 2: Database Design Life Cycle Learning Objectives: Describe the 3 level ANSI SPARC Database Architecture and the advantages which its inherent data abstraction provide to the database
More informationLecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 17 Concepts of Object Oriented Design Object-Oriented
More informationChapter 17 - Component-based software engineering. Chapter 17 So-ware reuse
Chapter 17 - Component-based software engineering 1 Topics covered ² Components and component models ² CBSE processes ² Component composition 2 Component-based development ² Component-based software engineering
More informationSoftware Quality. What is Good Software?
Software Quality CS A470 What is Good Software? Depends on your point of view Five perspectives Transcendental view. Quality can be recognized but hard to define User view. Fitness for purpose Often adopted
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 03: Program Development Life Cycle Readings: Not Covered in Textbook Program Development
More informationThe requirements engineering process
3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process
More informationObject-oriented Compiler Construction
1 Object-oriented Compiler Construction Extended Abstract Axel-Tobias Schreiner, Bernd Kühl University of Osnabrück, Germany {axel,bekuehl}@uos.de, http://www.inf.uos.de/talks/hc2 A compiler takes a program
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
More informationArchitectural Design. Architectural Design. Software Architecture. Architectural Models
Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems
More informationCS451 Lecture 8: Architectural Design. Architectural Design: Objectives
CS5 Lecture 8: Architectural Design Yugi Lee STB #555 (86) 5-59 leeyu@umkc.edu www.sice.umkc.edu/~leeyu Architectural Design: Objectives Establishing the overall structure of a software system To introduce
More informationFundamentals of Programming Languages. PL quality factors Lecture 01 sl. dr. ing. Ciprian-Bogdan Chirila
Fundamentals of Programming Languages PL quality factors Lecture 01 sl. dr. ing. Ciprian-Bogdan Chirila Lecture and lab Ciprian-Bogdan Chirila PhD Senior lecturer PhD UPT + Univ. Nice Sophia Antipolis,
More informationA REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM
A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM 1. Relational model I still remember it is my first time to read such an academic article in detail. I have to say that it s really a hard time for me at
More informationDatabase Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 9 Database Design Objectives In this chapter, you will learn: That successful database design must reflect the information
More informationSession 4b: Review of Program Quality
Session 4b: Review of Program Quality What makes one program "better" than another? COMP 170 -- Fall, 2013 Mr. Weisert What is a good program? Suppose we give the same assignment to two programmers (or
More informationEssay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM).
Question 1 Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM). By specifying participation conditions By specifying the degree of relationship
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationIntroduction to Computer Programming/Handout 01 Page 1 of 13
Introduction to Computer Programming/Handout 01 Page 1 of 13 Table of Contents Table of Contents... 1 Learning Objectives... 2 Program... 2 Programmer... 2 Programming Language... 2 Types of Languages...
More informationCSC 330 Object-Oriented Software Design REUSABILITY
1 CSC 330 Object-Oriented Software Design REUSABILITY Overview 2 Reuse concepts Impediments to reuse Reuse case studies Objects and reuse Reuse during the design and implementation phases Reuse and maintenance
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationChapter Twelve. Systems Design and Development
Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationSetting the stage... Key Design Issues. Main purpose - Manage software system complexity by improving software quality factors
Setting the stage... Dr. Radu Marinescu 1 1946 Key Design Issues Main purpose - Manage software system complexity by...... improving software quality factors... facilitating systematic reuse Dr. Radu Marinescu
More informationEPL603 Topics in Software Engineering
Lecture 5 Architectural Design & Patterns EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Software
More informationSoftware Design. Software design is a blueprint or a plan for a computerbased solution for system
Software Design Software Design Software design is a blueprint or a plan for a computerbased solution for system Software design deals with transforming the customer requirements, as described by the SRS
More informationUnit 1 Introduction to Software Engineering
Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering
More informationSOFTWARE ENGINEERING. Software Specification Software Design and Implementation Software Validation. Peter Mileff PhD
Peter Mileff PhD SOFTWARE ENGINEERING Software Specification Software Design and Implementation Software Validation University of Miskolc Department of Information Technology Software Specification...
More informationThe modularity requirement
The modularity requirement The obvious complexity of an OS and the inherent difficulty of its design lead to quite a few problems: an OS is often not completed on time; It often comes with quite a few
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA
USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of CA INTERNAL ASSESSENT TEST II Date : 20/09/2016 ax.arks: 50 Subject & Code: Software Engineering
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationCS560 Lecture: Software Architecture Includes slides by I. Sommerville
CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control
More informationModern Systems Analysis and Design. Third Edition. Jeffrey A. Hoffer Joey F. George Joseph S. Valacich. Chapter 17 System Implementation
Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 17 System Implementation 17.1 Copyright 2002 Prentice-Hall, Inc. Learning Objectives Describe
More informationSOFTWARE ARCHITECTURE & DESIGN INTRODUCTION
SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,
More informationProgramming Logic and Design Seventh Edition Chapter 2 Elements of High-Quality Programs
Programming Logic and Design Chapter 2 Elements of High-Quality Programs Objectives In this chapter, you will learn about: Declaring and using variables and constants Assigning values to variables [assignment
More informationMinsoo Ryu. College of Information and Communications Hanyang University.
Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based
More informationDarshan Institute of Engineering & Technology for Diploma Studies
REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all
More informationContemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.
Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful
More informationXVIII. Software Architectures
XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture
More informationDatabase Segmentation
Database Segmentation Today s CA IDMS databases continue to grow. Among the reasons for this growth may be the addition of new application functionality, business consolidations, or the inability to archive
More informationInternet Engineering Task Force (IETF) Category: Informational. Cisco Systems, Inc. July 2017
Internet Engineering Task Force (IETF) Request for Comments: 8199 Category: Informational ISSN: 2070-1721 D. Bogdanovic Volta Networks, Inc. B. Claise C. Moberg Cisco Systems, Inc. July 2017 YANG Module
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationIntroduction to Databases
Introduction to Databases 1 Objectives Most common types of digital information processing enter file-based systems Why database systems came around DBMS environment: components / roles Is it all worth
More informationCS 575: Software Design
CS 575: Software Design Introduction 1 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation
More informationChapter 1: The Database Environment
Chapter 1: The Database Environment Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Prentice Hall, 2002 1 Definitions Data: Meaningful facts, text, graphics,
More informationA STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN
A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN GARJE RAKESH RAMESHRAO RESEARCH SCHOLAR, DEPT. OF COMPUTER SCIENCE CMJ UNIVERSITY, SHILLONG, MEGHALAYA INTRODUCTION Object-oriented Analysis and Design is
More informationModule 16. Software Reuse. Version 2 CSE IIT, Kharagpur
Module 16 Software Reuse Lesson 40 Reuse Approach Specific Instructional Objectives At the end of this lesson the student would be able to: Explain a scheme by which software reusable components can be
More informationOperating Systems Overview. Chapter 2
Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationChapter 10. Database System Development Lifecycle
Chapter 10 Database System Development Lifecycle Chapter 10 - Objectives Main components of an information system. Main stages of database system development lifecycle. Main phases of database design:
More informationUNIT II Requirements Analysis and Specification & Software Design
UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they
More informationCHAPTER 1: OPERATING SYSTEM FUNDAMENTALS
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating system? A collection of software modules to assist programmers in enhancing system efficiency, flexibility, and robustness An Extended Machine
More informationUpdate on AADL Requirements Annex
Open-PEOPLE Open Power and Energy Optimization PLatform and Estimator Update on AADL Requirements Annex Dominique BLOUIN* *Lab-STICC, Université de Bretagne Sud, Lorient, FRANCE AADL Standards Meeting,
More informationSoftware Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Software Testing 1 Defect Testing Defect testing involves
More informationADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE
ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion
More informationWHAT IS SOFTWARE ARCHITECTURE?
WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is
More informationComplexity. Object Orientated Analysis and Design. Benjamin Kenwright
Complexity Object Orientated Analysis and Design Benjamin Kenwright Outline Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean by Complexity? How do
More informationCOMP 161 Lecture Notes 16 Analyzing Search and Sort
COMP 161 Lecture Notes 16 Analyzing Search and Sort In these notes we analyze search and sort. Counting Operations When we analyze the complexity of procedures we re determine the order of the number of
More informationIn his paper of 1972, Parnas proposed the following problem [42]:
another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example
More informationOperating System Overview. Chapter 2
Operating System Overview Chapter 2 1 Operating System A program that controls the execution of application programs An interface between applications and hardware 2 Operating System Objectives Convenience
More informationComputer System Overview
Computer System Overview Introduction A computer system consists of hardware system programs application programs 2 Operating System Provides a set of services to system users (collection of service programs)
More informationArchitectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten
Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)
More informationCS 307: Software Engineering. Lecture 10: Software Design and Architecture
CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationSoftware Development Chapter 1
Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic
More informationSoftware Reuse and Component-Based Software Engineering
Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering
More informationLecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 19 Essentials of Class Models 1 On Naming classes
More informationOrganization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?
Organization of Programming Languages (CSE452) Instructor: Dr. B. Cheng Fall 2004 1 Why are there so many programming languages? Evolution -- we've learned better ways of doing things over time Socio-economic
More informationChapter 6 System Design: Decomposing the System
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6 System Design: Decomposing the System Requirements Elicitation & Analysis results in; Non-functional requirements and constraints
More informationICS 52: Introduction to Software Engineering
ICS 52: Introduction to Software Engineering Fall Quarter 2004 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq04/syllabus.html Copyright 2004, Richard
More informationCreating a Lattix Dependency Model The Process
Creating a Lattix Dependency Model The Process Whitepaper January 2005 Copyright 2005-7 Lattix, Inc. All rights reserved The Lattix Dependency Model The Lattix LDM solution employs a unique and powerful
More information13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515
Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 2 1 Traditional Approach to Requirements Data Flow Diagram (DFD) A graphical system model that shows all of the main requirements for an information
More informationUnit - IV CHAPTER - 13 INTRODUCTION TO OOP WITH C++ Part 1 Choose the best answer
Unit - IV CHAPTER - 13 INTRODUCTION TO OOP WITH C++ Part 1 Choose the best answer 1. The term is used to describe a programming approach based on classes and objects is (A) OOP (B) POP (C) ADT (D) SOP
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 15 October 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 1: Issues of software quality Agenda for today 3 Introduction Some statistics
More informationUniversal Model Framework -- An Introduction
Universal Model Framework -- An Introduction By Visible Systems Corporation www.visible.com This document provides an introductory description of the Universal Model Framework an overview of its construct
More information