Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 7: Moving into Design Chapter 8: Architecture Design

Similar presentations


Presentation on theme: "Chapter 7: Moving into Design Chapter 8: Architecture Design"— Presentation transcript:

1 Chapter 7: Moving into Design Chapter 8: Architecture Design
December 14, 2014

2 Moving into Design Chapter 8

3 Key Definitions Design phase System specification
Decide how to build the system Create system requirements that describe technical details for building the system System specification Final deliverable from design phase Conveys exactly what system the design team will implement during the implementation phase

4 System Specification Outline
Recommended System Acquisition Strategy System Acquisition Weighted Alternative Matrix Architecture Design Hardware and Software Specification Interface Design Updated CASE Repository Entries

5 System Specification Outline (Cont…)
Physical Process Model Program Design Specifications Physical Data Model Data Storage Design Updated CRUD Matrix

6 Classical Design Mistakes
Reducing design time Silver Bullet Syndrome Feature creep: Switching tools in mid-project

7 Ways to Approach a New System
Develop a custom application in-house; Buy a packaged system and (possibly) customize it; and Rely on an external vendor, developer, or service provider to build or provide the system.

8 Design Strategies Custom development (build from scratch) in-house
Purchase software package (and customize it) Outsource development to third party

9 Custom Development PROS CONS Allows flexibility and creativity
Consistent with existing technology and standards Builds technical skills and functional knowledge in- house Requires significant time and effort May exacerbate existing backlogs May require missing skills Often costs more Often takes more calendar time Risk of project failure

10 Packaged Software Available for many common business needs
Tested, proven; cost and time savings Rarely a perfect fit with business needs May allow for customization Manipulation of system parameters Changing way features work Synchronizing with other application interfaces May require workarounds

11 Systems Integration Building systems by combining packages, legacy systems, and custom pieces Integrating data is the key

12 Outsourcing Hiring an external vendor, developer, or service provider
Outsourcing firms called application service providers (ASPs) supply software applications and/or software-related services over wide area networks or the Internet. May reduce costs or add value Risks include possibly Losing confidential information Losing control over future development Losing learning opportunities

13 SaaS Software as a Service (SaaS) is a popular term that is essentially an extension of the ASP model. This term is commonly used to describe situations in which SaaS vendors develop and manage their own software rather than managing and hosting a third-party independent software vendor’s software (the more traditional ASP model). Example: Salesforce.com

14 Outsourcing Contracts
Time and arrangements Fixed-price Value-added

15 INFLUENCES ON THE ACQUISTION STRATEGY

16 Selecting a Design Strategy
Consider each of the following when deciding what strategy to use: Business need In-house experience Project skills Project management Time frame

17 SELECTING AN ACQUISITION STRATEGY

18 Request For Information (RFP)
Project teams employ several approaches to gather additional information that is needed. One helpful tool is the request for proposal (RFP), a document that solicits a formal proposal from a potential vendor, developer, or service provider. RFPs describe in detail the system or service that is needed, and vendors respond by describing in detail how they could supply those needs.

19 Request For Information (RFI)
For smaller projects with smaller budgets, the request for information (RFI) may be sufficient. An RFI is a shorter, less detailed request that is sent to potential vendors to obtain general information about their products and services.

20 Developing an Alternative Matrix
What tools and technologies are needed for a custom development project? What vendors make products that address the project needs? What service providers would be able to build this application if outsourced?

21 Developing an Alternative Matrix
Combine several feasibility analyses into one matrix Include technical, budget, and organizational feasibilities Assign weights to indicate the relative importance of the criteria Assign scores to indicate how well the alternative meets the criteria

22 Developing an Alternative Matrix

23

24 Summary Slide System Design Phase – transitioning from requirements to design Design all the elements of the system First Task – determine the system acquisition strategy Custom development Purchase software package Outsource Use Alternatives Matrix to structure the system acquisition decision

25 Chapter 8: Architecture Design

26 Objective The objective of architecture design is to determine how the software components of the information system will be assigned to the hardware devices of the system

27 Key Definitions Architecture design
Plans for how the system will be distributed across computers and what the hardware and software will be used for each computer Hardware and software specification Describes the hardware/software components in detail to aid those responsible for purchasing those products.

28 ELEMENTS OF AN ARCHITECTURE DESIGN

29 the plan for how the information system components will be distributed across multiple computers and what hardware, operating system software, and application software will be used on each computer (e.g., Windows or Linux operating system software).

30 Architectural Components (Functions) of Software
Data storage: a small file/ a database management system Data access logic Processing required to access stored data (SQL) Application logic Processing logic of the application (the logic documented in DFD, use cases, functional requirements) Presentation logic Information display and user command processing (the user interface)

31 Architectural Design Purpose
Determine what parts of the application software will be assigned to what hardware. Hardware options: Clients Input/output devices employed by users PCs, laptops, handheld devices, smartphones, special-purpose terminals, and so on. Servers typically are larger multi-user computers used to store software and data that can be accessed by anyone who has permission. Networks

32 Architecture Choices Client-server based Architecture
Client-based Architecture

33 Client-server architecture
The client is responsible for the presentation logic, The server is responsible for the data access logic and data storage. The application logic may reside on the client, reside on the server, or be split between both

34 Client-server architecture
Two-Tier Architecture

35 Thin clients, containing just a small portion of the application logic, are popular because of lower overhead and easier maintenance. Thick or fat clients, handling presentation / application logic

36 Benefits of Client-server architecture
Scalable - easy to increase or decrease the storage and processing capabilities of the servers. can support many different types of clients and servers. - It is possible to connect computers that use different operating systems so that you are not locked into one vendor

37 Benefits of Client-server architecture (Cont…)
3. for thin client–server architectures that use Internet standards, it is simple to clearly separate the presentation logic, the application logic, and the data access logic and design each to be somewhat independent. 4. if a server fails in a client–server architecture, only the applications requiring that server will fail.

38 Disadvantage Client–server architectures also have some critical limitations, the most important of which is their complexity. All applications in client–server computing have two parts, the software on the client side and the software on the server side.

39 Three-Tier Client-Server Architecture

40 N-Tier Client-Server Architecture

41 There are two primary disadvantages to an n-tiered architecture compared with a two-tiered architecture (or a three-tiered with a two-tiered). First, the configuration puts a greater load on the network. Second, it is much more difficult to program and test software in n-tiered architectures than in two-tiered architectures, because more devices have to communicate properly to complete a user’s transaction.

42 Less Common Architectures
Server-based Architectures (Zero Client)…Desktop applications Client-based Architectures

43 Advances in Architecture Design
Virtualization: refers to the creation of a virtual device or resource, such as a server or storage device. Server virtualization involves partitioning a physical server into smaller virtual servers. Software is used to divide the physical server into multiple virtual environments, called virtual or private servers.

44 Storage virtualization involves combining multiple network storage devices into what appears to be single storage unit. A storage area network (SAN) uses storage virtualization to create a high-speed subnetwork of shared storage devices. In this environment, tasks such as backup, archiving, and recovery are easier and faster.

45 Cloud Computing

46 The “cloud” in cloud computing can be defined as the set of hardware, networks, storage, services, and interfaces that combine to deliver aspects of computing as a service. Cloud services include the delivery of software, infrastructure, and storage over the Internet (either as separate components or a complete platform) based on user demand.

47 CREATING AN ARCHITECTURE DESIGN

48 Nonfunctional Requirements and their Implications for Architecture Design

49 Operational Requirements
Type of Requirement Definition Examples

50 Performance Requirements

51 Security Requirements

52 Cultural/Political Requirements
Type of Requirement Definition Examples

53 HARDWARE AND SOFTWARE SPECIFICATION

54 Hardware and Software Specification
Used if new hardware or software must be purchased Communicates project needs Actual acquisition of hardware and software usually left to a purchasing department -- especially in larger firms

55 Hardware and Software Specification
Determine software needs OS, special purpose Training, warranty, maintenance, licensing needs Determine hardware needs Server(s), clients, peripherals, backup devices, storage components Minimum configuration needs

56 Sample Hardware and Software Specification
Standard Standard Standard Standard Client Web Server Application Server Database Server

57 Factors in Hardware and Software Selection

58 Program Design Chapter 11

59 MOVING FROM LOGICAL TO PHYSICAL PROCESS MODELS
Analysis phase – focus on logical processes and data flows Design phase – create physical process models showing “how” the final system will work Physical process models convey the “system view” of the new system

60 The Physical Data Flow Diagram
The physical DFD contains the same components as the logical DFD, and the same rules apply There are five steps to perform to make the transition to the physical DFD

61 Steps to Create the Physical Data Flow Diagram

62 The Physical Data Flow Diagram (The How)

63 Final Exam 6 questions you will choose five only (70 points)
Cases as the project

64 Thank You


Download ppt "Chapter 7: Moving into Design Chapter 8: Architecture Design"

Similar presentations


Ads by Google