0% found this document useful (0 votes)
2 views

Course Overview and Introduction

The document outlines the course structure for 'Fundamentals of Software Engineering' (Cmpe 352), including communication channels, assessment components, and project management principles. It emphasizes the importance of software engineering in avoiding costly failures and highlights the roles of team collaboration, planning, and tracking in successful project execution. Key resources and organizations related to software engineering and project management are also mentioned.

Uploaded by

abdullahruzgar26
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Course Overview and Introduction

The document outlines the course structure for 'Fundamentals of Software Engineering' (Cmpe 352), including communication channels, assessment components, and project management principles. It emphasizes the importance of software engineering in avoiding costly failures and highlights the roles of team collaboration, planning, and tracking in successful project execution. Key resources and organizations related to software engineering and project management are also mentioned.

Uploaded by

abdullahruzgar26
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Fundamentals of Software

Engineering
Introduction
Fundamentals

1
Course Management

∗ Central communication:

∗ https://moodle.bogazici.edu.tr/course/view.php?id=73587

∗ Group management:
GitHub repository + Communication tools you will select.
(You are responsible for keeping track of this site)

Cmpe 352 Fundamentals of Software Engineering 2


Instructor and Assistants
Instructor:
Suzan Üsküdarlı ([email protected])
Location: BM A2
Office Hours: Wednesday 16:00 (by appointment)

Teaching Assistants:
∗ Furkan Akkurt
∗ Mehmet Özer
∗ Mustafa Atak (student assistant)
Office Hours: By appointment

Cmpe 352 Fundamentals of Software Engineering


Assessment
Component Percentage

Midterm Exam 20
Final Exam 25

Hands-on Practice 55

The effective and continuous use of tools is expected. Continuous


implies the entire semester.

Midterm Examed is scheduled for: 20.March.2025

4
Your Project Repositories

∗ GitHub repositories
∗ Essential resource for your group
∗ It will serve you in this and Cmpe451 and beyond
∗ Learn how to use your repo very well
∗ You will work in groups
∗ We assign the team members
∗ GitHub will be the key software development platform
∗ https://github.com/bounswe/bounswe2025group1 …
∗ Moodle is used for general class coordination,
communication, and dissemination of general material

5
About Project Repositories
Purpose: Offer tools to support the development of software projects
Features:
∗ Version management – git
∗ Collective documentation – wiki
∗ Issues
∗ Define tasks
∗ Report bugs
∗ Track
∗ Planning - Milestones, tasks, …
∗ Pipelines – automated building and deployment
∗ Other features to support software development

6
CS vs SWE
∗ CS – Computer Science
∗ Fundamentals of how computers and programs work

∗ SWE – Software Engineering


∗ design and build software in teams

Cmpe 352 Fundamentals of Software Engineering 7


What is Software?
∗ Software
∗ Computer programs
∗ Associated documentation
∗ requirements
∗ design models
∗ user manuals
∗ Test results

Cmpe 352 Fundamentals of Software Engineering 8


Coding/Programming
9
Software Engineering
All aspects of developing a software product
∗ Processes

∗ Methods and practices

∗ Tools and technologies

∗ Team work

∗ Communication

Cmpe 352 Fundamentals of Software Engineering 10


Why Software Engineering?
Avoid errors!
Some major Failures:
∗ 1983, Soviet nuclear early warning system malfunction

∗ 2012, Knight Capital Group Lost $440 million on trades


in approx 30 minutes due to bug in trading algorithm

∗ 2003, Saint Mary Mercy hospital inaccurately reported


patients dead: patient management system, notified
social Security, patient insurance companies, and the
patients themselves of their death
11
Software Failures
Cost of software failure ~ 50 to 80 billion dollar/year
Standish Chaos Report Findings By Year

http://www.galorath.com/wp/software-project-failure-costs-billions-better-estimation-planning-can-help.ph
Cmpep352 Fundamentals of Software Engineering 12
Major factors in failure
Factor %

Poor communication between relevant parties 57


(lack of user/stakeholder participation)

Lack planning/scheduling resources and activities 39

No quality control 35

Milestones not being met 34

Inadequate coordination of resources 29

Costs out of control 26

Poor progress management 20

Overall poor management 17

Supplier issues 12

Outputs not measurable 11

Cmpe 352 Fundamentals of Software Engineering 13


Software Hall of Shame
∗ Horizon Post Office Scandal (ransactions, accounting and stocktaking)
∗ Always, data breach (Facebook, Yemek sepeti, …. )
∗ Flight systems (Heathrow in 2020, British Airways in 2019)

∗ Facebook, Instagram, Whatsapp (2019) -- foto upload failure


∗ O2 network failure (2019)- train & bus schedules (Ericsson glitch)
∗ TBS bank (2018) - users were locked out of their accounts
∗ NHS (2018) - doctors could not access patient info
∗ Meltdown/Spectre (2018) - hardware but communicated with OS. Nasty problems
that effect almost all computers
∗ Cloudbleed (2017) - sensitive customer data leaked
∗ Prisoners left out of prison early (2015)
∗ Nissan airbag (2016) -- Would not inflate14t due to not detecting passenger.
Cmpe 352 Fundamentals of Software Engineering

∗ Amazon 1p price glitch (2013) - happy customers but small seller seriously suffered.
Project

A project is a temporary endeavor


undertaken to create a
unique product or service

PMI: Project Management Institute

Cmpe 352 Fundamentals of Software Engineering


Properties of Projects

∗ Unique purpose
∗ Temporary
∗ Requires resources
∗ Has a sponsor and/or customer
∗ Has stakeholders

Cmpe352 16 Fundamentals of Software Engineering


Project Management
The application of knowledge, skills, tools, and
techniques to project activities in order to meet
project requirements.

PMI, Project Management Body of Knowledge

Cmpe 352 Fundamentals of Software Engineering


Target of Project Management
The project manager aims
to meet 3 goals
TIME
∗ Time
∗ Cost
QUALITY
∗ Scope
COST SCOPE

Thus, satisfy customer.


Project Constraints

Cmpe352
Cmpe 352 Fundamentals of Software Engineering 18
Project Dimensions
∗ People

∗ Process

∗ Product

∗ Technology

Cmpe 352 Fundamentals of Software Engineering


People Issues

∗ Matching people to tasks


∗ Balance
∗ individual and team
∗ Clear communication
∗ Expectations
∗ Authority with responsibility
∗ Career development
see:
The famous tire swing

Fundamentals of Software Engineering


Cmpe352 20
Process
∗ Development fundamentals
∗ Quality assurance
∗ Risk management
∗ Lifecycle planning
∗ Customer orientation
∗ Process maturity improvement
∗ Rework avoidance

Cmpe 352 Fundamentals of Software Engineering


Product
∗ Size management
∗ Product
∗ Characteristics
∗ Requirements
∗ Feature creep management
∗ What is it?
∗ Why does it happen?
∗ How and when to stop it?

Cmpe 352 Fundamentals of Software Engineering


Technology
∗ Language

∗ Tool selection

∗ Development

∗ Deployment

∗ …

Cmpe 352 Fundamentals of Software Engineering


Planning

Plans are nothing; planning is everything.

Dwight D. Eisenhower

Cmpe 352 Fundamentals of Software Engineering 24


Planning Activities
∗ Determine
∗ requirements
∗ resources
∗ product features

∗ Select lifecycle model

Cmpe 352 Fundamentals of Software Engineering


Tracking
∗ Essential for success
∗ Track
∗ Cost
∗ Effort
∗ Schedule
∗ Tracking is comparing
∗ Planned vs. Actual
∗ How to handle when things go off plan?

Cmpe 352 Fundamentals of Software Engineering


Professional Organizations
∗ Project Reference
http://www.projectreference.com/ (table of references)

∗ Software Engineering Institute (SEI)


http://www.sei.cmu.edu/

∗ Project Management Institute (PMI)


http://www.pmi.org

∗ The International Association of Project and Program Management


http://www.iappm.org

Cmpe 352 Fundamentals of Software Engineering


What we learned
∗ Course expectations
∗ Group assignments
∗ Overview of software engineering
∗ difference form computer science/engineering
∗ major concerns
∗ Next week :
∗ You must have customized and used your project repo.
∗ We will starting with the topic of Requirements

28

You might also like