Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SEM Handout

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani

Pilani Campus
AUGS/ AGSR Division

FIRST SEMESTER 2021-2022


COURSE HANDOUT
Date: 20.08.2021
In addition to part I (General Handout for all courses appended to the time table) this portion gives further
specific details regarding the course.

Course No : SS G562

Course Title : SOFTWARE ENGINEERING AND MANAGEMENT

Instructor-In-Charge : Tanmaya Mahapatra (Email: tanmaya.mahapatra@pilani.bits-pilani.ac.in)

Course Website : nalanda.bits-pilani.ac.in (The On-Campus Learning Management System)

1. Course Description
Software engineering is a discipline that allows us to apply engineering and computer science concepts in the
development and maintenance of reliable, usable, and dependable software. There are several areas to focus
on within software engineering, such as requirement specification, design, development, testing, maintenance
and project management. Software development outside of the classroom is a very complex process, mostly
because real-world software is much larger and more complex. The purpose of this course is to present
software engineering as a body of knowledge. The course is designed to present software engineering
concepts and principles in parallel with the software development life cycle.

2. Scope and Objectives of Course

This course provides an ability to identify, formulate, and solve complex engineering problems by applying
principles of engineering, science, and mathematics. This also develops an ability to function effectively on a
team whose members together provide leadership, create a collaborative and inclusive environment, establish
goals, plan tasks, and meet objectives. In addition, this course also facilitates with an ability to develop and
conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw
conclusions

3. Text Books

Sommerville I, Software Engineering, Pearson Education, 10th Edition, 2017.

4. Reference Books

Pressman, R.S., Software Engineering: A Practitioner's Approach, 7th (Alternate) Edition, McGraw Hill
International Edition, 2010

Please Do Not Print Unless Necessary


BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

Jalote, P., An Integrated Approach to Software Engineering, Narosa, 2nd Ed., 1998

Schach, S., Software Engineering, TMH, 7th Ed., 2007.

Behforooz, A. & F.J. Hudson, Software Engineering Fundamentals, OUP, 2006

Ahmed A, “Foundations of Software Engineering", CRC Press, 2016.

Additional Readings as assigned and/or made available online by the I/C.

5. Course Modules

Module Module Learning Objective


#
1 Background and To understand the basic concepts and motivation about this course.
Introduction (2
Lecture)
2 Software To understand numerous lifecycle models utilized for maintaining and
Development developing the software. To understand how to select an appropriate
Lifecycle Models lifecycle model for a particular project.
(3 lectures)
3 Requirements To understand the customer requirements and to systematically
Analysis and organize the requirements into a document using Software Requirement
Specifications (6 Specification and Formal Notations.
lectures)
4 Software Project To understand how to enable a group of developers to work effectively
Management (10 towards the successful completion of a project.
lectures)
5 Software Design To understand the activities carried out during the design phase and
(5 lectures) how to transform the generated specifications into the design document.
To understand how to decompose a problem into different modules and
how to identify the relationships and the associated interfaces among
several modules.
6 Software To understand how to quantitatively measure the reliability of a
Reliability (2 software product and how to predict when a given level of reliability
Lectures) will be achieved.
7 Software Coding To understand that how to transform the design of a system into some
and Testing (14 code in high-level language and then to unit test this code. To
lectures) understand how to detect the bugs in a program using different testing
techniques.

Please Do Not Print Unless Necessary


BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

6. Lecture Schedule

Lecture Modules Topics


No.
1-2 Background, Evolution of an Art into an Engineering Discipline, What is
Motivation and Software Engineering, Exploratory Style of Software
Introduction Development, Principles of Software Engineering to Overcome
Human Cognitive Limitations, Rise of Software Engineering
3-5 Software Lifecycle Introduction, Waterfall Model and its Variants: Classical
Models Waterfall Model, Iterative Waterfall Model, V-Model,
Prototyping Model, Incremental Development Model and
Evolutionary Model. Rapid Application Development (RAD)
Model, Spiral Model, Agile Development Models, Selection of
Appropriate Lifecycle model for a project
6-11 Requirement Requirement Gathering and Analysis, Software Requirement
Analysis and Specification (SRS), Techniques for Handling Complex Logic
Specifications through Semi-Formal techniques: Decision Trees and Tables,
Formal System Specifications using Algebraic Specifications
and Axiomatic Specifications.
12-21 Software Project Complexities of Software Project Management, Techniques for
Management Project Size Estimation: Lines of Code (LOC) and Function
Techniques Point (FP). Project Estimation Techniques: Empirical Estimation
Techniques, Heuristic Estimation Techniques: COCOMO,
Complete COCOMO and COCOMO 2, Analytical Technique:
Halstead’s Software Science. Staffing level Estimation, Project
Scheduling: Work Breakdown Structure (WBS), Activity
Networks, Critical Path Method, PERT Chart, Earned Value
Analysis, Project Crashing

22-26 Software Design Outcome of Design Process, Classification of Design


Methodologies, Characteristics of a Good Design, Modularity of
Design, Cohesion and Coupling, Classification of Cohesion and
Coupling. Function-Oriented Design and Object-Oriented
Design
27 - 28 Software Software Reliability: Hardware versus Software reliability,
Reliability Reliability Metrics, Reliability Growth Models: Jelinski and
Moranda Model, Littlewood and Verall’s Model, Basic
Execution Model and Logarithmic Poisson Execution Model
29-43 Software Coding Software Coding: Errors, faults and Failures, Techniques for
and Testing Reducing the Bugs in program. Software Testing: Verification
and validation, Pesticide Effect in testing, Test Cases, Minimal
Test Suite, Unit Testing, Black-box Testing Strategies:
Equivalence Class Partitioning Testing and its Derivatives,

Please Do Not Print Unless Necessary


BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

Special Value Testing Strategies: Boundary Value Analysis,


Robustness Testing, Combinatorial Testing Strategies: Decision
Table-Based testing and Pair-Wise Testing. White-Box Testing
Strategies: Strong testing, Weaker testing, Complimentary
testing, Coverage-Based Testing Strategies: Statement Coverage,
Branch Coverage, Path Coverage, Condition Coverage, MC/DC
Coverage, Data flow-based Testing Strategies

The reference to these topics will be the prescribed text book and the class notes of students.

7. Evaluation Scheme:

Component Mode Duration Date Weightage


Mid-Semester Exam Closed Book 90 Minutes As per AUGSD Guidelines 35%
Team Project/Assignment Take Home and Open - TBA 25%
Book
Comprehensive Exam Partially Open Book 120 Minutes As per AUGSD Guidelines 40%

Team Project

A complete project is to be done by a team of students in two Stages using the practices of Software
Engineering covered in the regular lectures. In Stage I, the project will aim to provide you hands-on
experience with different aspects of Software Engineering including designing of informal specifications,
semi-formal specifications and formal specifications using SRS document, decision table and algebraic
specifications. Stage II include designing of DFD modelling, Activity Network, Work Breakdown Structure
and PERT charts. In addition, you will also have to design the test cases corresponding to the working
prototype of your project. Overall, you will be working on these aspects of an assigned project to get a feel of
the real-life software development process.

Evaluation will be done continuously, on the basis of the quality of work products delivered according to the
project plan and schedule, as well as process compliance. Grades assigned to individual students are
determined using periodic presentations, design and other documents, teamwork, quality of the prototype and
the product, and technological innovation.

8. Consultation Hour

Students can discuss their doubts and other queries related to the course in the contact hours on Google Meet
once/twice in a week.

9. Notices: Necessary notices, course announcements, uploading of marks of each component will be done
on BITS-Nalanda or on Google Classroom. You are requested to check the course website periodically.

10. Make-up Policy

• Mid-Sem Exam has one make-up. This means, that a student can abstain herself/himself (on valid
reasons) in this Test. This make up would be conducted immediately after regular mid-sem exam and

Please Do Not Print Unless Necessary


BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

would include complete syllabus. Of course, the student would apply for the make up in advance with
documentary proof.
• Only on producing documentary proof of possible absence, which proves that student would be
physically unable to appear for the test/exam, the decision of granting the make-up will be taken.

• Prior Permission of AUGSD is required to get make-up for the comprehensive exam.
Instructor-in-Charge
SS G562

Please Do Not Print Unless Necessary

You might also like