Teacher: Prof.
Kavous Roumina
Email: no_reply@[Link]
CIS 340
___
08/21/25 - Overview
SDLC Models: Waterfall Model, Agile Model (Circular)
- Requirement gathering and analysis
- Design
- Development/Programming/Coding
- Testing
- Deployment
- Implementation
Java
- Object-Oriented Programming (OOP) Language
___
08/26/25 - SDLC
- SDLC : Systems development life cycle is the process of determining how an IS system
can support business needs, designing the system, building it, and delivering it to users.
- Systems analyst:
+ Analyzing the business situation
+ Identifying opportunities for improvement
+ Designing an IS to implement the improvements
- The primary goal L create value for the organization
- Large systems development projects - Susceptible to failure
Systems Analyst :
- Work with team closely to develop the right system efficiently
- Must understand how to apply technology to solve business problems
- Serve as change agents who identify the organizational improvements needed, design
systems to implement those changes, and train and motivate others to use the system.
- Skills:
+ Technical Skills
+ Business Skills
+ Analytical Skills
+ Interpersonal Skills
+ Manage people
Analyst Roles :
- Systems Analyst - IS issue
- Business Analyst
- Requirement analyst
- Infrastructure analyst
- Project manager
SDLC Life Cycle :
● Idea - [ Planning - Analysis - Design - Implementation ] - System Success
Planning Phase:
- Project Initiation
a. Prepare system request document
b. Perform preliminary feasibility analysis
- Set Up the project:
a. Project plan, including work plan and staffing plan
Analysis Phase:
- Determine analysis strategy
a. Study existing system and its problems
- Collect and analyze requirements :
a. Develop new system
b. Describes new system with analysis models
Design Phase:
- Determine design strategy
a. Build/buy/outsource
- Design system components
- Present to steering committee
a. Go/No-Go decision
Implementation Phase:
- System Construction
a. Pregramming and testing
- System Installation
a. Training
b. Conversion to new system
- On-going system support
Project Identification and Initiation
- Meet a business need to
a. Enable a business initiative or strategy
b. Support a merger/acquisition
c. Fix a “point of pain”
d. Utilize a new technology
- Outcome fo Business Process Management ( BPM)
a. A methodology used by companies to continuously improve end-to-end business
processes
b. A 4 steps continuous cycle
Project Sponsor:
- Driving force behind project
- Specifies overall business requirements
- Determines business value
- Formally requests a project via the system request document
Business Value
- Tangible value
- Intangible value
System Request:
- Describe business reasons for the project
- Defines system’s expected value
a. Forces the sponsor to formalize his/her ideas
b. Provides a structure for collecting initial project information
c. Standardizes information to be used by steering ( approval) committee
- List project’s key elements
Elements of the Systems Request:
- Project Sponsor : Person Initiating the project
- Business Need: Business related reasons for initiating the system
- Business Requirements: New or enhanced business capabilities that the system will
provide
- Business Value: Benefits that the system will create for the organization
- Special Issues or Constraints : Issues that pertain to the steering committee’s decision
DronTEq CLient Services System
Economic Feasibility: Should We Build It?
Organizational Feasibility: If we build it, will they come ?
● Lecture on Tuesday ; Thursday - Hands On Exercise
___
08/28/25
Project Selection:
- Good project portfolio will have the most appropriate mix project for the organization’s
needs
Ways to Classify Projects:
- Size, cost, purpose, length, risk, scope, economics value
Methodology: A formalized approach to implementing the SDLC
Waterfall Development Methodology
- Move sequentially from phase to phase
- Key deliverables for each phase are typically large
- Emphasis on deliverables from 1 phase flowing into the next phase
● (Dashed Line = Issues, problems, bugs that need to be addressed)
- 2 Categories
Rapid Application Development (RAD)
- Building quick prototype for the end users to play with ( Rapid)
1. Iterative - Breaks overall project into a series of versions that are developed sequentially
+ Strengths : Users get a system to use quickly
+ Weakness: Users faced with using an incomplete system for a time
___
09/11/25 - SDLC : Analysis Phase
- A key aspect of determining the requirements for the new system is understanding the
user requirements
- Data Flow Diagrams are a step in the direction of understanding the user requirements
better
Data FLow Diagrams:
- Describe the to-be system’s interactions with its environment, processes, flows of data,
and data stores
___
09/18/25
Introduction:
- Data model : a formal way of representing the data that are used and created by a
business system
Entity Relationship Diagram:
- ERD is a popular way to depict the data model
- ERD - similar kinds of information are listed together and placed inside boxes called
entities
ERD Elements:
- Entity
- Attribute
- Relationships
- Cardinality
- Modality
Entity:
- Person, place, etc.
Attributes:
- Information captured about an entity
Cardinality:
- Refers to the number of times instances in 1 entity can be related to instances in another
entity
Modality:
- Refers to whether ot nor an instance of a child entity can exist without a related instance
in the parent entity
- Not Null ( or required) - an instance in the related entity must exis for an instance in
another entity to be valid
Data Dictionary and Metadata L
- Every CASE tool has a data dictionary
- The info. You see in the data dictionary is called metadata
___
09/30/25
Programming Terminology
- Computer Program : A set a written instructions that tells the computer what to do
- Machine language:
+ The most basic circuitry-level language
+ A low level programming language
- High-level programming language : Allows you to use a vocab of reasonable terms
- Syntax: A specific set of rules for the language
- Program Statements:
- Compiler or interpreter: Translate statements into machine code (bits, bytes)
- Syntax error : Misuse of language rules
- Logic errors (semantic errors) : The program may run but provides inaccurate output
- Debugging : Freeing program of all error
Classes, Objects, and Encapsulation:
- Class
+ Describe objects with common properties
+ A definition
+ An instance
- Objects
+ Specific, concrete instances of a class
- Attributes:
+ CHreacteristics , differentiate objects of the same class
+ The value of attributes is an object state
- Method
+ A self-contained block of program code that carries out an action
+ Similar to a procedure
- Encapsulation:
+ Conceals internal values and methods from outside sources
+ Provide security
+ Keeps data and methods safe from inadvertent changes
- Polymorphism:
+ Means "many forms”
+ Allows the same word to be interpreted correctly in different situations based on
context
- Inheritance:
+ An important feature of object-oriented programs
+ Classes share attributes and methods of existing classes
Java Programming Language:
● Java:
- An OOP language (developed by Sun MIcrosystems)
- General-purpose
- Can be run on a wide variety of computers
- Runs on a hypothetical computer known as a Java Virtual Machine (JVM)
- Advantages:
+ Security features
+ Architecturally neutral
● Development Environment:
- A set of tools used to write programs
● Bytecode:
- A statement saved in a file
- A binary program into which the Java compiler converts source code
Java Application Types:
- Console Applications
Console Output:
Class Definition Template:
___
10/28/25
Loop Structures: allows repeated execution
While Loop:
- Allows you to control number of entry into the loop continue to be True
- Syntax: while , followed by a Boolean expression within parentheses
- Followed by the body of the loop (can be a single statement
Definite Loop: Counted loop
Infinite Loop
The “for” loop: Starts with keyword for, followed by a pair of parentheses containing 3
components separated by “”.
Nested Loops:
- When multiple loops are placed inside each other
- With nested loops, we use the terms “inner loop” and “outer loop”