23 Pages

lecture4 software design 2

Course: COMS 319, Spring 2008
School: Iowa State
Rating:
 
 
 
 
 

Word Count: 1375

Document Preview

Design Software II Some Enabling Techniques Identify the Software Architecture Decompose System into Modules Module is a single executable file that is only a part of the application Decomposing and modularizing large software into a number of smaller independent ones, usually with the goal of placing different functionalities or responsibilities in different components Modules are abstractions that should...

Register Now

Unformatted Document Excerpt

Coursehero >> Iowa >> Iowa State >> COMS 319

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Design Software II Some Enabling Techniques Identify the Software Architecture Decompose System into Modules Module is a single executable file that is only a part of the application Decomposing and modularizing large software into a number of smaller independent ones, usually with the goal of placing different functionalities or responsibilities in different components Modules are abstractions that should be independent have well-specified interfaces have high cohesion and low coupling Coupling and cohesion Coupling is defined as the strength of the relationships between modules Cohesion is defined by how the elements making up a module are related As described above, we should maximize internal cohesion and minimize external coupling of modules during the decomposition of a system Determine Relations Between Modules Identify module dependencies Determine the form of inter-module communication global variables parameterized function calls shared memory RPC or message passing Specify Module Interfaces Interfaces should be well-defined Describe Module Functionality Informally (comments or documentation) Formally (via module interface specification languages) Modularity A module interface consists of several sections Imports Services requested from other modules Exports Services provided to other modules Access Control Heuristics for determining interface specification define one specification that allows multiple implementations anticipate change e.g., use structures and classes for parameters Criteria for Evaluating Modular Designs (1/2) Modular Decomposability Does the method aid decomposing a new problem into several separate sub-problems? (e.g., top-down functional design) Modular Composability Does the method aid constructing new systems from existing software components? (e.g., bottom-up design) Modular Understandability Are modules separately understandable by a human reader, e.g., how tightly coupled are they? Criteria for Evaluating Modular Designs (2/2) Modular Continuity Do small changes to the specification affect a localized and limited number of modules? Modular Protection Are the effects of run-time abnormalities confined to a small number of related modules? Architectural patterns Architectural Patterns (1/2) Definition of Pattern If something is strictly described and commonly available, it is a pattern An architectural pattern expresses a fundamental structural organization schema for a software system, which consists of subsystems, their responsibilities and interrelations Although an architectural pattern conveys an image of a system, it is not an architecture An architectural pattern is rather a concept that captures essential elements of a software architecture Architectural Patterns (2/2) One of the most important aspects of architectural patterns is that they embody different quality attributes For example, some patterns represent solutions to performance problems and others can be used successfully in high-availability systems In the early design phase, a software architect makes a choice of which architectural pattern(s) best provide the system's desired qualities The commonly used architectural patterns include Presentation-abstraction-control Three-tier Pipeline Implicit invocation Blackboard system Peer-to-peer Service Oriented Architecture Naked objects Model-View-Controller Three-Tier (1/3) Multi-tier architecture (often referred to as n-tier architecture) is a client-server architecture in which an application is executed by more than one distinct software agent For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture The most widespread use of "multi-tier architecture" refers to three-tier architecture Three-Tier (2/3) Three-tier is a client-server architecture in which the user interface, functional process logic, computer data storage and data access are developed and maintained as independent modules Presentation Tier This is the top most level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network. Application Tier/Logic Tier/Business Logic Tier The logic tier is pulled out from the presentation tier and, as its own layer, it controls an application's functionality by performing detailed processing Data Tier This tier consists of Database Servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance. Three-Tier (1/3) (3/3) Peer-to-peer A peer-to-peer computer network uses diverse connectivity between participants in a network and the cumulative bandwidth of network participants rather than conventional centralized resources where a relatively low number of servers provide the core value to a service or application A pure peer-to-peer network does not have the notion of clients or servers, but only equal peer nodes that simultaneously function as both "clients" and "servers" to the other nodes on the network Peer-to-peer (2/3) Peer-to-peer networks can be classified by what they can be used for file sharing telephony media streaming (radio, video) discussion forums Advantage An important goal in peer-to-peer networks is that all clients provide resources, including bandwidth, storage space, and computing power Peer-to-peer (3/3) Unstructured P2P An unstructured P2P network is formed when the overlay links are established arbitrarily The networks can be easily constructed as a new peer that wants to join the network can copy existing links of another node and then form its own links over time If a peer wants to find a desired piece of data in the network, the query has to be flooded through the network to find as many peers as possible that share the data The main disadvantage with such networks is that the queries may not always be resolved (ex: rare data) Structured P2P employs a globally consistent protocol to ensure that any node can efficiently route a search to some peer that has the desired file, even if the file is extremely rare Service Oriented Architecture (SOA) (1/2) SOA is an architectural style that guides all aspects of creating and using business processes, packaged as services, throughout their lifecycle, as well as defining and provisioning the IT infrastructure that allows different applications to exchange data and participate in business processes loosely coupled from the operating systems and programming languages underlying those applications SOA represents a model in which functionality is decomposed into distinct units (services), which can be distributed over a network and can be combined together and reused to create business applications These services communicate with each other by passing data from one service to another, or by coordinating an activity between two or more services Roles in SOA (2/2) Each SOA building block can play one or more of three roles Service provider Service broker The service broker, also known as service registry, is responsible for making the Web service interface and implementation access information available to any potential service requestor Service requestor Model-view-controller (1/4) In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller Model-view-controller (2/4) Controller View Model Model-view-controller (3/4) Model The domain-specific representation of the information that the application operates. Domain logic adds meaning to raw data (e.g., calculating whether today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items). Many applications use a persistent storage mechanism (such as a database) to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the Model Model-view-controller (4/4) View Renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes Controller Processes and responds to events, typically user actions, and may invoke changes on the model MVC is often seen in web applications, where the view is the actual HTML page, and the controller is the code that gathers dynamic data and generates the content within the HTML. Finally, the model is represented by the actual content, usually stored in a database or XML files Three-Tier vs. Model-view-controller They are topologically different A fundamental rule in a three-tier architecture is the client tier never communicates directly with the data tier; in a three-tier model all communication must pass through the middleware tier Conceptually the three-tier architecture is linear For MVC, the View sends updates to the Controller, the Controller updates the Model, and the View gets updated directly from the Model MVC architecture is triangular
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Iowa State - COMS - 319
Unified Modeling LanguageWhat is UML? The Unified Modeling Language (UML) is astandard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software
Iowa State - COMS - 319
Com S 319 Introduction to Java GUIYih-Cheng (Bruce) Lee byclee@iastate.eduWhat we cover Introduction GUI Components & Containers GUI Layout Event Handling Often used componentsIntroduction GUIs (Graphic User Interface) represent a great ex
Iowa State - COMS - 319
Introduction to Microsoft .Net FrameworkYih-Cheng (Bruce) Lee byclee@iastate.eduFeb 4th, 2008Office hour: Tu 11:30 ~ 12:30 Office: B13 AtanasoffOutline What is Microsoft .NET ? How .NET works? Useful .Net Class Library IDE Tools Compariso
Iowa State - COMS - 319
Unified Modeling Language IIInteraction Diagrams Interaction diagrams model the behavior of use cases bydescribing the way groups of objects interact to complete the task Sequence diagrams and Collaboration diagrams When to use Interaction d
Iowa State - COMS - 319
Unified Modeling Language IIIState Diagram (1/11) State diagrams are used to describe the behavior of a system It shows the change of an object through time It describe all of the possible states of an object as events occur Based upon events
Iowa State - COMS - 319
Com S 319 C# Language Quick OverviewYih-Cheng (Bruce) Lee byclee@iastate.eduBefore we begin You all know Java language. The syntax of C# is very similar to Java. You can read C# code very easily. When you see C# syntax, please think about corres
Iowa State - COMS - 319
Information HidingIntroduction of Information Hiding (1/2) David Parnas first introduced the concept of informationhiding around 1972 He argued that the primary criteria for system modularizationshould concern the hiding of critical design de
Iowa State - COMS - 319
User Interface DesignThe Importance of the User Interfaces The interface is in many ways the "packaging" for computersoftware If it is easy to learn, simple to use, straightforward, andforgiving, the user will be inclined to make good use of
Iowa State - COMS - 319
Com S 319 Windows Forms in C#Yih-Cheng (Bruce) Lee byclee@iastate.edu Office Hour: Tu 11:30 ~ 12:30 Office: B13 AtanasoffOutline Accessing properties of an object in .Net way Form class Windows Forms Controls by FunctionWindows Forms Controls
Iowa State - COMS - 319
User Interface Design IIInput Design Basic Principles The goal is to simply and easily capture accurate informationfor the system Reflect the nature of the inputs Find ways to simplify their collectionOnline versus Batch Processing Online
Iowa State - COMS - 319
ADA IDesign Goals of Ada From the Ada Language Reference Manual (LRM):"Ada was designed with three overriding concerns: program reliability and maintenance, programming as a human activity, and efficiency" Of note is the sentence, also from th
Iowa State - COMS - 319
Com S 319 Windows Form Technique 1Bruce Yih-Cheng Lee 2008/3/3 Update UI from different threads Delegate (function pointer) InvokeRequired property of Control class BeginInvoke method of Control class BackgroundWorker DoWork event Progr
Iowa State - COMS - 319
Ada II"=": BOOLEAN operator for equality Is_It := (One + 1) = Two;Is_It := (1 + 1) = 2; Is_It := 2 = 2; Is_It := TRUE; The single equal sign is the BOOLEAN operator for equality,and if the two expressions being evaluated are of the same value
Iowa State - COMS - 319
Ada IIISubprogram with Ada.Text_IO; use Ada.Text_IO;procedure Proced1 is procedure Write_A_Line is begin Put("This is a line of text."); New_Line; end Write_A_Line; begin Write_A_Line; Write_A_Line; end Proced1;Output - Result of execution-
Iowa State - COMS - 319
A Comparison of Ada and JavaTM as a Foundation Teaching LanguageBenjamin M. Brosgol Ada Core Technologies 79 Tobey Road Belmont, MA 02478 (617) 489-4027 (phone) (617) 489-4009 (FAX) brosgol@gnat.com http:/www.gnat.comIntroductionJava has entered t
Texas State - GEOGRAPHY - 3303
Image Source: BP PressGeography 3321 Energy Resource ManagementEnergy Web Site Review and SummaryPetroleumPrepared for Prof. Mark L. Carter ByNicholas J. PocknallSeptember 20th, 2007Table of Contents Useful Internet Resources for Petrole
Wisconsin - SOC - 131
1DURKHEIMPunishment is primarily concerned with keeping the society held together. Social Solidarity: What holds individuals together in social institutions Two Types of Solidarity: Mechanical and Organic (Society moved from Mech to Org) Mechanica
Wisconsin - COM DIS - 110
CD110 INTRODUCTION TO COMMUNICATIVE DISORDERS Review Lecture for Second Exam November 14, Fall 2007I.Speech Anatomy and PhysiologyA. Respiratory system as power supply, develops relatively constant pressures that will be used to create vocal fo
Wisconsin - COM DIS - 110
CD110 INTRODUCTION TO COMMUNICATIVE DISORDERS Review Lecture for Section on Hearing December 12, FALL 2007I.Acoustics & Psychoacoustics A. Terminology for sound 1. Kinematics: the study of pure motion (vibration of air molecules) 2. Dynamics: the
Wisconsin - SOC - 131
Nietzsche, Durkheim, Foucault, and SpierenbergI. Friedrich Nietzsche (1844-1900) a. German philosopher i. Critical work on religion, culture, morality, and science ii. Famous ideas: 1. God is dead 2. Will to power b. "On the Genealogy of Morals" i.
Wisconsin - PSY - 202
Review Study Guide for Psychology, Exam III Schizophrenia I. Brain Pathology A. Enlarged cerebral ventricles among those with negative symptoms of schizophrenia i. Hollow, fluid-filled cavities in brain ii. Continues to enlarge as the disorder progre
Wisconsin - PSY - 202
Vocabulary Study Guide for Exam II CHAPTER FOUR (pp. 139-195) Developmental Psychology: a branch of psychology that studies physical, cognitive, and social change throughout the life span. Zygote: the fertilized egg; it enters a 2-week period of rapi
Wisconsin - SOC - 131
Theorist DurkheimKey Arguments 1.) Crime is necessary and serves a purpose within society. (Lec.1/29) 2.) Society defines itself by how they punish. (Disc. 2/8) 3.) In order for punishment to restore the collective conscience of a society, it must
Wisconsin - ASTRO - 103
AST 103 Midterm 1 Review Exam is 3/3/08 in class Exam is closed book/closed notes. Formulas will be provided. Bring a No. 2 pencil for the exam and a photo ID. Calculators are OK, but will not be needed. There will be 50 multiple-choice questions. Th
Texas State - GEOGRAPHY - 3303
PetroleumNicholas J. PocknallPetroleum the what and how Petroleum oily, flammable liquid that occurs naturally in deposits, usually beneath the surface of the earth; it is also called crude oil. Consists mostly of hydrocarbons, with traces of
Wisconsin - ASTRO - 103
Wisconsin - ASTRO - 103
Texas State - GEOGRAPHY - 3303
Nicholas James Pocknall 826 Burleson Street Apt. B San Marcos, TX 78666 November 27th, 2007 Representative Rick Hardcastle Capitol Building E2.706 Capitol Building Austin, TX 78768-2910Dear Rick Hardcastle: I am writing you to give my support on th
Wisconsin - ECON - 302
Economics 302 Spring 2008 Answers to Homework #2 Homework will be graded for both content and neatness. This homework does not require the use of Microsoft Excel, but you will find Excel speeds up the calculations greatly in this homework. 1) Conside
University of Texas - FIN - 356
CHAPTER 1 INTRODUCTION TO CORPORATE FINANCEAnswers to Concept Questions 1. The three basic forms are sole proprietorships, partnerships, and corporations. The advantages and disadvantages of sole proprietorships and partnerships are: Disadvantages:
University of Texas - FIN - 356
CHAPTER 2 FINANCIAL STATEMENTS AND CASH FLOWAnswers to Concepts Review and Critical Thinking Questions 1. Liquidity measures how quickly and easily an asset can be converted to cash without significant loss in value. It's desirable for firms to have
University of Texas - FIN - 356
CHAPTER 3 FINANCIAL STATEMENTS ANALYSIS AND LONG-TERM PLANNINGAnswers to Concepts Review and Critical Thinking Questions 1. Time trend analysis gives picture of changes in the company's financial situation over time. Comparing a firm to itself over
University of Texas - FIN - 356
CHAPTER 4 DISCOUNTED CASH FLOW VALUATIONAnswers to Concepts Review and Critical Thinking Questions 1. Assuming positive cash flows and interest rates, the future value increases and the present value decreases. Assuming positive cash flows and inter
University of Texas - FIN - 356
CHAPTER 5 INTEREST RATES AND BOND VALUATIONAnswers to Concepts Review and Critical Thinking Questions 1. No. As interest rates fluctuate, the value of a Treasury security will fluctuate. Long-term Treasury securities have substantial interest rate r
University of Texas - FIN - 356
CHAPTER 6 STOCK VALUATIONAnswers to Concepts Review and Critical Thinking Questions 1. The value of any investment depends on its cash flows; i.e., what investors will actually receive. The cash flows from a share of stock are the dividends. Investo
Wisconsin - ECON - 302
Economics 302 Name _ Spring 2008: Monday/Wednesday Lecture First Midterm Student ID Number _ March 3, 2008 Section Number _This 75 point midterm consists of three parts: a short response section with 5 short response questions worth 5 points each or
Wisconsin - ECON - 302
Economics 302 Spring 2007 Answers to First Midterm February 22, 2007Name _ Student ID Number _ Section Number _This midterm consists of four parts: a binary choice section comprised of 10 questions worth 2 points each; a short response section wi
Texas State - GEOGRAPHY - 3343
Nick Pocknall - GEO 4313 - 10/15/2007Environmental Impact Statement Briefing Project Proposed Action: "Environmental Impact Assessment of Non-governmental activities in Antarctica" Date: April 30th, 1997 Location: Washington, D.C. Primary Activity
Iowa State - CHEM - 178L
CHEMISTRY 178L SAFETY ASSIGNMENT "Salts and Hydrolysis" 1. Ammonium NitrateA) Causes eye irritation. May cause severe irritation and possible burns. Dizziness, drowsiness, headache, breath shortness. May cause nausea, vomiting, and diarrhea, possib
Iowa State - CHEM - 178L
Chem 178L Safety Acids and Bases 1. Hydrochloic AcidA) Causes eye and skin burns. May cause severe respiratory tract irritation with possible burns. May cause severe digestive tract irritation with possible burns. B) Extensive irrigation with water
Iowa State - SOC - 330
-WEDNESDAY FEBRUARY 13TH DAY 13-Beyond Black and White: Remaking Race in America by Lee and Bean -rigid definitions of race no longer apply -in 2050 20% of the population will be multiracial -use of the term mulatto, quadroon for 1 fourth black, octo
Iowa State - SOC - 330
-WEDNESDAY JANUARY 16TH DAY 2-melanin - pigmint in the skin that prevents skin disease vitamin d - comes from fish or sunlight, prevents brittle bones natural selction cultural selection - lighter skin children were favored in northern climates black
Iowa State - CHEM - 178L
Oxalic Acid Eye: May cause severe eye irritation. May result in corneal injury. Skin: Causes skin irritation. Harmful if absorbed through the skin. Rare chemical burns may occur from oxalic acid and may cause hypocalcemia. Gangrene has occurred in th
Wisconsin - CHEM - 103
Net Equations a. Only strong soluble electrolytes are written as ions. i. Seven strong acids: H2SO4 (aq) [sulfuric acid], HNO3 (aq) [nitric acid], HClO3 (aq) [chloric acid], HClO4 (aq) [perchloric acid], HCl (aq) [hydrochloric acid], HBr (aq) [hydrob
Wisconsin - CHEM - 103
Finish Chapter 6 K/T/W. Read "Chemistry of Fuels/Energy Sources" pp. 283-293. Begin Chapter 7. Atomic Structure.Electromagnetic Radiation (Transverse Waves) C = *r where C = 3.0*10^8 m/s a. Entire spectrum b. Visible spectrum c. Traveling waves ver
Wisconsin - NUTRI SCI - 132
Lipids, Lecture 3 Mucosa Chylomicrons Carry lipids from gut to liver; deliver TG to cells. (Lymphatic system joins bloodstream) Dietary lipids end up here -Triglyceride (TG) -Cholesterol (chol) -Phospholipids Liver Lipoproteins A "bubble" lipids can
Wisconsin - SPANISH - 204
Spanish 204 Daz 5 de Octubre, 2007 Ventajas y Desventajas del "Spanglish" "Spanglish," un trmino que es definido por www.dictionary.com como "espaol hablado con una mezcla grande de plabras de ingls." El uso de spanglish es mas y mas comn cada da, es
Wisconsin - CS - 252
CS/ECE 252 Introduction to Computer EngineeringSpring 2008 All Sections Instructor David A. WoodHomework 2Problem 1a) Suppose that the total number of students in some class is 224. If each student is assigned a unique bit pattern, what is the
Wisconsin - CS - 252
CS/ECE 252 Introduction to Computer EngineeringSpring 2008 All Sections Instructor David A. WoodHomework 3Problem 1Draw a logic circuit corresponding to the following logic expression. Your circuit must use only 2-input AND, 2-input OR, and NOT
Wisconsin - CS - 252
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON Prof. David A. Wood TAs Spyros Blanas, Priyananda Shenoy & Shengnan Wang Midterm Examination 1 In Class (50 minutes) Monday, February 18, 20
Wisconsin - CHEM - 104
10-17-07 Discussion 396Lake Study Lab Part IWe have ruled out that the problem is caused by pesticides in the water because the samplings have shown that the levels of these substances are below toxic levels for most fish. The dissolved oxygen lev
Iowa State - SPRT - 101
SPORTS1st Round Memphis 1 TX Arlington 16 Mississippi St. 8 Oregon 9 Michigan St. 5 Temple 12 Pittsburgh 4 Oral Roberts 131st Round1 16 8 9 5 122nd RoundReg. SemisReg. FinalsNat. SemisChampionshipNat. SemisReg. FinalsReg. Semis
Iowa State - CPRE - 281X
IntroductionWhile the processor is the core of the computer, even it has a tendency for failures and errors that will affect that performance dramatically. If the processor cannot handle this failures and errors, no one would want that processor, ev
Iowa State - CPRE - 281X
16 bit Signed Multiplier 282X Lab ProjectBrad SmithIn this project, we were given a layout for a 16 bit signed Multiplier, and were supposed to put it together in both Verilog HDL and Block Schematic format. The Multiplier was to consist of 1 7 bi
Iowa State - CPRE - 281X
Page 1Parallel Instruction Pipeline ProcessorDeveloped by Brad Smith 50% Apurv Kumaria 50%Page 2OverviewThis paper will cover the inspiration, development, and testing of the Parallel Instruction Pipeline Processor that was developed for t
Iowa State - CPRE - 488X
Homework 1 CPRE 488X, Fall 2006 Due: Wednesday, Sept. 6, on WebCT Brad Smith Section-Tuesday 1. [10] Q1-1. Briefly describe the distinction between requirements and specifications.Requirements is what is given to the engineers from the customer, de
Iowa State - CPRE - 488X
Homework 2 CPRE 488X, Embedded Systems Design, Fall 2006 Due: Monday Sept. 18 on WebCT Name: Brad Smith Lab Section: Tuesday 6-9Search the Internet for the answers to questions 1-2. Other questions are from textbook pages 174-176 and 446-447.1. [
Michigan State University - WRA - 150
Jordan 1 Marcia Jordan A39400684 WRA 150Our Town-Thornton WilderWhile reading the selection in Our Town, I noticed a few things. One major thing that grabbed my attention was the way that the stag manager knew of everything in the town. He knew e
Michigan State University - COM - 100
Marcia Jordan A39400684 Com 100, section 004- Lindsay Informative Speech Hi, My name is Marcia Jordan, and I am a second year sophomore here at Michigan State, studying in the field of social Science-Criminal Justice here to inform you all of my hobb
Iowa State - ENG - 250
Allison Manning English 250 December 10th, 2007 Hurricane Katrina-Natural Disaster or Political Screw Up? Hurricane Katrina was a terrible natural disaster that devastated many on the Gulf Coast. It is easy to say that the hurricane is to blame for e
Iowa State - LATIN - 101
The Myth of Pandora The myth of Pandora's Box began with Epimetheus. Epimetheus was a titan and his responsibility was to give a good trait to every creature created. Epimetheus had a brother named Prometheus whose responsibility was to create mankin