System development essay, Total is 1100 words approx,Require finish in 12 hours.
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