On the Criteria to Be Used in Decomposing Systems into Modules Written by D.L. Parnas Presented by Conner Hansen.

Slides:



Advertisements
Similar presentations
Software Engineering Key design concepts Design heuristics Design practices.
Advertisements

1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
Wrap-upCSC4071 CSC407 Wrap-Up. wrap-upCSC4072 Assignment #2/3 (pre-deductions) Average = 67%, S.dev. = 12.5%, max = 90%
Previous Lectures: Planning of a Web site: Discussing the strategic issues of Web site engineering process –Models used for Web site planning –Compare.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Contributions of Dr. David Parnas to the Development of Software Engineering Background History of Computer Technology Career of David Parnas Areas of.
1 SOFTWARE DESIGN QUALITY COHESION and COUPLING (Part I)
Ch4: Software Architecture and Design. 1 What is a design?
1 SYSTEM and MODULE DESIGN Elements and Definitions.
Software Engineering CSE470: Systems Engineering 35 Computer System Engineering Computer System Engineering is a problem-solving activity. Itemize desired.
On the Criteria to Be Used in Decomposing Systems into Modules Group 1: Lisa Anthony, Erik Hayes, Luiza Helena da Silva, and Diana Tetelman.
CS189A/172 - Winter 2008 Lecture 16: Review. What Did We Cover? Challenges in large software development, desirable qualities of software, basic principles.
The Modular Structure of Complex Systems D.L. Parnas, P.C. Clement, and D.M. Weiss Published in IEEE Transactions on Software Engineering, March 1985 Presented.
03 - ParnasCSC4071 A Sketchy Evolution of Software Design 1960s –Structured Programming (“Goto Considered Harmful”, E.W.Dijkstra) Emerged from considerations.
Chapter 12/2 Audit Software Techniques
EVENLODE Air Equipment EVENLODE Power Supply, Heat Exchange & Power Amplifier EVENLODE Video Encoder, Transceiver & Up Converter.
Designing Software for Ease of Extension and Contraction Presented by William Greenwell February 27, 2002.
PHASE 4 SYSTEMS IMPLEMENTATION Application Development SYSTEMS ANALYSIS & DESIGN.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
1 On the Criteria To Be Used in Decomposing Systems into Modules by D.L.Parnas Dec presented by Yuanhua Qu for spring 2003 CS5391.
Ceg860 (Prasad)L6MR1 Modularity Extendibility Reusability.
Pseudocode Demo for Payroll.c
Module 6: Quantifying gaps and measuring coverage ILO, 2013.
On the Criteria to Be Used in Decomposing Systems into Modules Team 3 Nupur Choudhary Aparna Nanjappa Mark Zeits.
Procedures and Functions Computing Module 1. What is modular programming? Most programs written for companies will have thousands of lines of code. Most.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Key Principles of Software Architecture and Design (I) adapted from Dave Penny’s.
Some Software Engineering Principles by D. L. Parnas Presented by Team 7: Amitkumar Dhameja Cincy Francis Rong Gu CS575 - Software Design, Team 7.
C++ Panel Discussion Summary Jim Kowalkowski. Participants Amber Boehnlein Jim Kowalkowski Leo Michelotti Marc Paterno Liz Sexton-Kennedy Bjarne Stroustrup.
1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
1 The Modular Structure of Complex Systems Presented by: SeyedMasoud Sadjadi and Wei Zhu David L. Parnas, Paul C. Clement, and David M. Weiss ICSE 1984.
INF 212 Modularity Instructors: Crista Lopes Copyright © Instructors.
Sales Analysis Monitor and Analyze Sales Performance.
How to defeat feature gluttony Gluttony Source:
Thanks for Coming l WEB. Principles of Good Design SEI, SJTU WEB APPS and SERVICES.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
V Slide 1V Slide 1 V 1.0Slide 1 Staff Deployment Ha Ha! Don’t scare! This training session is not so tough at all!
“Architecture” The outcome of top-level design, reflecting principal design decisions Can (and should) be modified and updated Analogous to architecture.
1 GLOBAL BIOMETRICS Biostatistics Clinical Data Management Epidemiology & Patient Reported Outcomes Statistical Programming and Analysis Strategic Planning,
Chapter 2 Principles of Programming and Software Engineering.
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
INTRODUCTION FINANCIALS PRODUCTS & SERVICES EXPERIENCE TRADE NEW CONCLUSION YOUR PRESENTATION CREATING A MODULAR PRESENTATION One way to ensure presentations.
Visualising and sharing statistical narratives
a Home ? 10.1 Housing Alternatives .
Software Design.
Improve asset availability
Software Design Principles
On the Criteria to Be Used in Decomposing Systems into Modules
Prepared by Charlie Meyer, May 2009
2016 Maintenance Innovation Challenge Automated Inspections and RANDE
Hire Toyota Innova in Delhi for Outstation Tour
Modular Neural Networks for Pattern Classification Using LabVIEW®
Each instruction on a separate line
Qbasic Modular Programming.
CSE 403, Winter 2003 Software Engineering
Objects and Aspects: What we’ve seen so far
Assessment for learning:
Currency Swaps. 1Meaning CurrencySwapsrefertothearrangementwhereprincipaland interestpaymentsinonecurrencyisexchangedforsuch paymentsinanothercurrency.
On the Criteria To Be Used in Decomposing Systems into Modules
On the Criteria To Be Used in Decomposing Systems into Modules D. L
CSE403 Software Engineering Autumn 2000 Design (Overview)
Software Fundamentals
Modules Programmers break programming problems down into smaller, reasonable units called modules, subroutines, procedures, functions, or methods When.
IT323 Project Phase#2.
Chapter 2. Problem Solving and Software Engineering
Modules Programming Guides.
Modules, Subroutines, Procedures, Functions, or Methods
Figure 3-1. Flowchart for the DECFSZ Instruction
Module Structure David Parnas Discusses “modularization”
Presentation transcript:

On the Criteria to Be Used in Decomposing Systems into Modules Written by D.L. Parnas Presented by Conner Hansen

Predicted Benefits Development Time Maintenance and Feature Development System Design and Understanding

Subroutines vs Modularization A program that has subroutines in not necessarily modularized. A programs subroutines can be mapped out with a flowchart. Modularization utilizes information hiding in addition to flowchart design.

Information Hiding Ensures a clean separation Results in a hierarchy Key to modularization