TCS 2411 Software Engineering

Download Report

Transcript TCS 2411 Software Engineering

System Engineering and
Analysis
“What is the role of the software product?”
TCS2411 Software Engineering
1
Lecture Objectives
To examine the elements of a computerbased system
To understand the development process
of a system
To illustrate the representations of a
business information system
TCS2411 Software Engineering
2
Definition of System
“A collection of interrelated components
that work together to achieve some
objective”
Objective: to develop a product, to
support business functions…etc.
TCS2411 Software Engineering
3
Information system types
Manual (read a text by your eyes then
summarize using your pen)
Automated (get the information through a
computerized system)
Process
Data
TCS2411 Software Engineering
Information
4
system environments
Internal, like users, organization structure
and procedures
External, consists of all factors outside the
organization that affect the system
TCS2411 Software Engineering
5
System Elements
 Software: computer programs, data structures, and
related documents.
 Hardware: electronic computing devices and
connectivity devices.
 People: users and operators.
 Database: large and organized collection of
information that is accessed via the software.
 Documentation: descriptive information for user and
operator (e.g. hardcopy manuals, on-line help files)
 Procedures: steps that define the specific use of each
system element.
TCS2411 Software Engineering
6
TCS2411 Software Engineering
7
System Life Cycle
Phases
Initial Strategy
 Identification
of
needs,
problems,
opportunities, goal objectives and scope.
 Critical to the success of the project.
 The analyst must be honest.
 The analyst must discover what the
business is trying to do.
TCS2411 Software Engineering
8
System Life Cycle
Phases (Continued)
Determining the Requirements
(Information and Tools)
 Several tools are used to define IR in the
business, sampling, investigating of hard data,
interviewing,
questionnaires,
observing,
prototyping.
 The analyst is striving to understand what
information users need to perform their job
TCS2411 Software Engineering
9
System Life Cycle
Phases (Continued)
Feasibility Study
 Economic, technical, legal feasibility (can be done
or not).
 Cost-benefit analysis, risk assessment
 "Go / no-go" decision
 Analysis
 Requirements definition & specification
 there are some special tools and techniques that
help the analyst as DFD, Data Dictionary
TCS2411 Software Engineering
10
System Life Cycle
Phases (Continued)
Design
 Logical & Physical Design (Design the interface,
input/output, file or database)
 System specifications
 Implementation
 Installation
 Training
 File conversion
 Systems testing, security
TCS2411 Software Engineering
11
System Life Cycle
Phases (Continued)
Maintenance, Review and Test
 Amendments (fix) by the programmers
 System audit, by the programmers and analyst
TCS2411 Software Engineering
12
System Engineering
Hierarchy
Domain of
interest
System
element
Business or
product domain
World view
Domain view
Element view
Detailed view
TCS2411 Software Engineering
13
System Engineering
Hierarchy continue
World view: the entire business or technology is
examined.
Domain view: specific domain of interest.
Element view: the need for targeted system
element (e.g. data, software, hardware, people)
is analyzed.
Detailed view: analysis, design, and construction
of a targeted system element.
TCS2411 Software Engineering
14
System Modeling
The engineer creates models that:
define processes for the view under
consideration.
represent behaviour of the processes
explicitly define exogenous and
endogenous input to the model
represent all linkages (including output) to
better understand the view
TCS2411 Software Engineering
15
Exogenous &
Endogenous Inputs
Exogenous inputs link one constituent of a
view with other constituents (at the same
or other levels)
Endogenous inputs link individual
components of a constituent at a
particular view
TCS2411 Software Engineering
16
Restraining Factors of
System Model
Assumptions
Simplifications
Limitations
Constraints
Preferences
TCS2411 Software Engineering
17
Enterprise Modeling
Organizational structure
Business-level data modeling
Process modeling
Information flow modeling
TCS2411 Software Engineering
18
Organizational
Structure
XYZ
Company
Corporate
Support
Sales &
Marketing
Engineering
Manufacturing
…..
Finance
Planning
TCS2411 Software Engineering
19
Business-level Data
Modeling
Product A
describes
sells
Salesperson
purchases
evaluates
inquires about
TCS2411 Software Engineering
contacts
Customer
assists
20
Process Modeling
Establish
customer
contact
Provide
evaluation
product
TCS2411 Software Engineering
Prepare
delivery
order
Provide
product
info
Address
questions/
concerns
Check
availability
Accept
sales
order
21
Information Flow
Modeling
Contact record
Establish
customer
contact
Product
description
Provide
evaluation
product
Prepare
delivery
order
Product
info
Provide
product
info
Customer
Check
availability
queries
Address
questions/
concerns
d.o. info
order
availability
Accept
sales
order
Inventory
configuration
TCS2411 Software Engineering
22
Summary
System analysis provides the ‘big’ picture
of the computer-based system where
software is to be used
By understanding the system, a better
software product can be produced
Identification of elements of the system
provides the framework for software
requirements
TCS2411 Software Engineering
23
Software Requirements
Specifications
Problem Statement
system reference, problem areas
Data model
Entity Relationship Diagram
Functional requirements
List of functions, Context diagram, DFD
Behaviour model
State Transition Diagram
Glossary of Terms
TCS2411 Software Engineering
24
References
“Software Engineering: A Practitioner’s
Approach” 5th Ed. by Roger S. Pressman,
Mc-Graw-Hill, 2001
“Software Engineering” by Ian Sommerville,
Addison-Wesley, 2001
TCS2411 Software Engineering
25