Introduction to Information System

Download Report

Transcript Introduction to Information System

Asst.Prof. Dr. Surasak Mungsing
Learning Objectives
 Explain the purpose and various phases of the systems
development life cycle (SDLC)
 Explain when to use an adaptive approach to the SDLC in
place of a more predictive traditional SDLC
 Explain the differences between a model, a tool, a
technique, and a methodology
 Describe the two overall approaches used to develop
information systems: the traditional method and the
object-oriented method
3
The Systems Development Lifecycle (SDLC)
 Systems development life cycle (SDLC)
 Provides overall framework for managing systems
development process
 Two main approaches to SDLC
 Predictive approach – assumes project can be planned out
in advance
 Adaptive approach – more flexible, assumes project
cannot be planned out in advance
 All projects use some variation of SDLC
4
Traditional Predictive Approach to the SDLC
 Project planning – initiate, ensure feasibility, plan schedule,




5
obtain approval for project
Analysis – understand business needs and processing
requirements
Design – define solution system based on requirements and
analysis decisions
Implementation – construct, test, train users, and install
new system
Support – keep system running and improve
“Waterfall” Approach to the SDLC
6
Modified Waterfall Approach
with Overlapping Phases
7
Newer Adaptive Approaches to the SDLC
 Based on spiral model
 Project cycles through
development activities
over and over until project
is complete
 Prototype created by end
of each cycle
 Focuses on mitigating risk
 Iteration – Work activities are
repeated
 Each iteration refines
previous result
 Approach assumes no one
gets it right the first time
 There are a series of mini
projects for each iteration
8
Activities of Planning Phase of SDLC
 Define business problem and scope
 Produce detailed project schedule
 Confirm project feasibility
 Economic, organizational, technical, resource, and
schedule
 Staff the project (resource management)
 Launch project  official announcement
9
Activities of Analysis Phase of SDLC
 Gather information to learn problem domain
 Define system requirements
 Build prototypes for discovery of requirements
 Prioritize requirements
 Generate and evaluate alternatives
 Review recommendations with management
10
Activities of Design Phase of SDLC
 Design and integrate the network
 Design the application architecture
 Design the user interfaces
 Design the system interfaces
 Design and integrate the database
 Prototype for design details
 Design and integrate system controls
11
Activities of Implementation Phase of SDLC
 Construct software components
 Verify and test
 Convert data
 Train users and document the system
 Install the system
12
Activities of Support Phase of SDLC
 Maintain system
 Small patches, repairs, and updates
 Enhance system
 Small upgrades or enhancements to expand system
capabilities
 Larger enhancements may require separate development
project
 Support users
 Help desk and/or support team
13
Methodologies and Models
 Methodologies
 Comprehensive guidelines to follow for completing every
SDLC activity
 Collection of models, tools, and techniques
 Models
 Representation of an important aspect of real world, but
not same as real thing
 Abstraction used to separate out aspect
 Diagrams and charts
 Project planning and budgeting aids
14
Tools and Techniques
 Tools
 Software support that helps create models or other
required project components
 Range from simple drawing programs to complex CASE
tools to project management software
 Techniques
 Collection of guidelines that help analysts complete a
system development activity or task
 Can be step-by-step instructions or just general advice
15
Two Approaches to System Development
 Traditional approach
 Also called structured system development
 Structured analysis and design technique (SADT)
 Includes information engineering (IE)
 Object-oriented approach
 Also called OOA, OOD, and OOP
 Views information system as collection of interacting
objects that work together to accomplish tasks
16
Object-Oriented Approach
 Completely different approach to information systems
 Views information system as collection of interacting
objects that work together to accomplish tasks
 Objects – things in computer system that can respond to
messages
 Conceptually, no processes, programs, data entities, or
files are defined – just objects
 OO languages: Java, C++, C# .NET, VB .NET
17
Object-Oriented Approach
 Object-oriented analysis (OOA)
 Defines types of objects users deal with
 Shows use cases are required to complete tasks
 Object-oriented design (OOD)
 Defines object types needed to communicate with people and
devices in system
 Shows how objects interact to complete tasks
 Refines each type of object for implementation with specific
language of environment
 Object-oriented programming (OOP)
 Writing statements in programming language to define what
each type of object does
18
Life Cycles with Different Names for Phases
19
Current Trends in Development
 The Unified Process (UP): Reinforces six best
practices(develop iteratively, define and manage
system requirements, use component architectures,
create visual models, verify quality, control changes)
 Extreme Programming (XP): Recent development
approach to keep process simple and efficient
 Agile Modeling: Hybrid of XP and UP
 Scrum: Respond to situation as rapidly as possible
20
Tools to Support System Development
 Computer-aided system engineering (CASE)
 Automated tools to improve the speed and quality of system
development work
 Contains database of information about system called
repository
 Upper CASE – support for analysis and design
 Lower CASE – support for implementation
 ICASE – integrated CASE tools
 Now called visual modeling tools, integrated application
development tools, and round-trip engineering tools
21
Q&A
Why Analyse Requirements?
 Use case model alone is not enough
 There may be repetition
 Some parts may already exist as standard components
 Analysis aims to identify:
 Common elements
 Pre-existing elements
 Interaction between different requirements
© Bennett,
McRobb and
Farmer 2005
23
What a Requirements Model Must Do
A requirements model meets two main needs:
 Confirms what users want a new system to do



Must be understandable for users
Must be correct and complete
Specifies what designers must design

Must be unambiguous
© Bennett,
McRobb and
Farmer 2005
24
What a Requirements Model Must Do
 Describes what the software should do
 Represents people, things and concepts important to
understand what is going on
 Shows connections and interactions among these
people, things and concepts
 Shows the business situation in enough detail to
evaluate possible designs
 Is organized so as to be useful for designing the
software
© Bennett,
McRobb and
Farmer 2005
25
How We Model the Analysis
 The main tool used for analysing requirements is the
class diagram
 Two main ways to produce this:
 Directly based on knowledge of the application domain
(a Domain Model)
 By producing a separate class diagram for each use case,
then assembling them into a single model (an Analysis
Class Model)
© Bennett,
McRobb and
Farmer 2005
26
Class Diagram: Stereotypes
 Analysis class stereotypes differentiate the roles
objects can play:
 Boundary objects model interaction between the system
and actors (and other systems)
 Entity objects represent information and behaviour in
the application domain
 Control objects co-ordinate and control other objects
© Bennett,
McRobb and
Farmer 2005
27
Class Diagram: Stereotypes
© Bennett,
McRobb and
Farmer 2005
28
Class Diagram: Stereotypes
© Bennett,
McRobb and
Farmer 2005
29
Class Diagram: Stereotypes
© Bennett,
McRobb and
Farmer 2005
30
Class Diagram: Class Symbol
© Bennett,
McRobb and
Farmer 2005
31
Class Diagram: Instance Symbol
Class Diagram: Attributes
Attributes are:
 Part of the essential description of a class
 The common structure of what the class can ‘know’
 Each object has its own value for each attribute in its
class
© Bennett,
McRobb and
Farmer 2005
33
Class Diagram: Links
Class Diagram: Associations
Associations represent:
 The possibility of a logical relationship or connection
between objects of one class and objects of another
 If two objects can be linked, their classes have an
association
© Bennett,
McRobb and
Farmer 2005
35
Class Diagram: Associations
© Bennett,
McRobb and
Farmer 2005
36
Class Diagram: Multiplicity
© Bennett,
McRobb and
Farmer 2005
37
Class Diagram: Operations
 Operations describe
what instances of a class
can do:
 Set or reveal attribute
values
 Perform calculations
 Send messages to other
objects
 Create or destroy links
© Bennett,
McRobb and
Farmer 2005
38
From Requirements to Classes
 Start with one use case
 Identify the likely classes involved (the use case
collaboration)
 Draw a collaboration diagram that fulfils the needs of
the use case
 Translate this collaboration into a class diagram
 Repeat for other use cases
© Bennett,
McRobb and
Farmer 2005
39
From Requirements to Classes
Sequence Diagrams
Jul-15
41
sd Add a new advert to a campaign if within budget
:CampaignManager
:Client
:Campaign
:Advert
getName
listCampaigns
ref
List client campaigns
ref
Get campaign budget
addCostedAdvert
alt
[totalCost <= budget]
ref
Create advert
[else]
ref
42
Create request
Interaction Fragment Used
sd Get campaign budget
:CampaignManager
:Campaign
:Advert
checkCampaignBudget
loop
[For all campaign’s adverts]
getCost
getOverheads
Simple activity diagram
Create new
StaffGrade
Link to
CreativeStaff
Link to previous
StaffGrade
Set previous
StaffGrade
gradeFinishDate
An activity diagram show the main steps for the operation
Activity Diagram with Selection and Iteration
Calculate bonus
Create
warning
letter
[bonus < £25]
[bonus > £250]
Add to ‘star’ list
[bonus >= £25 AND
bonus <= £250]
Add to list
[more StaffMembers]
[no more StaffMembers]
Format list
System Design and Detailed Design
 System design deals with the high level architecture of
the system
 structure of sub-systems
 distribution of sub-systems on processors
 communication between sub-systems
 standards for screens, reports, help etc.
 job design for the people who will use the system
© Bennett,
McRobb and
Farmer 2005
46
System Design and Detailed Design
 Object-oriented detailed design adds detail to the
analysis model
 types of attributes
 operation signatures
 assigning responsibilities as operations
 additional classes to handle user interface
 additional classes to handle data management
 design of reusable components
 assigning classes to packages
© Bennett,
McRobb and
Farmer 2005
47
Qualities of Analysis
 Correct scope—everything in the system is required
 Completeness—everything required is in the system
and everything is documented in the models
 Correct content—accurate description of requirements
 Consistency—each element is consistently referred to
by the same name
© Bennett,
McRobb and
Farmer 2005
48
Qualities of Design
 Functional—system will perform the functions that it
is required to
 Efficient—the system performs those functions
efficiently in terms of time and resources
 Economical—running costs of system will not be
unnecessarily high
 Reliable—not prone to hardware or software failure,
will deliver the functionality when the users want it
© Bennett,
McRobb and
Farmer 2005
49
Qualities of Design
 Secure—protected against errors, attacks and loss of
valuable data
 Flexible—capable of being adapted to new uses, to run
in different countries or to be moved to a different
platform
 General—general-purpose and portable (mainly
applies to utility programs)
 Buildable—Design is not too complex for the
developers to be able to implement it
© Bennett,
McRobb and
Farmer 2005
50
Qualities of Design
 Manageable—easy to estimate work involved and to
check of progress
 Maintainable—design makes it possible for the
maintenance programmer to understand the
designer’s intention
 Usable—provides users with a satisfying experience
(not a source of dissatisfaction)
 Reusable—elements of the system can be reused in
other systems
© Bennett,
McRobb and
Farmer 2005
51
Q&A
http://staruml.en.softonic.com/