System development essay, Total is 1100 words approx,Require finish in 12 hours.

profileMike1212
01_IntroSysAnalysisToolsMethods.pdf

IFSC 3360 System Analysis and Design



 Introduction, Tools, and Methods 


!1

Introduction

v Organizations use information to – increase productivity, – deliver quality products and services, – be competitive – maintain customer loyalty, and – make sound decisions.

v Information technology can mean the difference between success and failure

!2

Information System

v A system is a set of related components engineered in a specific way that produces desired results

v Simple vs. Complex systems v A mission-critical system is one that is vital to a

company’s operations v Every system requires input data v In information systems, data consists of basic facts

that are the system’s raw material, which is processed into information

v In Information systems, output is the meaningful and useful information

!3

!4

BettyBots - Warehouse Robots https://www.youtube.com/watch?v=8gy5tYVR-28

Autonomous Robots Invade Retail Warehouses http://www.wired.com/ 2009/01/retailrobots/

Amazon Prime Air https://www.amazon.com/b? node=8037720011

!5

Information System Components

v Information systems have five key components – Hardware – Software – Data – Processes – People

!6

v Hardware – Is the physical layer of the information

system – New types of hardwares with challenges and

opportunities – Moore’s Law

Information System Components

!7

Information System Components

v Software – System software (operating systems, device

drivers, firmware, security systems, etc.) – Application software

• Horizontal system (inventory management Enterprise applications)

• Vertical system (data cleaning/conversion) • Legacy systems (new HR with older payroll)

!8

Information System Components

v Data – Is the raw material that an information system

transforms into useful information

– e.g., Database tables store data – By linking/joining the tables, the system can extract

specific information

– Conventional database models (e.g., relational databases) pose challenges in current information systems where networks/relations between data points are increasingly observed.

!9

Information System Components v Processes

– Tasks and business functions that users, managers, and IT staff members perform to achieve specific results (business processes)

– Building blocks of information systems – Must be well-documented for understandability and a successful

information system – Could be automated as workflows – Service Oriented Architecture (SOA), distributed and networked

processing, web services, e.g., software as a service (SAAS) v People

– Stakeholders – Management group, users (or end users), IT staff, system analysts,

programmers, network administrators – Specify the requirements of the information system – Determine the success/failure of an information system

!10

v Role of a System Analyst – System Analysis

• Step-by-step process for developing high-quality information systems

– System Analyst • Involved at every step of the process • Plans, develops, and maintains information systems • The role varies as information system undergoes different

stages

v Main challenges/risks lie in – “What” vs. “How” – Identify business requirements first – No development/implementation until then – System analyst approach vs. System developer approach

!11

How Business Uses Information 
 Systems

v Types of information systems by functionalities and features – Enterprise computing systems – Transaction processing systems – Business support systems – Knowledge management systems – User productivity systems

!12

How Business Uses Information Systems v Enterprise computing systems

– Support company-wide operations and data management requirements

– Enterprise resource planning (ERP) – e.g., Walmart’s inventory control system – ERP solutions impose a structure that may

not align with a company’s operations

!13

How Business Uses Information Systems

v Transaction processing systems

– Mission critical systems – Involve large amounts of data – Efficient because they

process a set of transaction- related tasks as a group rather than individually

– Data integrity is essential – e.g., Walmart records 1M

transactions per hour http://www.sourcelink.com/blog/guest- author-series/2012/08/18/the-5ws-and-1h- of-big-data-(part-2-of-2)

!14

How Business Uses Information Systems

v Business support systems – Analyze transactional data to generate information for

better decision making

– Users at all levels of a company – Decision support capability - What-if

• E.g. what price should the retailer charge to increase the profits by a specified margin if the sales volume is unchanged.

• Market-basket analysis

“Pastries and Predictions” http://asmarterplanet.com/blog/2012/04/pastries-and-predictions-finding-hidden-trends.html

A rainy day can generate a sudden spike in cupcake sales while a hot summer day can generate a surge in the sales of panini’s.

!15

How Business Uses Information Systems v Knowledge management systems

– Called expert systems – Search for answers from a knowledge base

using inference rules and fuzzy logic – Examples?

!16

How Business Uses Information Systems v User productivity systems

– Technology that improves productivity – Groupware (e.g. Google docs, ?)

v Information systems integration – Most large companies require systems that

combine transaction processing, business support, knowledge management, and user productivity features

!17

System Development Tools

v Systems analysts must know how to use – modeling, – prototyping, and – computer-aided systems engineering (CASE)

tools to analyze, plan, design, and implement information systems.

v System analysts work with these tools in a team environment

!18

Systems Development Tools

v Modeling: graphical representation of business process(es) – Business or Requirements model – Data model – Process model – Object model – Network model

!19

Systems Development Tools

v Business Models – Understand requirements – High-level view of the business processes – Also, eliciting requirements from customers – Use case (requirement model)

v Data Models – Data structures and database design – ER model

v Process Models – Business logic, programmers use to write code

modules – Data flow model to document data and processes

!20

Systems Development Tools

v Object Models – Identify objects that combine related data

and processes – Unified Modeling Language (UML)

v Network Models – Designs and protocols of telecommunication

infrastructure v Models might appear to overlap,

describe the same environment from different points of view

!21

Systems Development Tools

v Prototyping – Prototype: early working model – Examine input, output, UI – Can be used for testing conceptual model – Speeds up the development process

significantly – Further developed into final system – Even clarifying system requirements – Important decisions might be made too

early, before business or IT issues are thoroughly understood !22

Systems Development Tools

v Computer-Aided Systems Engineering (CASE) Tools – Also called computer-aided software engineering – Help develop and maintain Information Systems – CASE tools: support various design methodologies – Can generate program code, which speeds the

implementation process

– E.g., Lucid Chart, IBM Rational Software, Visible Analyst, System Architect

!23

Overview of Systems Development Methods

v Several methods to develop information systems – Structured analysis, most popular and traditional

method

– Object-oriented analysis (O-O), a newer approach that many analysts prefer

– Agile methods, also called adaptive methods, which are the newest trends in system development

– Mix and match v Understand the various methods and the

strengths and weaknesses of each approach

!24

Systems Development Methods

v Structured Analysis: traditional, time-tested, easy- to-understand – Series of phases that form System Development Life

Cycle (SDLC)

– Predictive approach – Result of each phase is a deliverable – Deliverable or end product that forms the input to

the next phase – Process-centered technique: Focuses on processes that

transforms the data into information

– e.g., Waterfall model

!25

Systems Development Methods

v Structured Analysis – The structured model usually includes five

steps • System planning • System analysis • System design • System implementation • System support and security

– Adjacent phases may interact in other variations

!26

!27

System Development Methods

v Structured Analysis – Systems Planning

• Systems request – begins the process & describes problems or desired changes v Major or Minor requests v Could be from anyone

• Purpose of this phase is to perform a preliminary investigation

• Key part of preliminary investigation is a feasibility study v Cost-benefit analysis

• Deliverable - Preliminary Investigation Report

!28

System Development Methods

v Structured Analysis – Systems Analysis

• Build a logical model of the new system • Requirements modeling- investigate business

processes via surveys, interviews, fact-finding through document review

• Document what the new system must do to satisfy users

• Use fact-finding results to build business models, data and process models, and object models

• Deliverable is the System Requirements Document

!29

System Development Methods

v Structured Analysis – Systems Design

• Translate the logical model to physical model • Identify necessary inputs, outputs, and processes • Design UI - Prototyping (1st tangible deliverable) • Determine the application architecture used by the

developers to convert logical models to code modules

• Deliverable is System Design Specification reviewed by management and users: what, how, and how much will it cost

!30

System Development Methods

v Structured Analysis – Systems Implementation

• Primarily development • New system is constructed • Programs are written, tested, and documented,

and the system is installed • Includes an assessment, called a system

evaluation

• Ready for use, user training is often needed • Deliverable - Completely functioning system

!31

System Development Methods

v Structured Analysis – Systems Support and Security

• Maintain, enhance, and protect the system • A well-designed system must be secure, reliable,

maintainable, and scalable

• Business processes change • Most information systems need to be updated significantly

or replaced after several years of operation

• The information systems enters the planning phase at this point.

• Deliverable - Operational Information System

!32

System Development Methods

v Object-oriented Analysis: recent approach, preferred by analysts – Combines data & processes (that act on the

data) into things called objects – Objects are usually real-world entities, such as

People, Events, Transactions, etc. – Objects have attributes – Objects have methods that act upon attributes – Objects can send messages to each other

requesting specific behavior or information from another object

!33

!34

System Development Methods

v Object-Oriented Analysis – Usually follow a series of analysis and design phases

that are similar to the SDLC

– Interactive model – Design reusable components – Widely-used because of easy transition to OO

programming languages

!35

System Development Methods v Agile Methods

– One of the most recent system development methodologies – Emphasizes continuous feedback, team-based effort – Highly iterative and prioritized development – Perpetual beta - release the product in incremental stages, or builds – Continuously improve existing features, add new ones – Start with a basic prototype and constantly adjust to user requirements – Earlier prototypes converge to final products – Short-term milestones, rapid prototyping, timeboxing – Spiral model, quite opposite of structured analysis – Some agile developers prefer not to use CASE tools at all, and rely instead on

whiteboard displays and arrangements of movable sticky notes

!36

!37

System Development Methods

v Agile Methods – Other variations include

• Scrum (cross-functional team of system analysts, PM, developers, testers, customers, vendors)

• Extreme Programming (XP)/Pair Programming

!38

System Development Methods

v Agile Method Advantages and Disadvantages – Are very flexible and efficient in dealing with

change – Frequent deliverables constantly validate the

project and reduce risk – Team members need a high level of technical

and interpersonal skills – Lead to significant change in scope - Project

creep – Lack of structure and documentation

!39

System Development Methods

v Other Development Methods – Involve users in design

• IT staff • Users • Managers

– Joint application development (JAD)- user involvement during requirements gathering/ modeling

– Rapid application development (RAD)- user involvement throughout the SDLC

!40

Joint Application Development (JAD)

v User Involvement – Users have a vital stake in an information system

and they should participate fully – Successful systems must be user-oriented, and users

need to be involved • Better communication • Faster and cost-effective development • Improved user satisfaction

– One popular strategy for user involvement is a JAD team approach

– Users are involved in requirements modeling

!41

Joint Application Development (JAD)

v JAD Advantages and Disadvantages – Allows key users to participate effectively – Accurate statement of system requirements, – Better understanding of common goals, and a stronger

commitment to the success of the new system – Sense of ownership and support for the new system – More expensive and can be cumbersome if the group

is too large relative to the size of the project

!42

Rapid Application Development (RAD)

✦ Is a team-based technique that speeds up information systems development and produces a functioning information system

✦ Relies heavily on prototyping and user involvement

✦ Process continues until the system is completely developed and users are satisfied

✦ Different from JAD - RAD is a complete system development life cycle

- Users involved throughout the system development - Different deliverables

!43

Rapid Application Development (RAD)

!44

Rapid Application Development (RAD)

v RAD Phases and Activities – Requirements planning

• Stakeholders agree on business needs, project scope, constraints, and system requirements • Obtain authorization to continue the project

– User design • Users interact with system analysts • Develop models and prototypes • CASE tools are used • Interactive, Iterative, and Adaptive

– Construction • Application development and testing • Users interact, suggest changes or improvements to UI/

Reporting

– Cutover • Transition or deployment, user training !45

Rapid Application Development

v RAD Advantages and Disadvantages – Systems can be developed more quickly with

significant cost savings – Especially useful for highly interactive systems or

systems with complex user interfaces – RAD stresses the mechanics of the system itself and

does not emphasize the company’s strategic business needs

– Accelerated time cycle may compromise quality, consistency, and design standards

!46

Systems Development Methods

v Structured/sequential – Waterfall model

v Iterative/evolutionary – Object oriented – Agile – JAD – RAD

!47

Systems Development Guidelines

v Develop a project plan – stick to the plan v Involve users and listen carefully to them –

create as detailed requirements as possible

v Use project management tools to identify tasks and milestones – planning, scheduling monitoring, controlling, reporting

v Develop accurate cost and benefit information – avoid under-estimation of costs and over-estimation of benefits

v Remain flexible – on the same hand do not deviate too much from the logical sequence of various phases. Embrace change but avoid feature-creep.

!48

Assignment - 1

1. Discuss the following system development methods (600 words approx.) – Structured development – Object oriented development – Agile development – Rapid Application Development

2. What is project creep? Which system development methods are more prone to project creep? What could be a strategy to avoid it? (400 words approx.)

This is an individual assignment due on September 20th.

In-class Exercise You are developing an app to match professional skills/interests people express on LinkedIn with companies seeking those skills. The app must be mobile device-compatible. – Propose a suitable development methodology. – List activities for the phases of the proposed

development methodology.

!50