sit773: software design and engineering week 1- lecture · pdf filesit773: software design and...
TRANSCRIPT
SIT773: Software Design and
Engineering
Week 1- Lecture
School of Information Technology
Welcome to SIT773: Software Design and Engineering
This unit is a core unit for students in (MIT) degree.
This unit will introduce how software systems are designed, developed and
maintained
As of IT graduate, many of you will work as IT professionals in industries and
business organization
Where your role may be as
System analysts, Programmer, Hardware-Software co-developer
Tester, IT manager etc
This unit will provide you lessons of different essential steps
that you need to know as a system analysts,
Also will be useful when you are in other roles
as part of the team that design, develop, upgrade and maintain the software.
To get maximum benefit from this unit, I advise you:
Attend all lecture and practical classes
Take note in the class
Practice at home, read the material again
Complete all assessment tasks sincerely and do your best.
Consult with me if you need more explanation
Welcome
The unit chair has collaborated with one of the top industries
who develop Computer Aided Software Engineering (CASE) tool
Sparx Systems (http://www.sparxsystems.com.au/)
Several times SD Times 100 awards winner
Their product Enterprise Architect (EA) is very popular around the world particularly
in Europe, North America and Australia
Sparx Systems has given EA license for our students to use in their course
Strictly non-commercial purpose
We will use EA in the practical class of this unit
EA has very big market in software industries
You can add this in your PORTFOLIO that you are familiar with EA for Job hunting!
Many companies directly ask in selection criteria in job advertisement for
experience in EA
What’s new in this Trimester
About Lecturer
Unit Schedule
• 11 Classes
Week 1-11
2 hour each
• 10 Pracs
Week 2-11 (6 Prac tasks, 3
Assignment sessions).
2 hours practicals every week
Start from week 2
• 3 Assignments
– two individual written assignment
– 1 Individual Oral report
– To be released soon
Assessment
• Assessment Components:
3 assignments: 50%
Assignment 1: 20%
Assignment 2: 20%
Assignment 3: 10%
A final exam: 50% (2 hrs)
Detail in the unit Guide
Textbooks and References
• Textbooks J. Hoffer, J. George and J. Valacich, Morden Systems Analysis
and Design, Prentice Hall, 7th version, 2014 (Referred as H).
• References Kendall & Kendal, Systems Analysis and Design, Prentice Hall, 8th
edition, 2013 (referred as K).
J. Whitten & L. Bentley, Systems Analysis & Design Methods, McGraw-Hill, 8th edition, 2014 (referred as W).
J. Satzinger, R. Jackson and S. Burd, Systems Analysis and Design, Thomson, 3rd edition, ISBN: 0-619-21325-6, 2004 (referred as S)
A. Dennis, B. Wixom and R. Roth, Systems Analysis and Design, Wiley, 3rd Ed. 2006 (referred as D).
Class Schedule
• Please see cloud Deakin Lecture Schedule PDF
file
• It is in the Unit information folder
Assignments
• Submission
Via CloudDeakin SIT773 Assignments (Dropbox).
Submission via email will be deleted without marking.
Late submission: 2% penalty for each day (ref policy in unit guide)
• Marking criteria
Correctness, accuracy, presentation, logic, clarity, organization and structure.
Learning Materials
• Overheads Up on the web subject to updating
• Practical sessions Runs from week 2 to week 10.
All practical session should be submitted to Clouddeakin
in the week.
Submitted practical sessions will not be marked.
• Assignments Can be submitted at any time before due date.
Be marked within 2 – 3 weeks after due date.
Teaching/Learning Methods
• Guide Learning; not cover everything
• Theory + Practice
• Lecture + Lab sessions
• Assignments + exam
• Lecture + Self-learning (Reading is
essential)
• Multiple resources
What is a System?
• A System is a Group of interacting components with a purpose.
• Key Points Group – Consists of more than one item
Interacting – Operate in relation to each other
Components – undividable items or subsystems
Purpose – Get something done.
• Examples: Education system
Transportation system
Human body
A tropical cyclone monitoring system
Market forecasting system
Information Systems• This is a collection of interrelated components
– that collect information from input
– Process information
– Store information
– provide output information as required to complete tasks or to
complete a set of objectives
• Key Points
With Inputs & Outputs
With processing mechanism
Serve for certain purposes
Information Systems
• Examples
• Transaction processing systems (TPS)
– Collects and record information about business organization’s transactions
• Management information systems (MIS)
– Take information from TPS
– Produce reports for planning and control
• Decision support (DSS)
– Takes information form TPS, use computational intelligence technique and provide management decision
Student Record Management System
Information system and its subsystemsSubsystem
part of a larger
system
Super systemcollection of systems
System contains subsystems
System Boundary
17
Information Systems and Component Parts
Components:
1) Hardware
2) Software
(Procedures)
3) Inputs/Outputs
4) People (Users)
General Objectives (1)
1. Understanding the essential theory of
systems development of methodology.
2. Understanding the essential activities of
different phases of system development
3. Knowing the main approaches to systems
analyses.
4. Knowing system design approaches.
5. Understanding the comparative merits of
different approaches of analyses and
design
General Objectives (2)
Understanding
not only what System Analyses and Design (SAD) is about, Also knowing
1. how to analyze and design a system,
2. how could we turn out a better system.
In particular, to understand
1. Structured approach to systems analysis and design (SAD).
2. Object-Oriented approach to systems analysis methods in general system analysis.
3. System Implementation tasks and methods.
The Systems Development Life cycle (SDLC)
• What is a life cycle?
• Let’s see a life cycle of paper production (a simple example)
The Systems Development Life cycle (SDLC)
• SDLC: This is a framework for managing systems development process
• Like many system, development of information system follows a life cycle
• Five main Phases
SDLC Phases
SDLC Phases
• Project planning –
– initiate, ensure feasibility,
– plan schedule,
– obtain approval for project
• Analysis –
– understand business needs
– and processing requirements
• Design – define solution system based on requirements and analysis decisions
• Implementation –
– Construct, coding,
– test, train users,
– and install new system
• Support –
– Main system
– Running and improve
SDLC Phases
SDLC Phases and Deliverables
Phases Product
Planning
Analysis
Design
Implementation
Project Plan
System Proposal
System Specification
New System and Maintenance Plan
SDLC Variations
• Two main variations of SDLC
– Predictive –
• assumes project can be planned out in advance
– Adaptive–
• more flexible,
• assumes project cannot be planned out in advance
• Changes are accepted with user interaction at different
phases
• Many unknown at the beginning
Choosing a type of SDLC
“Waterfall” Type: Predictive SDLC
Planning
Analysis
Design
Implementation
System
“Waterfall” Type: SDLC Proceed in sequence from one phase to another
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
Works well when quality is more important than cost or schedule
“Waterfall” Type: SDLC
“Waterfall” : Cons:
Waterfall model takes a static view of requirements
Lack of user involvement once specification is written
ignores changing needs
Hence, problems not detected until late in the process
Long time between system proposal and delivery of new system
Adaptive SDLC• Parallel Development
• Rapid Application Development (RAD)
– Phased Development
– Prototyping
• System prototyping
– Throw-away Prototyping
• Design prototyping
• Spiral model
Parallel Development Type SDLC
General design
Divide project into subprojects that are designed and implemented in
parallel
Finally integrated
Pros : Reduces schedule time, less chance of rework
Cons: Sub-projects may be difficult to integrate
34
Rapid Application Development (RAD):
Phased Development
Phased Development Methodology
Break into a series of versions that are developed sequentially
Pros
User get a system to use quickly
User can identify additional needs for later versions
Cons
Users work with a system that is intentionally incomplete
35
Rapid Application Development (RAD):
Phased Development
Prototyping Building a scaled-down working version of the system
Concurrent analysis, design and implementation, repeated
Advantages:
Users are involved in design
Captures requirements in concrete form
Users interact with prototype very quickly
Users can identify needed changes and refine real requirements
Cons
Tendency to do superficial analysis
Initial design decisions may be poor
Throw-away Prototyping Design prototype
Pros
Risks are minimized
Important issues are understood before the real system is
built
Cons
May take longer than prototyping
38
The Spiral Life Cycle
Spiral model
• 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
Activities of Each SDLC Phase
• Predictive or adaptive approach use SDLC
• Activities of each “phase” are similar
• Phases are not always sequential
• Phases can overlap
• Activities across phases can be done within
an iteration
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
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
Activities of Design Phase of SDLC
Prepare physical models from logical models
Design the application architecture
hardware, software, communications, security , and global support for
the new application
Design the user interfaces
Design the input and output
Design and integrate the database
Prototype for design details
Program design
create instructions for the programmers
about how code needs to be written
and how pieces of code need to fit together to form a program.
Activities of Implementation Phase of SDLC
• Construct software components
• Test
• Convert data
• Train users and document the system
• Install the system
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
What is Systems Analysis &
Design (SAD)?
SAD is a series od processes
for analyzing and designing computer based information
systems.
SAD is a systematic approach to
Identify problems, opportunities and objectives
Analyze the information flows in organizations; and
Design computerized information systems to solve
problems.
Why SAD is Important?
• For large systems
What happen to a system which involves 10s or 100s
developers??
Window 95 involved 200 programmers & testers,
and 11 million lines of code!!! (ACM
Communication , Vol. 40, No. 6, 1997).
Provides consistent and clear pictures to be seen by
development members.
Design & Documentation can be seen as a blueprint
for system maintenance.
Why SAD is Important (cont.)?
• For Small Systems
Forgetting what you have done??
Design & Documentation can be seen as a blueprint for system
maintenance.
• System design allows a development team to roughly
see what and how their system will look like.
Systems Analyst
• What kind person is called a system analyst?
• The Role of a systems analyst.
• Personal Qualities helpful to systems analysts.
What kind of person is called a system
analyst?
• Systems analyst is the person who
Identifying the problems, considering possibilities
Analyzing requirements, feasibilities, and proposing
solutions
Designing the system.
What kind of person is called a system
analyst (cont) ?
• and the person should
Have adequate level of programming skill and understand capability of computers
See problem analysis as a challenging task
Be able to systematically tackle problems using tools, techniques and experiences
Be able to communicate well with others
Personal Qualities Helpful to Systems
Analyst
• Problem solving abilities
• Communication skills
• Computer experience
• Self-discipline and self-motivation
• Project management capabilities
Required Skills of Analysts
• An analyst should have fundamental technology
knowledge of:
1. Computers / peripheral devices (hardware)
2. Communication networks and connectivity
3. Database and database management systems (DBMS)
4. Programming languages (for example: VB.NET or Java)
5. Operating systems and utilities
Structured & Object oriented (OO) SAD
Structured SAD
Traditional approach:
structured programming, structured analysis and structured design.
structured program – with a beginning and end consists of sequence, decision
and repetition constructs
Structured analysis –
a technique used to define what processing the system needs to do;
what data the system needs to store and use;
what I/O are needed.
Structured Design –
a technique providing descriptive solution of what the system should be, and what each program
should be accomplished, and how the program should be organized.
Structured & Object oriented (OO) SAD
Object-Oriented SAD
O-O programming concept based SAD
Problems are modeled using Objects and their inheritance
Object = Code about the data + Operation to be performed on it.
One of the claims in O-O is allowing REUSE.
The End