Академический Документы
Профессиональный Документы
Культура Документы
System Design
Implementing Business Systems Testing, Documenting, Training, Conversion and Maintenance
A problem solving technique that uses a systems orientation to define problems and opportunities and develop solutions. Analyzing a problem and formulating a solution involves the following interrelated activities: Recognize and define a problem or opportunity using systems thinking Develop and evaluate alternative system solutions Select the system solution that best meets your requirements Design the selected system solution Implement and evaluate the success of the designed system
Using systems thinking to understand a problem or opportunity is one of the most important aspects of the systems approach. Seeing interrelationships among systems rather than linear cause-and-effect chains whenever events occur Seeing processes of change among systems rather than discrete snapshots of change, whenever changes occur
For example, the business organization or business process in which a problem or opportunity arises could be viewed as a system of: Input Processing Output Feedback Control
Using the systems approach to develop information systems solutions can be viewed as a multistep process called the information systems development cycle, also known as the systems development life cycle (SDLC). The SDLC is composed of five steps, which include: Systems investigation Systems analysis Systems design Systems implementation Systems maintenance
Preliminary Investigation Assesses feasibility and practicality of system System Analysis Study old system and identify new requirements Defines system from user's view System Design Design new/alternative system Defines system from technical view
System Development
New hardware and software is acquired, developed, and tested System installation and training Daily operation
System Implementation
Define the problem By observation and interview, determine what information is needed by whom, when, where and why
What is feasibility?
Measure of how suitable system development will be to the company
Operational feasibility
Schedule feasibility
Technical feasibility
Uses specifications from the systems analysis to design alternative systems Evaluate alternatives based upon:
Economic feasibility - Do benefits justify costs? Technical feasibility - Is reliable technology and training available?
Development Cost(cost of testing, training, start up costs, salary to designers, acquisition cost of hardware & software)
BENEFITS
Tangible Benefits
Increase in sales / Contribution / Profits Decrease in investment, operating and processing cost
Intangible Benefits
In depth study of the existing system to determine what the new system should do.
System flowcharts - charts flow of input data, processing, and output which show system elements and interactions
Complete description of current system and its problems Requirements for new system including:
Importance of Documentation
Documentation serves as a method of communication among the people responsible for developing, implementing, and maintaining a computer-based system.
Documentation is extremely important in diagnosing errors and making changes, especially if the end users or systems analysts who developed a system are no longer with the organization.
Computer-Aided Software Engineering (CASE) tools are software-based products designed to help automate the production of information systems. Examples: Diagramming Tools Data Repositories Prototyping Tools Test Data Generators Documentation Tools Project Management Tools
System Design Report Describe Alternatives including: Inputs/Outputs Processing Storage and Backup Recommend Top Alternative based upon: System Fit into the Organization Flexibility for the future Costs vs. benefits
Build the system to the design specifications Develop the software Purchase off-the-shelf software OR Write custom software Acquire the hardware Test the new system Module (unit) test - tests each part of system Integration testing - tests system as one unit Create manuals for users and operators
Unit Test
Verifies each individual program works by itself
Systems test
Verifies all programs in application work together
Integration Test
Verifies application works with other applications
Train users
Compile final documentation
Direct/plunge/crash approach entire new system completely replaces entire old system, in one step
Parallel approach - both systems are operated side by side until the new system proves itself
Pilot approach - launched new system for only one group within the business ,once new system is operating smoothly, implementation goes company-wide
Phased/incremental approach - individual parts of new system are gradually phased-in over time, using either crash or parallel for each piece.
Development Evaluation: Check whether development was done within schedule and budgets Operation Evaluation: Check whether system is capable for handling the duties and objective of development is achieved Information Evaluation: Check Satisfaction of users etc.
Types of changes: Physical repair of the system Correction of new bugs found (corrective) System adjustments to environmental changes Adjustments for users changing needs (adaptive) Changes to user better techniques when they become available (perfective)
Evaluation Methods
Systems audit - performance compared to original specifications Periodic evaluation - checkups from time to time, modifications if necessary
System Design
Design Specifications System Development Coded and Tested System System converted Users trained
System Implementation
SDLC model is a framework that describe the activities performed at each stage of software development projects Each process model follows a particular life cycle in order to ensure success in process of software development
Waterfall Model V Shaped Model Spiral Model Structure Evolutionary Prototyping Model Rapid Application Model The Big Bang Model
Waterfall Model
Requirements =defines needed information function, behaviour ,performance and interfaces
Design=data structure,software architectures,interface representations and algorithm details. Implementation=source code,database,user documentation,testing.
All these phases are cascaded to each other so that second phase is started as and when defined set of goals are achieved for first phase A schedule can be set with deadlines for each stage of development and a product can proceed through the development process and be delivered on time Each phase of development proceeds in strict order, without any overlapping or iterative steps The disadvantage of waterfall development is that it does not allow for much reflection or revision
V Shape Model
Varient of the waterfall that emphasiszes verification and validation of the product.
Testing of the product is planned in parallel with the corresponding phase of development.
It is a software development model which can be presumed to be the extension of the waterfall mode Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape The Vmodel demonstrates the relationships between each phase of the development life cycle and its associated phase of testing
Spiral Model
Four major activities are planning, risk analysis , engineering, customer evaluation
It is also known as the spiral lifecycle model, is a systems development method (SDM) used in information technology (IT) It is intended for large, expensive, and complicated projects The new system requirements are defined in as much detail as possible by interviewing users A preliminary design is created for the new system A first prototype of the new system is constructed from the preliminary design and represents an approximation of the characteristics of the final product A second prototype is evolved by a fourfold procedure:
evaluating the first prototype in terms of its strengths, weaknesses, and risks defining the requirements of the second prototype planning and designing the second prototype constructing and testing the second prototype At the customer's option, the entire project can be aborted if the risk is deemed too The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired The final system is constructed, based on the refined prototype
Prototyping Model
Where there is an absence of detailed information regarding the input to the system, the processing needs and the output requirements, the prototyping model may be employed This model reflects an attempt to increase the flexibility of the development process by allowing the client to interact and experiment with a working representation of the product The developmental process only continues once the client is satisfied with the functioning of the prototype The process of prototyping involves the following steps Identify basic requirements Develop Initial Prototype Review Revise and Enhancing the Prototype
Disadvantages :
User confusion of prototype and finished system Excessive development time of the prototype Expense of implementing prototyping
Prototyping and early, reiterative user testing of designs The re-use of software components A rigidly paced schedule that defers design improvements to the next product version Less formality in reviews and other team communication
Huge amount of matter (people or money) is put together, a lot of energy is expended Simple model Little planning, scheduling involved Its and ideal process if the product requirements arent well understood and the final release date is flexible Works well with flexible customers
Advantages of SDLC
Ability to monitor large projects Detailed steps Well defined user input and documentation
Disadvantages of SDLC
Results in an increase in development time. Potential for increased development cost. Project overruns can occur if errors occur in early stages of the project resulting in rework
It was first developed by Larry Constantine as a way of expressing system requirements in a graphical form. It is also known as Bubble Chart Can be used in both Analysis and Design phase of SDLC A data flow diagram explains business processes and activities in a clear, concise way by illustrating how data flows through the system from one process to another It is a structured, diagrammatic technique representing external entities, logical storage, data sinks and data flows in the system
DFD Principles
A system can be decomposed into subsystems, and subsystems can be further decomposed into lower level subsystems Each subsystem represents a process or activity in which data is processed At the lowest level, processes can no longer be decomposed Each 'process' has the characteristics of a system. A process must have input and output Data enters the system from the environment, data flows between processes within the system and data is produced as output from the system
DFD Types
Physical Data Flow Diagram: Physical data flow diagrams are implementation-dependent and show the actual devices, department, people, etc., involved in the current system Logical or Conceptual Data Flow Diagram: Logical data flow diagram represents business functions or processes. It describes the system independently of how it is actually implemented, and focuses rather on how an activity is accomplished
Data Symbols
Square defines a source or destination of data. Arrow identifies data flow, means the data in motion. It is a pipeline through which information flows Circle or a bubble represents a process that transforms incoming data flow into outgoing data Open rectangle is a data store, or data at rest, or a temporary repository of data
Constructing DFD
Processes should be named and numbered for easy reference The direction of flow is from top to bottom and from left to right Data flow from the source to destination When a process is exploded into lower level details, they are numbered The names of data stores, sources, and destinations are written in capital letters. Process and data flow names have the first letter of each word capitalized
Example Think through the activities that take place at a lemonade stand.
1. Create a list of activities Customer Order Serve Product Collect Payment Produce Product Store Product
Example
Also think of the additional activities needed to support the basic activities.
1. Create a list of activities Example Group these activities in some logical fashion, possibly functional areas. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor
Example
Create a context level diagram identifying the sources and sinks (users). Customer Order Serve Product Collect Payment Produce Product Store Product
Sales Forecast
0.0 Lemonade Production Schedule EMPLOYEE Pay System
VENDOR
Order Raw Materials Pay for Raw Materials Pay for Labor
Example
Create a level 0 diagram identifying the logical subsystems that may exist.
Customer Order Serve Product Collect Payment Produce Product Store Product
Sales Forecast
2.0 Production
Production Schedule
EMPLOYEE
Inventory
3.0 Procurement
VENDOR
Order Raw Materials Pay for Raw Materials Pay for Labor
4.0 Payroll
Example Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor
4. Construct Level 1- n DFD (identifies actual data flows and data stores ) Level 1 DFD
CUSTOMER
Customer Order
ORDER 1.1 Record Order
Severed Order
Payment
1.2 Receive Payment PAYMENT
Sales Forecast
Example
Create a level 1 decomposing the processes in level 0 and identifying data stores.
Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor
Quantity Severed
RAW MATERIALS
Production Schedule
2.2 Produce Product
Quantity Used
INVENTORTY
Production Data
2.3 Store Product
Example Create a level 1 decomposing the processes in level 0 and identifying data stores.
Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor
PURCHASE ORDER
Received Goods
3.2 Receive Items
Payment Approval
3.3 Pay Vendor
RECEIVED ITEMS
VENDOR
Payment
Example
Create a level 1 decomposing the processes in level 0 and identifying data stores.
Time Worked
Customer Order Serve Product Collect Payment Produce Product Store Product
Payroll Request
Employee ID
EMPLOYEE
PAYROLL
Payment Approval
4.3 Pay Employee
PAYMENTS
Process Decomposition
1.0 Sale 1.1 Record Order 1.2 Receive Payment
2.0 Production
3.0 Procurement
4.0 Payroll
Context Level
Level 0
Level 1