CSE320 Lecture0
CSE320 Lecture0
CSE320 Lecture0
Software Engineering
Lecture #0
• Text Book
FUNDAMENTALS OF SOFTWARE ENGINEERING by RAJIB
MALL, PHI (PRETICE HALL INDIA),
Course Assessment Model
• Marks break up*
• Attendance 5
• CA(Assignment(Case Based)+Test+Test) 25
• MTT (MCQ-Based) 20
• ETE (MCQ-Based) 50
• Total 100
Detail of Academic Tasks
• *** AT1: Assignment- Case based
• AT2: Class Test
• AT3: Class Test
• PO2
Problem analysis::Identify, formulate, research literature, and analyze complex engineering problems
reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering
sciences.
• PO3
Design/development of solutions::Design solutions for complex engineering problems and design system
components or processes that meet the specified needs with appropriate consideration for the public health
and safety, and the cultural, societal, and environmental considerations.
• PO4
Conduct investigations of complex problems::Use research-based knowledge and research methods
including design of experiments, analysis and interpretation of data, and synthesis of the information to
provide valid conclusions.
Program Outcomes
• PO5
Modern tool usage::Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities with an
understanding of the limitations.
• PO6
The engineer and society::Apply reasoning informed by the contextual knowledge to assess societal,
health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional
engineering practice.
• PO7
Environment and sustainability::Understand the impact of the professional engineering solutions in
societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable
development.
• PO8
Ethics::Apply ethical principles and commit to professional ethics and responsibilities and norms of
the engineering practice.
Program Outcomes
• PO9
Individual and team work::Function effectively as an individual, and as a member or leader in diverse teams,
and in multidisciplinary settings.
• PO10
Communication::Communicate effectively on complex engineering activities with the engineering community
and with society at large, such as, being able to comprehend and write effective reports and design
documentation, make effective presentations, and give and receive clear instructions.
• PO11
Project management and finance::Demonstrate knowledge and understanding of the engineering,
management principles and apply the same to one’s own work, as a member or a leader in a team, manage
projects efficiently in respective disciplines and multidisciplinary environments after consideration of
economic and financial factors.
• PO12
Life-long learning::Recognize the need for, and have the preparation and ability to engage in independent
and life-long learning in the broadest context of technological change.
• PO13
Competitive Skills::Ability to compete in national and international technical events and building the
competitive spirit alongwith having a good digital footprint.
The course contents
• Introduction to software engineering : Before MTE
Evolution and impact of software engineering, Software life cycle
models, Feasibility study, Functional and non-functional requirements,
Requirement gathering, Requirement analysis and specification
• Issues in software design : cohesion, coupling, DFDs
• Object modelling :
Object modelling using UML, Object oriented software
development, User interface design, Coding standards and code
review techniques
The course contents
• Testing : After MTE
Fundamentals of testing, White box and black box testing, Test
coverage analysis and test case design techniques, Mutation testing,
Static and dynamic analysis, Software reliability metrics, Reliability
growth modelling.
• Software project management :
Project management, Project planning and control, Cost
estimation, Project scheduling using PERT and GANTT
charts, Software Configuration Management
• Quality management :
Quality management, ISO and SEI CMMI, PSP and Six sigma,
Software Maintenance, reuse, CBSD, CASE, Advance topics
of Software Engineering.
Online Education Resource (OER)
Details
Unit1:
https://www.cs.uct.ac.za/mit_notes/software/pdfs/SE_top.pdf
Unit2:
https://www.cs.uct.ac.za/mit_notes/software/pdfs/SE_top.pdf
Unit3:
https://www.cs.uct.ac.za/mit_notes/software/pdfs/SE_top.pdf
Unit4:
https://www.cs.uct.ac.za/mit_notes/software/pdfs/SE_top.pdf
Unit5:
https://archive.mu.ac.in/myweb_test/MCA%20study%20material/M.C.A%20(Sem%20-%20IV)%20Paper%20-
%20Software%20Project%20Management.pdf
Unit6:
https://www.tutorialspoint.com/software_quality_management/software_quality_management_tutorial.pdf
Pedagogical Initiatives as Star Course
Lecture Pedagogical Initiative Expected Outcomes References Quantification
Number
SOFTWARE
CSE320 ENGINEERING Software Engineering Essentials MOOC https://www.edx.org/course/softwar One AT
e-engineering-essentials
SOFTWARE
CSE320 ENGINEERING Software Engineering MOOC https://nptel.ac.in/courses/10610518 All ATs + MTE
2
SOFTWARE
One AT
ENGINEERING
Software Development Software Development Processes and
CSE320 Processes and Methodologies MOOC Methodologies | Coursera
SOFTWARE
Software Engineering: One AT
ENGINEERING
Software Engineering: Implementation and Testing |
CSE320 Implementation and Testing MOOC Coursera
The hitch…
The three BURNING questions in mind…
• Complex complicated
Programmer
Customer
Customer
System-to-be
Environment
Software-to-be
User
Communication link
Bank’s
remote
ATM machine
datacenter
Bank
customer
How ATM Machine Might Work
Domain model Domain Model
created with help of
domain expert
Transaction
How may I record
help you? Cash
Bookkeeper
Speakerphone Safe
Safe keeper
Phone
Window clerk
Datacenter
liaison
Dispenser
Bank’s
remote
datacenter
Customer
Cartoon Strip: How ATM Machine Works?
Software Engineering Blueprints
Unidirectional, no way back finish this step before moving to the next
Software myths
1. “If we get behind schedule, we can just add more people”
Fact: Adding people to a late project makes it even later.
Someone has to teach the new people.
2. “A general statement of objectives is enough to start programming”.
Fact: Incomplete requirements are a major cause for project failures.
3. “Changes in requirements are easy to deal with because software is
flexible”.
Fact: Changes are hard and expensive.
Especially during coding and after software deployment.
Software myths
www.lpu.in