45
1 Systems Analysis & Design Systems Design & Application Architecture IS 431: Lecture 8 http://www.csun.edu/~dn58412/IS431/ IS431_SP15.htm CSUN Information Systems

1 Systems Analysis & Design Systems Design & Application Architecture IS 431: Lecture 8 dn58412/IS431/IS431_SP15.htm CSUN Information

Embed Size (px)

Citation preview

1

Systems Analysis & Design

Systems Design & Application Architecture

IS 431: Lecture 8

http://www.csun.edu/~dn58412/IS431/IS431_SP15.htm

CSUN Information Systems

IS 431 : Lecture 8 2

Systems Design & Application Architecture

Design Phase in Systems Development Life Cycle

In-house vs. Commercial-of-the-shelf (COTS) Application Development.

Application Architecture: Data, Processes, Interface– Physical Data Flow Diagrams (DFDs)

– Distributed vs. Centralized Systems

– Client/Server Architecture

– Interface Architecture

IS 431 : Lecture 8 3

Systems Design in SDLC

IS 431 : Lecture 8 4

Systems Design

Information systems design: tasks that focus on the specification of a detailed computer-based solution (also called physical design.)

Systems analysis emphasizes on the business problem, (WHAT) whereas systems design emphasizes on the technical or implementation concerns of the system (HOW).

BUILD (In-house) vs. BUY (COTS)

IS 431 : Lecture 8 5

System Design of an In-House Projects (BUILD)

IS 431 : Lecture 8 6

Design Tasks of an In-House Project

IS 431 : Lecture 8 7

Design Tasks of an In-House Project …

Design the Application Architecture– Defines the technologies to be used and used to build– Physical Data Flow Diagram

Design the System Databases– Database schema (Data Dictionary)

Design the System Interface– User Interfaces: Input, output, and dialogue specifications– Prototypes

Package Design Specifications– Specifications to guide programmers

Update Project Plan– Modified Budget/Schedule

IS 431 : Lecture 8 8

System Design for a COTS Solution (BUY)

IS 431 : Lecture 8 9

Tasks for COTS Solution

IS 431 : Lecture 8 10

Tasks for COTS …

Research Technical Criteria and OptionsSolicit Proposals/Quotes from VendorsValidate Vendor Claims and PerformancesEvaluate and Rank Vendor Proposals: Gap

Analysis on the differences between proposed and desired features. Cost/Benefit Analysis.

Contract “Winning” Vendor and Debrief “Losing” Vendors

IS 431 : Lecture 8 11

Application Architecture

IS 431 : Lecture 8 12

Application Architecture

An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS, and INTERFACE, and how these components interact across a network. It serves as an outline or blueprint for detailed design and implementation.

IS 431 : Lecture 8 13

Application Architecture …

The blueprint to communicate the following design decisions:– The degree to which the information system will be

centralized or distributed.

– The distribution of stored data.

– The implementation technology for software developed in-house.

– The integration of commercial off-the-shelf software.

– The technology to be used to implement the user interface.

– The technology to be used to interface with other systems

IS 431 : Lecture 4 14

DFD Deliverables for a System Development Project

CURRENT SYSTEM (AS-IS)– Context Diagram– Logical Level-0 DFD– Logical Level-1 DFD’s (for multi-task functions)(No Physical DFD for current system, unless the focus of

the project is security & control)PROPOSED SYSTEM (TO-BE)

– Context Diagram– Logical Level-0 DFD Level-0– Logical Level-1 DFD’s (for multi-task functions)– Physical Level-0 DFD Level-0– Physical Level-1 DFD’s (for multi-task functions)

IS 431 : Lecture 8 15

Physical Data Flow Diagrams (DFDs)

Physical data flow diagrams (DFDs) model the technical and human decisions to be implemented as part of an information system (HOW, BY WHOM).

Physical DFDs communicate technical choices and other design decisions to those actually construct and implement the system.

IS 431 : Lecture 8 16

A Physical DFD

IS 431 : Lecture 8 17

Physical Processes

A physical process is either a processor, such as a computer or person, or a technical implementation of specific work to be performed, such as a computer program or manual process.

IS 431 : Lecture 8 18

Computerized Process Implementation

A purchased application software package (COTS)A system or utility programAn existing application program with possible

modificationA program to be written

IS 431 : Lecture 8 19

Physical Data Flows

A physical data flow represents any of the following:– The planned implementation of an input to, or output

from a physical process.

– A database command / action such as create, read, update, or delete.

– The import of data from, or the export of data to another information system across a network.

– The flow of data between to modules or subroutines (represented as physical processes) in a program.

IS 431 : Lecture 8 20

Physical Data Flows …

IS 431 : Lecture 8 21

Physical Data Flows …

IS 431 : Lecture 8 22

Physical Data Stores

A physical data store represents the planned implementation of one of the following:

– A database

– A table in a database

– A computer file

– A tape or media backup of anything important

– A temporary file or batch

– Any type of noncomputerized file(paper file folders, accounting books etc…)

IS 431 : Lecture 8 23

Physical Data Stores…

IS 431 : Lecture 8 24

Distributed vs. Centralized Systems

Distributed system : DATA, PROCESS, and INTERFACE components of an information system are distributed to multiple locations in a computer network. Accordingly, the processing workload is distributed across the network.

Centralized systems : a central, multi-user computer hosts all the DATA, PROCESS, and INTERFACE components of an information system. Users interact with the system via terminals (or terminal emulators).

IS 431 : Lecture 8 25

Why Distributed Systems?

Modern businesses are already decentralized and distributed.

Distributed computing moves information and services closer to the customers and users who need them.

Distributed computing consolidates the power of personal computers across the enterprise.

Distributed computing solutions are more user-friendly because they utilize the PC as the end user interface.

Personal computers and network servers are cheaper than centralized mainframe computers.

IS 431 : Lecture 8 26

Distributed Computing Layers

Presentation layer—the user interfacePresentation layer logic—such as input editing

Application logic layer—the business rules, policies, and procedures

Data manipulation layer—to store and retrieve data to and from the database

Data layer—the actual business data DATA

PROCESS

INTERFACE

IS 431 : Lecture 8 27

Distributed Computing

IS 431 : Lecture 8 28

File Server Architecture

A local area network (LAN) is a set of client computers (PCs) connected to one or more server computers either through cable or wireless connections over relatively short distances.

A file server system is a LAN-based solution in which a server hosts only the data layers of an information system. All other layers are implemented on the client computers. Disadvantages include:

– Frequently excessive network traffic to transport data between servers and clients.

– Client must be fairly robust (“fat”) because it does most of the work

– Database integrity can be easily compromised.

IS 431 : Lecture 8 29

Client/Server Architecture:

The ClientsA client/server system is a solution in which the presentation, presentation logic, application logic, data manipulation, and data layers are distributed between client PCs and one or more servers.

• A thin client is a personal computer that does not have very powerful processor speed and memory because it only presents the user interface to the user.

• A fat client is a personal computer or workstation that has typically more powerful processor speed, memory, and storage capacity. It has software applications to process data at the client site.

IS 431 : Lecture 8 30

Client/Server Architecture: The Servers

A database server hosts one or more shared databases but also executes all data manipulation commands.

A transaction server hosts services that ultimately ensure that all database updates for a single transaction succeed or fail as a whole.

An application server hosts the application or business logic and services for an information system.

A messaging or groupware server hosts services for e-mail, calendar, and other work group functionality.

A web server hosts Internet or intranet web sites and services, communicating through thin-client interfaces such as web browsers.

IS 431 : Lecture 8 31

Client/Server :Distributed Presentation

A distributed presentation client/server system is a solution in which the presentation and presentation logic layers only are shifted from the server to reside on the client.

The application logic, data manipulation, and data layers remain on the server (frequently a mainframe).

IS 431 : Lecture 8 32

Client/Server:Distributed Data

A distributed data client/server system is a solution in which

1) the data and data manipulation layers are placed on the server(s),

2) the application logic, presentation logic, and presentation layers are placed on the clients.

Also called two-tiered client/server computing.

IS 431 : Lecture 8 33

Client/Server:Distributed Data and Application

A distributed data and application client/server system is a solution in which:

1) the data and data manipulation layers are placed on their own server(s),

2) the application logic is placed on its own server,

3) the presentation logic and presentation layers are placed on the clients.

Also called three- or n-tiered client/server computing. It requires design partitioning to distribute or duplicate application components (DATA, PROCESS, and INTERFACE) across the network.

IS 431 : Lecture 8 34

Internet- and Intranet-based Architectures

A network computing system is a multi-tiered solution in which the presentation and presentation logic layers are implemented in client-side Web browsers using content downloaded from a Web server. The presentation logic layer then connects to the application logic layer running on the application server, which subsequently connects to the database servers on the backside of the system.

An intranet is a secure network, usually corporate, that uses Internet technology to integrate desktop, work group, and enterprise computing into a cohesive framework.

IS 431 : Lecture 8 35

Data Architectures

•A relational database stores data in tabular form. Each file is implemented as a table. Each field is a column in the table. Related records between two tables are implemented by intentionally duplicated columns in the two tables (Primary and Foreign Keys).

•A distributed relational database distributes or duplicates tables to multiple database servers located in geographically important locations.

IS 431 : Lecture 8 36

Data Distribution Options

Store all data on a single server (Centralization)Store specific tables on different servers.Store subsets of specific table(s) on different servers

– Subsets of columns (Vertical Partitioning)– Subsets of rows (Horizontal Partitioning)

Replicate (duplicate) specific tables or subsets on different servers for back up (Replication)

IS 431 : Lecture 8 37

Database Distribution

• Data partitioning truly distributes rows and columns of tables to specific database servers with little or no duplication between servers.

– Vertical partitioning assigns different columns to different servers. Sensitive data columns, Transactional data columns

– Horizontal partitioning assigns different rows to different servers. Customers in LA; Customers in SF

• Data replication duplicates some or all tables (or parts of tables) on more than one database server. Database technology controls access to, and manages consistency of duplicated data across the servers.

IS 431 : Lecture 8 38

Database Distribution Vertical partitioning

IS 431 : Lecture 8 39

Database Distribution Horizontal partitioning

IS 431 : Lecture 8 40

Database Distribution

IS 431 : Lecture 8 41

Database Distribution

IS 431 : Lecture 8 42

Logical Data Store Physical Data Stores using Partitioning

Physical Data Stores using Replication

1 CUSTOMERS

1P.#Oracle 7:REGION 1

CUSTOMERS

1P.#Oracle 7:REGION 2

CUSTOMERS

Not applicable. Branch offices do not need access to data about customers outside of their own sales region.

2 PRODUCTS

Not applicable. All branch offices need access to data for all products, regardless of sales region.

2MOracle 8i:

PRODUCTS(Master)

2ROracle 8i:

PRODUCTS(Replicated Copy)

Data Partitioning vs. Data Replication

IS 431 : Lecture 8 43

Interface Architectures

How to get input and display output of the system:Batch inputs and outputsOn-line inputs and outputsRemote batchKeyless data entry (and automatic identification)Pen inputElectronic Data Interchange (EDI)Middleware (BizTalk)

IS 431 : Lecture 8 44

Design Units

Design unit – a self-contained collection of processes, data stores, and data flows that share similar design characteristics.

– A design unit serves as a subset of the total system whose inputs, outputs, files and databases, and programs can be designed, constructed, and tested as a self-contained unit.

– Ultimately, design units must be integrated into a whole system.

IS 431 : Lecture 8 45

Application Architecture Strategies for System Design

The Enterprise Application Architecture Strategy– Enterprise-wide information technology architecture to be followed

in all subsequent development projects. Approved network, data, interface, and processing technologies

and development tools. Strategy for integrating legacy systems and technologies. On-going process for continuously reviewing application

architecture. On-going process for researching emerging technologies Process for analyzing requests for variances from the above.

The Tactical Application Architecture Strategy– Defines architecture for each new system on an application-by-

application basis as needed.– Requires feasibility analysis for each application.