The Longest Common Subsequence problem
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Problem Definition
Let X =< x1 , x2 , . . . xm > and Y =< y1 , y2 , . . . , yn > denote two sequences on a fixed alphabet (You ma
Introduction to Software Engineering
Introduction to software engineering
Term 1967-68
NATO Conference to deal with problems with software
Software and its expanding role
Pervasive
Engineered - not manufactured
Doesnt wear out
Basically custom built
Law
ScrumProcessModel
Scrum
Agile Manifesto
Individualsandinteractionsoverprocessesandtools
Workingsoftwareovercomprehensivedocumentation
Customercollaborationovercontractnegotiation
Respondingtochangeoverfollowingaplan
Agile Techniques
Emphasize team work
Jo
Analysis Phase I
1
Requirements Analysis
Determining WHAT the software is to do
Passages
Inception
Initial development
Planning
Analysis
Requirements Engineering
Productive operation
Upkeep
Retirement
Planning
Scope
Involve stakeholders
Estimate b
Requirements Representation
Modeling
Help to understand the requirements thoroughly
o Tease out questions and uncertainties
o Holes in model reveal ambiguous and unknown behavior
Natural language is inherently ambiguous
formal language
Clearer thinking
Es
Requirements Elicitation
1
Requirements Elicitation
Process of discovering the requirements
Work with the stakeholders
Requires negotiation and compromise
Determine a single set of consistent, complete requirements
Very imprecise and difficult proces
Scenarios for Analysis Work
Consider the following scenario for a lecture presentation system.
The Lecture Presentation System (LPS) is a program that displays on the monitor screen
an outline of a course lecture, so that output can be projected on a larg
Requirements Analysis, Negotiation and Representation
Requirements Analysis and Negotiation
Goal uncover problems and reach agreement
Interleaved with elicitation and representation
Organizing requirements
Goals
Hierarchical
Decompose requirements int
student
billing system
register for classes
Admission and
records
generate classlists
departments
Use-Case Diagram
Student Registration System
vendors
Use-Case Diagram
place video in system
Video System
become a member
customer
rent a video
employee
updat
More on Software Process
Software Process
Requirements workflow
Determine clients needs
Application domain
Business model
Client oriented
Analysis Workflow
Analyze and refine requirements
Developer oriented
Design workflow
Refine analysis artifacts
Object Oriented Analysis
OO Terms
1
Class- A structure that encapsulates the data and the procedural abstractions
required to describe the content and behavior of some real world entity
o Through encapsulation the class is decoupled from the rest of the
Morgantown University Student Evaluation
Page 7/30
2.1.2 Use Case Diagram
Submit free form
question
Display number of
takers
Faculty
Generate survey
Display report
Add/disable
questions in database
Preview survey
Check for
incentives
Submit question
AR
Su
Software Process
1
Goal of Software Provide Value to users
Quality Aspects
Users Perspective
UI/HCI
Effectiveness/reliability
Security
Developers Perspective
Reliability
Understandability
Efficiency
Maintainability
Communication
Skills
Listen, Pr
Analysis of Algorithms - Homework II (Solutions)
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Problems
1. Professor Stankowski proposes the following algorithm for sorting an array A of n numbers:
(i) If there is
Analysis of Algorithms - Scrimmage I (Solutions)
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Problems
1. Prove that
n
X
i2 =
i=1
n (n + 1) (2n + 1)
.
6
Solution: We will be using the first principle of mathematic
Analysis of Algorithms - Tools of the trade
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Important Techniques
(a) Summation - Used to count number of steps in loops and recursive calls. Also used in counting numbe
Analysis of Algorithms - Midterm
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The Midterm is to be turned in by 9 : 00 am. in class.
2. Each question is worth 4 points.
3. Attempt as many problems
Analysis of Algorithms - Homework I
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The homework is due on September 14, in class.
2. Each question is worth 3 points.
3. Attempt as many problems as yo
Analysis of Algorithms - Scrimmage I
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The scrimmage will not be graded.
2. Attempt as many problems as you can.
3. The solutions have been posted on the
Analysis of Algorithms - Final
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The Final is to be turned in by 1 : 00 pm. in class.
2. Each question is worth 4 points. Attempt as many problems as you
Analysis of Algorithms - Scrimmage II
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The scrimmage will not be graded.
2. Attempt as many problems as you can.
3. The solutions have been posted on the
Analysis of Algorithms - Quiz I (Solutions)
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Problems
1. Show that log(n!) (n log n).
Solution: Without loss of generality, we assume that the logarithm base is 2.
Obser
Analysis of Algorithms - Quiz II
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The Quiz is to be returned by 9 : 00 am. in class.
2. Each question is worth 3 points.
3. Attempt as many problems as y
Analysis of Algorithms - Quiz I
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The Quiz is to be returned by 9 : 00 am. in class.
2. Each question is worth 3 points.
3. Attempt as many problems as yo
Fractional Knapsack
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Statement of Problem
In the Fractional Knapsack problem, you are given n objects O = cfw_o1 , o2 , . . . , on with respective weights
W = cfw_w1 ,
Analysis of Algorithms - Quiz II (Solutions)
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Problems
1. Recurrences: Solve the following recurrences using the Master method:
(i)
T (1)
=
0
T (n)
=
n
2 T ( ) + log n,
Analysis of Algorithms - Scrimmage II (Solutions)
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Problems
1. Show that if f (n) and g(n) are monotonically increasing functions, then so is f (n) + g(n).
Solution: As
Analysis of Algorithms - Homework II
K. Subramani
LCSEE,
West Virginia University,
Morgantown, WV
cfw_ksmani@csee.wvu.edu
1 Instructions
1. The homework is due on October 28, in class.
2. Each question is worth 3 points.
3. Attempt as many problems as you