Lecture1 FALL 2024
Lecture1 FALL 2024
❑ Introduction
❑ Course objectives (and why)
❑ Overview of the course
❑ Quick overview of software engineering and why we
study it
Course Reference Books
Course Book
9/10/2024 3
Course Major Topics
9/10/2024 4
Course Learning Objectives (CLOs)
9/10/2024 5
Course Contents
◼ Introduction (FAQs about SE)
◼ Software Processes
◼ Requirements
◼ Design
◼ Verification and Validation
◼ Project Management
◼ Build complex software systems in the context of frequent change
◼ Understand how to produce a high-quality software system within
time while dealing with complexity and change
◼ Acquire technical knowledge (main emphasis)
◼ Acquire managerial knowledge
◼ Understand the Software Lifecycle
9/10/2024 6
Course Policy
◼Chocolate Policy
◼>90%
◼Questioning/Answering
9/10/2024 7
Course Policy
• Quizzes 15%
• Assignments 10%
• Mid Term 25%
• Final 50%
9/10/2024 8
Course Policy
• Attendance Policy
– 80%
– <80%, You can’t sit in the exam!
• Grades Policy
– Don’t complain,
(we get nothing by deducting your grades)
9/10/2024 9
Software Engineering Specialities
SE Supply and Demand
Software Engineer’s Compensation
Software Engineer Salaries in US
Software Engineer Salaries by Role
Rumors and myths
• $$$$$$$$$$$$$$$$
Software is critical to society
• Economically important
• Essential for running most enterprises
• Key part of most complex systems
• Essential for designing many engineering products
• In many if not in most cases, the software is embedded in
the system you are using — you don’t see the software
Software is big
Code sizes due to Jon Jacky (mostly); KLOC = 1000 lines of
code; MLOC = 1,000,000 lines of code
NT 4.0 10MLOC
NT 5.0 60+LMLOC
(NTFS alone) (250K source lines or 100KLOC )
Software is big, so what?
eer ing
Customer gi n
wa r e En
Soft Programmer
System-to-be
Environment
Software-to-be
User
1
7
4
0
2
5 3
8 6
9
Communication link
Bank’s
remote
ATM machine
datacenter
Bank
customer
27
How ATM Machine Might Work
Domain Model
Transaction
How may I record
help you? Cash
Bookkeeper
Speakerphone Safe
Safe keeper
Phone
Window clerk
Datacenter
liaison
Dispenser
Bank’s
remote
28
datacenter
Customer
Software Engineering Blueprints
➢ Specifying software problems and solutions is like
cartoon script writing
➢ Unfortunately, most of us are not artists, so we will use
something less exciting:
UML symbols
➢ However …
29
Law of Software Engineering
30
Software lifecycle
34
Waterfall Method
Requirements
Design
Implementation
Testing
Waterfall
method Deployment &
Maintenance
• System to be developed
• Actors
– Agents external to the system that interact with it
• Concepts/ Objects
– Agents working inside the system to make it function
• Use Cases
– Scenarios for using the system
37
ATM: Gallery of Players
1
4 2
7 5 3
8 6
0 9
1
4 2
7 5 63 1
8 4 2
0 9 7 85 6 3
0 9
D E XYZ
Please take
your cash withdrew
$60
1
4 2
7 85 6 3
0 9
Collecting
cash …
Acknowledged
40
Feasibility & Quality of Designs
• Judging feasibility or quality of a design requires
great deal of domain knowledge
(and commonsense knowledge!)
41
• Any Question