Software Design. Main Points. Programmer s Approach to Software
|
|
- Audra Shaw
- 7 years ago
- Views:
Transcription
1 Software Design Main Points Study desirable software design properties Understand the different notions of complexity Understand classical and object-oriented design methods Understand the use of design patterns Understand software design documentation 2 Programmer s Approach to Software Skip requirements engineering and design phases; Start writing code 3
2 Justification Design is a waste of time We need to show something to the customer real quick We are judged by the amount of code written per month We expect or know that the schedule is too tight But the sooner you start coding, the longer it will take 4 Comments on Design Design is a trial-and-error process There is an interaction between requirements engineering, architecture, and design 5 Software Design as a Wicked Problem There is no definite formulation There is no stopping rule Solutions are not simply true or false Every wicked problem is a symptom of another problem 6
3 Design Principles Abstraction Modularity, coupling and cohesion Information hiding Limit complexity Hierarchical structure 7 Abstraction procedural abstraction: natural consequence of stepwise refinement: name of procedure denotes sequence of actions abstraction subproblems time 8 Abstraction data abstraction: aimed at finding a hierarchy in the data application-oriented data structures general data structures simpler data structure 9
4 Modularity structural criteria which tell us something about individual modules and their interconnections cohesion and coupling cohesion: the glue that keeps a module together coupling: the strength of the connection between modules 10 Types of Cohesion coincidental cohesion logical cohesion temporal cohesion procedural cohesion communicational cohesion sequential cohesion functional cohesion 11 Types of Coupling content coupling common coupling external coupling control coupling stamp coupling data coupling 12
5 Simple Interfaces Simple Interfaces result from strong cohesion and weak coupling Advantages: simpler communication simpler correctness proofs changes influence other modules less often reusability increases comprehensibility improves less error prone 13 Information Hiding each module has a secret design involves a series of decisions: for each such decision, wonder who needs to know and who can be kept in the dark information hiding is strongly related to abstraction: if you hide something, the user may abstract from that fact coupling: the secret decreases coupling between a module and its environment cohesion: the secret is what binds the parts of the module together 14 Complexity measure certain aspects of the software (lines of code, # of if-statements, depth of nesting, ) use these numbers as a criterion to assess a design, or to guide the design complexity measures may be: size based structure based 15
6 Counting Lines of Code How many lines of code is this? #include <stdio.h> #define NULL 0 main () { int i; for (i=0;i<10;i++) printf(%d,i); } 16 Sized-based Complexity Measures counting lines of code differences in verbosity differences between programming languages a:= b versus while p <> null do p:= p.next Halstead s software science, essentially counting operators and operands 17 Software Science Basic Entities n 1 : number of unique operators n 2 : number of unique operands N 1 : total number of operators N 2 : total number of operands 18
7 Software Science Formulas size of vocabulary: n = n 1 + n 2 program length: N = N 1 + N 2 volume: V = N log 2 n Program Level: L = V*/ V approximation: L = (2/n 1 )(n 2 /N 2 ) programming effort: E = V/L estimated programming time: T = E/18 estimate of length = n 1 log 2 n 2 + n 2 log 2 n 2 19 Structure-Based Measures based on control structures data structures or both example complexity measure based on data structures: average number of instructions between successive references to a variable 20 Difficulties with Complexity Measures complexity measures are not very context sensitive complexity measures take into account few aspects 21
8 height System Structure looks at the complexity of the dependencies between modules draw modules and their dependencies in a graph then the arrows connecting modules may denote several relations, such as: A contains B A precedes B A uses B 22 Measurements } size # nodes # edges width 23 Object-Oriented Metrics WMC: Weighted Methods per Class DIT: Depth of Inheritance Tree NOC: Number Of Children CBO: Coupling Between Object Classes RFC: Response For a Class LCOM: Lack of Cohesion of methods of a class 24
9 Weighted Methods per Class measure for size of class WMC = c(i), i = 1,, n (number of methods) c(i) = complexity of method i mostly, c(i) = 1 25 Depth of Class in Inheritance Tree DIT = distance of class to root of its inheritance tree DIT is somewhat language-dependent widely accepted heuristic: strive for a forest of classes, a collection of inheritance trees of medium height 26 Number Of Children NOC: counts immediate descendants higher values NOC are considered bad: possibly improper abstraction of the parent class also suggests that class is to be used in a variety of settings 27
10 Coupling Between Object Classes two classes are coupled if a method of one class uses a method or state variable of another class CBO = count of all classes a given class is coupled with high values: something is wrong 28 Response For a Class RFC measures the immediate surroundings of a class RFC = size of the response set response set = {M} {Ri} R1 M1 M2 M3 29 Lack of Cohesion of a Method cohesion = glue that keeps the module (class) together if all methods use the same set of state variables: OK, & that is the glue if some methods use a subset of the state variables, and others use another subset, the class lacks cohesion LCOM = number of disjoint sets of methods in a class two methods in the same set share at least one state variable 30
11 Classical Design Methods Functional decomposition Data Flow Design Design based on Data Structures 31 Functional Decomposition bottom-up top-down 32 Functional Decomposition Extremes: bottom-up and top-down Not used as such; design is not purely rational: clients do not know what they want changes influence earlier decisions people make errors projects do not start from scratch 33
12 acknowledgement Data Flow Design Yourdon and Constantine (early 70s) Modern version: two-step process: Structured Analysis (SA), resulting in a logical design, drawn as a set of data flow diagrams Structured Design (SD) transforming the logical design into a program structure drawn as a set of structure charts 34 Data Flow Diagram Entities external entities processes data flows data stores 35 First-level Decomposition client request report management direction borrow request prelim. doc return request log data prelim. doc log data borrow title title title catalog adm. prelim. doc log file 36
13 Design Based on Data Structures JSP = Jackson Structured Programming (for programming-in-the-small) JSD = Jackson Structured Design (for programming-in-the-large) 37 JSP: Jackson Structured Programming basic idea: good program reflects structure of its input and output program can be derived almost mechanically from a description of the input and output input and output are depicted in a structure diagram and/or in structured text/schematic logic (a kind of pseudocode) three basic compound forms: sequence, iteration, and selection) 38 Compound components in JSP sequence iteration selection A A A B C D B * B o C o D o 39
14 JSD: Jackson Structured Design Problem with JSP: how to obtain a mapping from the problem structure to the data structure? JSD tries to fill this gap JSD has three stages: modeling stage: description of real world problem in terms of entities and actions network stage: model system as a network of communicating processes implementation stage: transform network into a sequential design 40 Object Oriented Analysis and Design Methods Three step process: 1 identify the objects 2 determine their attributes and services 3 determine the relationships between objects 41 Identifying the Objects Generate a candidate list based on objects in the UoD Carefully consider candidate list: eliminate implementation constructs, such as software replace or eliminate vague terms: system computer equate synonymous terms: customer and client client 42
15 Identifying Relationships From the problem statement From tacit knowledge 43 Result: initial class diagram 44 Usage Scenario Sequence Diagram 45
16 OO Design Methods Booch: early, new and rich set of notations Fusion: more emphasis on process RUP: full life cycle model associated with UML 46 Booch method identify classes and objects identify semantics of classes and objects identify relationships between classes and objects identify interface and implementation of classes and objects 47 Fusion Analysis object model interface model Design object interaction graphs visibility graphs class descriptions inheritance graphs 48
17 RUP: Rational Unified Process Information represented as workflows Four phases: inception, elaboration, construction, transition 49 Classification of Design Methods Simple model with two dimensions: Orientation dimension: Problem-oriented: understand problem and its solution Product-oriented: correct transformation from specification to implementation Product/model dimension: Conceptual: descriptive models Formal: prescriptive models 50 Classification of design methods (cnt d) problem-oriented product-oriented conceptual I ER modeling Structured analysis II Structured design formal III JSD VDM IV Functional decomposition JSP 51
18 Criteria for Choosing a Design Method Familiarity with the problem domain Designer s experience Available tools Development philosophy 52 Object-orientation: Does it Work? do object-oriented methods adequately capture requirements engineering? do object-oriented methods adequately capture design? do object-oriented methods adequately bridge the gap between analysis and design? are object-oriented methods really an improvement? 53 Design Patterns Provide solution to a recurring problem Balance set of opposing forces Document well-proven design experience Abstraction above the level of a single component Provide common vocabulary and understanding Are a means of documentation Supports construction of software with defined properties 54
19 Example Design Pattern: Proxy Context: Client needs services from other component, direct access may not be the best approach Problem: We do not want hard-code access Solution: Communication via a representative, the Proxy 55 Antipatterns Patterns describe desirable behavior Antipatterns describe situations one had better avoid In agile approaches (XP), refactoring is applied whenever an antipattern has been introduced 56 Example Antipatterns God class: one class holds most responsibilities Lava flow: dead code Poltergeist: class with few responsibilities and a short life Golden Hammer: solution that does not fit the problem Stovepipe: different technologies used to solve similar problems making integration difficult Swiss Army Knife: class is too general and too reusable 57
20 Design Documentation Needs to accommodate different users: Project manager Configuration manager Designer Programmer Unit tester Integration tester Maintenance programmer 58 IEEE Standard 1016 Documentation Attributes Identification Type Purpose Function Subordinates Dependencies Interface Resources Processing Data 59 Summary Essence of the design process: decompose system into parts Desirable properties of a decomposition: coupling/cohesion, information hiding, (layers of) abstraction There have been many attempts to express these properties in numbers Design methods: functional decomposition, data flow design, data structure design, object-oriented design 60
Design methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD)
Design methods List of possible design methods Functional decomposition Data Flow Design (SA/SD) Design based on Data Structures (JSD/JSP) OO is good, isn t it Decision tables E-R Flowcharts FSM JSD JSP
More informationVragen en opdracht. Complexity. Modularity. Intra-modular complexity measures
Vragen en opdracht Complexity Wat wordt er bedoeld met design g defensively? Wat is het gevolg van hoge complexiteit icm ontwerp? Opdracht: http://www.win.tue.nl/~mvdbrand/courses/se/1011/opgaven.html
More informationObject Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
More informationDefinitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process
Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -
More informationIn this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
More informationPERANCANGAN SISTEM INFORMASI
PERANCANGAN SISTEM INFORMASI Session 9 Program Design Based on on System Analysis & Design 2 nd nd Edition Authors :: Alan Dennis & Barbara Haley Wixom Publisher :: John Wiley & Sons Faculty of Computer
More informationPercerons: A web-service suite that enhance software development process
Percerons: A web-service suite that enhance software development process Percerons is a list of web services, see http://www.percerons.com, that helps software developers to adopt established software
More informationKarunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
More informationD6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013 The purpose of these questions is to establish that the students understand the basic ideas that underpin the course. The answers
More informationEVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
More informationHow To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
More informationEngineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
More informationAutomatic software measurement data collection for students
Automatic software measurement data collection for students 1. Automatic software measurement within a software engineering class Software is invisible and complex, so it is difficult to understand the
More informationBasic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
More informationArchitecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/
Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1
More informationHow To Calculate Class Cohesion
Improving Applicability of Cohesion Metrics Including Inheritance Jaspreet Kaur 1, Rupinder Kaur 2 1 Department of Computer Science and Engineering, LPU, Phagwara, INDIA 1 Assistant Professor Department
More informationChap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
More informationSoftware Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
More informationChap 4. Using Metrics To Manage Software Risks
Chap 4. Using Metrics To Manage Software Risks. Introduction 2. Software Measurement Concepts 3. Case Study: Measuring Maintainability 4. Metrics and Quality . Introduction Definition Measurement is the
More informationLecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
More informationQuality Analysis with Metrics
Rational software Quality Analysis with Metrics Ameeta Roy Tech Lead IBM, India/South Asia Why do we care about Quality? Software may start small and simple, but it quickly becomes complex as more features
More informationMasters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
More informationChapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management
Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring
More informationObject-oriented design methodologies
Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard
More informationAlgorithms, Flowcharts & Program Design. ComPro
Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationSOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
More informationApplying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
More informationTable of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24
Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes
More informationA Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
More informationModule 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur
Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of
More informationBaseline Code Analysis Using McCabe IQ
White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges
More informationChapter 3. Technology review. 3.1. Introduction
Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in
More informationFunctional Modeling with Data Flow Diagrams
Functional Modeling with Data Flow Diagrams Amasi Elbakush 5771668 Teaching Assistant : Daniel Alami Utrecht University 1 Introduction Data Flow Diagrams (DFDs) are a visual representation of the flow
More informationTOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
More information(BA122) Software Engineer s Workshop (SEW)
Training for the Business Analyst (BA122) Software Engineer s Workshop (SEW) Duration: 4 days CDUs (Continuing Development Units): 28 Description: A practical workshop covering the role of the Business-Systems
More informationIncreasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
More informationCOSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz
COSC 3351 Software Design Recap for the first quiz Spring 2008 For the 1 st Quiz Three large topic areas: UML syntax and diagrams Software architectural styles Object oriented design principles A couple
More informationModeling Web Applications Using Java And XML Related Technologies
Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik
More informationChapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
More informationSoftware Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng
Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work
More informationDevelopment models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
More informationA Business Process Driven Approach for Generating Software Modules
A Business Process Driven Approach for Generating Software Modules Xulin Zhao, Ying Zou Dept. of Electrical and Computer Engineering, Queen s University, Kingston, ON, Canada SUMMARY Business processes
More informationObject Oriented Metrics Based Analysis of DES algorithm for secure transmission of Mark sheet in E-learning
International Journal of Computer Sciences and Engineering Open Access Research Paper Volume-4, Special Issue- E-ISSN: 347-693 Object Oriented Metrics Based Analysis of DES algorithm for secure transmission
More informationRequirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK
IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational
More informationHow To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)
UML Tutorial: Collaboration Diagrams Robert C. Martin Engineering Notebook Column Nov/Dec, 97 In this column we will explore UML collaboration diagrams. We will investigate how they are drawn, how they
More informationSoftware Design Document (SDD) Template
(SDD) Template Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the implementation phase.
More informationFunctional Decomposition Top-Down Development
Functional Decomposition Top-Down Development The top-down approach builds a system by stepwise refinement, starting with a definition of its abstract function. You start the process by expressing a topmost
More informationTRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
More informationIT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
More informationII. TYPES OF LEVEL A.
Study and Evaluation for Quality Improvement of Object Oriented System at Various Layers of Object Oriented Matrices N. A. Nemade 1, D. D. Patil 2, N. V. Ingale 3 Assist. Prof. SSGBCOET Bhusawal 1, H.O.D.
More informationChapter 3 Technology adapted
Chapter 3 Technology adapted 3.1 Introduction In developing a web enabled solution for laboratory data and document management, there are several options available for system analysis and designing, documentation
More informationCS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers
CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the
More informationFourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
More informationChapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
More informationChapter 4 DECISION ANALYSIS
ASW/QMB-Ch.04 3/8/01 10:35 AM Page 96 Chapter 4 DECISION ANALYSIS CONTENTS 4.1 PROBLEM FORMULATION Influence Diagrams Payoff Tables Decision Trees 4.2 DECISION MAKING WITHOUT PROBABILITIES Optimistic Approach
More informationUnit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML
Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML System Development (SD) : - o SD refers to all activities that go into producing
More informationClassnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e.
Classnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e., a representation of information as a continuous flow that
More informationUsing Library Dependencies for Clustering
Using Library Dependencies for Clustering Jochen Quante Software Engineering Group, FB03 Informatik, Universität Bremen quante@informatik.uni-bremen.de Abstract: Software clustering is an established approach
More informationA Structured Methodology For Spreadsheet Modelling
A Structured Methodology For Spreadsheet Modelling ABSTRACT Brian Knight, David Chadwick, Kamalesen Rajalingham University of Greenwich, Information Integrity Research Centre, School of Computing and Mathematics,
More informationBusiness Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 7: Finding Analysis Classes 1 Analysis Workflow: Analyze a Use Case The analysis workflow consists of the following activities: Architectural analysis
More informationCHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
More informationSOA: The missing link between Enterprise Architecture and Solution Architecture
SOA: The missing link between Enterprise Architecture and Solution Architecture Jaidip Banerjee and Sohel Aziz Enterprise Architecture (EA) is increasingly being acknowledged as the way to maximize existing
More informationQuality prediction model for object oriented software using UML metrics
THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE. UML Quality prediction model for object oriented software using UML metrics CAMARGO CRUZ ANA ERIKA and KOICHIRO
More informationCS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:
CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if
More information3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
More informationSOMA, RUP and RMC: the right combination for Service Oriented Architecture
SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational keith_mantell@uk.ibm.com March
More informationSoftware development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)
More informationCS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
More informationBusiness Architecture with ArchiMate symbols and TOGAF Artefacts
Business Architecture with ArchiMate symbols and TOGAF Artefacts This is a supplement to the broader framework TOGAF s generic conceptual framework with ArchiMate symbols http://grahamberrisford.com/00eaframeworks/03togaf/togaf%20conceptual%20framework%20-%20with%20archimate%20symbols.pdf
More informationIntroduction to OpenUP (Open Unified Process)
Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture
More informationThe most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
More informationExtend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
More informationIn this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Integrated Object-Oriented Methodologies: OPEN and FOOM 1 Object-oriented Process, Environment and Notation (OPEN) First introduced in
More informationA COMPARATIVE STUDY OF VARIOUS SOFTWARE DEVELOPMENT METHODS AND THE SOFTWARE METRICS USED TO MEASURE THE COMPLEXITY OF THE SOFTWARE
A COMPARATIVE STUDY OF VARIOUS SOFTWARE DEVELOPMENT METHODS AND THE SOFTWARE METRICS USED TO MEASURE THE COMPLEXITY OF THE SOFTWARE Pooja Kaul 1, Tushar Kaul 2 1 Associate Professor, DAV Institute of Management
More informationVisualization of Software Metrics Marlena Compton Software Metrics SWE 6763 April 22, 2009
Visualization of Software Metrics Marlena Compton Software Metrics SWE 6763 April 22, 2009 Abstract Visualizations are increasingly used to assess the quality of source code. One of the most well developed
More informationSoftware Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model
Software Design Design (I) Software Design is a process through which requirements are translated into a representation of software. Peter Lo CS213 Peter Lo 2005 1 CS213 Peter Lo 2005 2 Relationships between
More informationRose/Architect: a tool to visualize architecture
Published in the Proceedings of the 32 nd Annual Hawaii International Conference on Systems Sciences (HICSS 99) Rose/Architect: a tool to visualize architecture Alexander Egyed University of Southern California
More informationSoftware Engineering
Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in
More informationHow To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
More informationIAI : Expert Systems
IAI : Expert Systems John A. Bullinaria, 2005 1. What is an Expert System? 2. The Architecture of Expert Systems 3. Knowledge Acquisition 4. Representing the Knowledge 5. The Inference Engine 6. The Rete-Algorithm
More informationObject-Oriented Design Guidelines
Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
More informationThe structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.
Logging makes sense for testbench debug The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao. SystemVerilog provides
More informationSoftware Testing Strategies and Techniques
Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,
More informationPerformance Evaluation of Reusable Software Components
Performance Evaluation of Reusable Software Components Anupama Kaur 1, Himanshu Monga 2, Mnupreet Kaur 3 1 M.Tech Scholar, CSE Dept., Swami Vivekanand Institute of Engineering and Technology, Punjab, India
More informationDevelopment/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
More informationIMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose
More informationPHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.
PHP Code Design PHP is a server-side, open-source, HTML-embedded scripting language used to drive many of the world s most popular web sites. All major web servers support PHP enabling normal HMTL pages
More informationData Flow Diagrams and Use cases
. Business Analysis Whitepaper Data Flow Diagrams and Use cases 2006 Majik Consulting, All rights reserved Page 1 of 16 Copy No: Document No Unauthorised Copying Revision: 1.0 27 December 2008 2006 Majik
More informationModule 11. Software Project Planning. Version 2 CSE IIT, Kharagpur
Module 11 Software Project Planning Lesson 27 Project Planning and Project Estimation Techniques Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the job
More informationAn Agile Formal Development Methodology
An Agile Formal Development Methodology George Eleftherakis 1 and Anthony J. Cowling 2 1 Computer Science Department City Liberal Studies Affiliated College of the University of Sheffield 13 Tsimiski Str.,
More informationComparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development
Comparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development Nabil Mohammed Ali Munassar 1 PhD Student 3 rd year of Computer Science & Engineering Jawaharlal
More informationUnit Title: Personnel Information Systems Unit Reference Number: F/601/7510 Guided Learning Hours: 160 Level: Level 5 Number of Credits: 18
Unit Title: Personnel Information Systems Unit Reference Number: F/601/7510 Guided Learning Hours: 160 Level: Level 5 Number of Credits: 18 Unit objective and aim(s): This unit aims to give learners a
More informationDesign Patterns for Complex Event Processing
Design Patterns for Complex Event Processing Adrian Paschke BioTec Center, Technical University Dresden, 01307 Dresden, Germany adrian.paschke AT biotec.tu-dresden.de ABSTRACT Currently engineering efficient
More informationOpen Source Software: How Can Design Metrics Facilitate Architecture Recovery?
Open Source Software: How Can Design Metrics Facilitate Architecture Recovery? Eleni Constantinou 1, George Kakarontzas 2, and Ioannis Stamelos 1 1 Computer Science Department Aristotle University of Thessaloniki
More informationThe Software Development Process
Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016 Lecture 03 (26.10.2015) The Software Development Process Christoph Lüth Jan Peleska Dieter Hutter Your Daily Menu Models of software
More informationProcess Models and Metrics
Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers
More information