[go: up one dir, main page]

0% found this document useful (0 votes)
6 views28 pages

Week 011 A

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 28

Software Design & Analysis

Abdul-Rahman Mahmood
Assistant Professor, Computer Science, FAST-NU

abdulrahman@nu.edu.pk reddit.com/user/alphapeeler
alphapeeler.sf.net/pubkeys/pkey.htm www.flickr.com/alphapeeler
pk.linkedin.com/in/armahmood http://alphapeeler.tumblr.com
bqb-tsid-asp armahmood786@jabber.org
alphapeeler alphapeeler@aim.com
alphapeeler abdulmahmood-sss
armahmood786 alphapeeler@icloud.com
http://alphapeeler.sf.net/ pinterest.com/alphapeeler
About Instructor

https://alphapeeler.sf.net/about/about.txt
Text & Reference books
● Object-Oriented Analysis, Design and Implementation: An Integrated Approach, Second Edition by
Brahma Dathan & Sarnath Ramnath
● Systems Analysis and Design: An Object-Oriented Approach with UML by Alan Dennis & Barbara
Haley Wixom & David Tegarden

● UML 2 Toolkit by Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado (2004)
● Applying UML and Patterns 3rd Edition by Craig Larman (October 20, 2004)
● Enterprise Java and UML, 2nd Edition by C. T. Arrington, Syed H. Rayhan, (2003)
● UML Distilled, 3rd Edition by Martin Flower (September 15, 2003)
● UML for Java Programmers Robert Cecil Martin (2002)
GCR codes
 Section C: leovgww

 Section D: zbt7bmd

 Section J: e7jsm5x
Assessment
 Final Exam (50%)
 Home work assignments (10%)
 Term exams 30%
 Project( confirmed) 10%
Course Goals
 After successful completion of this course students
should be able to do analysis of software system. Do
modeling using UML and create diagram like use
cases, activity, class, sequence, collaboration etc.
outline
 students_outine.docx
What is Systems Analysis and
Design?

 Systems are created to : solve problems.


 Think of the systems approach
an organized way of dealing with a problem.
 System Analysis and Design, mainly deals with
the software development activities.
Defining A System

 A collection of components that work together to


realize some objective forms a system.
 Basically there are three major components in
every system, namely input, processing and
output.
System Development Life Cycle
organizational process of
 System Development Life Cycle is an ______________
developing and maintaining systems.
 System development life cycle means combination of
activities
various_________.
 Following are the different phases
______ of software development cycle:
 System study
 Feasibility study
 System analysis
 System design
 Coding
 Testing
 Implementation
 Maintenance
System Development Life Cycle
System Environments ?
 Development
 Test
 Staging
 Pre-Production
 Production
 Mirror
 Roles involved:
 D, DM, PM, TM, CM & DT.
System Study
 System study - 1st stage of system development life cycle.
 Gives clear picture of what actually the physical system is.
 System study phases (I & II):
 I: initial survey of the system - helps in identifying the scope.
 II: in-depth study - requirement identification / limitations &
issues of current system.
 Proposal:
 Prepared after completing the system study,
 prepared by the System Analyst.
 Contains the findings of the current system
 Recommendations to overcome the limitations / issues of the
current system.
 Steps of System study phase:
 problem identification and project initiation.
 background analysis.
 inference or findings.
Feasibility Study
 Done on the basis of initial study.
 It is the test of the proposed system in the light
of its workability, user’s requirements, effective
use of resources and the cost effectiveness.
 Goal : to achieve the scope.(not to solve issues)
 Advantage: Cost and benefits are estimated
with greater accuracy.
System Analysis
 Analysis is detailed study of :
 current system, leading to specifications of a new system.
 system operations & its relationships within & outside system.
 Data collection for: files, decision points, &
transactions of present system.
 Tools of system analysis: Interviews, on-site
observation & questionnaire.
 Steps to define boundary of the new system:
 Keeping in view the problems and new requirements
 Workout pros & cons including new system
 Analysis is documented in: detailed DFDs, data
dictionary, UML: Use case, Classes, objects, Activity,
Interactions, state, logical data structures
 Includes sub-dividing of complex objects process, data
store identification & manual processes.
System Analysis Action items
 Specification of what the new system is to
accomplish based on the user requirements.
 Functional hierarchy showing the functions to be
performed by the new system and their relationship
with each other.
 Function network which are similar to function
hierarchy but they highlight the those functions which
are common to more than one procedure.
 List of attributes of the entities - these are the data
items which need to be held about each entity (record)
System Design
 Based on the _____________
user requirements and the detailed
________
analysis of a new system, the new system must
be designed.

 This is the phase of system designing. It is a


_________
most crucial phase in the development of a
system.

 Normally, the design proceeds in two stages :

 Preliminary or general design


 Structure or Detailed design
Coding

 Coding the new system into computer programming language


converts human instructions into a format that computer understands.
 Coding is stage where defined procedure are transformed into control
specifications by the help of a computer language.
 This is also called the programming phase in which the programmer
converts the program specifications into computer instructions, which
we refer as programs.
 data movements and control the entire
The programs coordinate the _______________
process in a system.
 modular in nature. This
It is generally felt that the programs must be _________
helps in fast development, maintenance and future change, if required.
Testing
 Removing all the bugs, if any - Before
implementing
 Test plan is developed and run on given set of test
data.
 Output of test run should match expected results.
 Using test data following test runs are carried out:
 Unit test: After coding / compiling programs, they
are individually tested with test data. Any
ambiguity must be noted & debugged.
 System Test: done after unit test. Complete
system is executed on actual data. Results or
output of system is analyzed. If output is not
matched with expected outputs, errors are
identified and are fixed.
Implementation
 After UAT, the implementation phase begins.
 It is the stage during which theory is turned into
practice.
 All programs of the system are loaded onto the user's
computer.
 After loading the system, training of the users starts.
Main topics of such type of training are:
 How to execute the package
 How to enter the data
 How to process the data (processing details)
 How to take out the reports
 After the users are trained about the computerized
system, manual working has to shift from manual to
computerized working.
System Run Strategies:
 Parallel run: computerized & manual systems are
executed in parallel. Advantages of Parallel run:
 Manual results comparison with the
computerized one.
 Failure of the computerized system at the early
stage, does not affect the working of the
organization.
 Pilot run: New system is installed in parts. Some
part of the new system is installed first and
executed successfully for considerable time period.
Advantages:
 When results are found satisfactory then only
other parts are implemented.
 This strategy builds the confidence and the
errors are traced easily.
Maintenance
 Maintenance is required to:
 eliminate errors in the system during its working life
 tune the system to any variations in its working
environment.
 Errors are always in system that must be
corrected.
 System Review: is necessary from time to time
for:
 knowing the full capabilities of the system
 knowing the required changes or the additional
requirements
 studying the performance
 Major change during the review:
 If a major change to a system is needed, a new
project may have to be set up to carry out the change.
 New project will then proceed through all above life
cycle phases.
Systems Development
Methodologies
 Object-Oriented analysis and design
 Object-Oriented analysis and design becoming popular
because of its ability to thoroughly represent complex
relationships, as well as represent data and data
processing with a consistent notation
 Object-Oriented analysis and design blend analysis and
design in evolutionary process
 It allows you to deal with the complexity inherent in a
real-world problem by focusing on the essential and
interesting features of an application
Systems Development
Methodologies
 Object-Oriented analysis and design
 Process of progressively developing representation of a
system component (or object) through the phases of
analysis, design and implementation
 The model is abstract in the early stages
 As the model evolves, it becomes more and more
detailed
Systems Development
Methodologies
 Object-Oriented analysis and design
 Object-Oriented systems development life cycle
 The Object-Oriented development life cycle consists of
progressively developing an object representation through three
phases analysis, design, and implementation
 Analysis Phase

 Object-oriented analysis is a popular approach that sees a system


from the viewpoint of the objects themselves as they function
and interact
 Model of the real-world application is developed showing its
important properties
 Model specifies the functional behavior of the system independent of
implementation details
Systems Development
Methodologies
 Object-Oriented analysis and design
 Design Phase
 Analysis model is refined and adapted to the environment
 Can be separated into two stages
 System design

 Concerned with overall system architecture

 Object design

 Implementation details are added to system design

 Implementation Phase
 Design is implemented using a programming language or
database management system

You might also like