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

Course Code Course Title L P U

BCAC201 System Analysis and Design 3 0 3


Aim and objective of the Course: To provide complete knowledge on Software Engineering and to
provide adequate skills on Software Engineering, to expose students to software engineering principles and
practices, to provide adequate knowledge on requirement analysis and software design.

Course outcomes:
 Understand the principles and tools of systems analysis and design
 Understand the application of computing in different context
 Understand the professional and ethical responsibilities of practicing the computer professional
including understanding the need for quality

Module wise plan:


Module 1: Introduction to Software Engineering and SDLC

The Software Engineering Discipline: Evolution and Impact, Programs vs. Software
Products, Why Study Software Engineering? Emergence of Software Engineering,
Notable Changes in Software Development Practices, Computer Systems Engineering.
Why Use a Life Cycle Model? Classical Waterfall Model, Iterative Waterfall Model.
Prototyping Model, Evolutionary Model. Spiral Model, Comparison of Different Life Cycle
Models. Responsibilities of a Software Project Manager, Project Planning, Metrics for
Project Size Estimation.

Module 2: Project Estimation Techniques

Empirical Estimation Techniques, COCOMO- A Heuristic Estimation Technique.


Halstead’s Software Science-an Analytical Technique. Staffing Level Estimation.
Scheduling, Organization and Team Structures, Staffing. Risk Management, Software
Configuration Management, Miscellaneous Plans. Requirements Gathering and
Analysis, Software Requirements Specification.

Module 3: Windows Application

Building Windows Application: Building a Simple Application, Creating Toolbar, Status


Bar, Edit Box, Toolbar Buttons. Displaying Dialog Boxes: The MessageBox Dialog Box,
Open DialogControl, SaveDialogControl, ColorDialogControl, PrintDialog Control.
Creating Menus: Creating Menus, Context Menus. Debugging and Error Handling: Major
Error Types, Debugging, Error Handling. Building Objects: Understanding Objects,
Building Classes, Designing an object, Framework Classes. Building Class Libraries:
Understanding class Library, Viewing Classes with Object Browser. Creating Your Own
Custom Controls: Windows Forms Controls, Design Time or Run Time, Creating a Form
Library.
Module 4: Software Designing Tools and Techniques

Formal System Development Techniques. Axiomatic Specification, Algebraic


Specification, Executable Specification and 4GLs. What is a Good Software Design?
Cohesion and Coupling, Neat Arrangement. Software Design Approaches, Object-
Oriented vs. Function-Oriented Design. Overview of SA/SD Methodology, Structured
Analysis, Data Flow Diagrams. Extending DFD Technique to Real- Time Systems
Structured Design, Detailed Design, Design Review. Software Design Approaches,
Object-Oriented vs. Function-Oriented Design. Overview of Object-Oriented Concepts
Unified Modeling Language. UML Diagrams, Use Case Model. Class Diagrams,
Interaction Diagrams. Activity Diagrams, State Chart Diagram. Design Patterns, A
Generalized Object-Oriented Analysis and Design Process. A Generalized Object-
Oriented Analysis and Design Process, Examples, OOD Goodness Criteria.
Characteristics of a Good User Interface, Basic Concepts, Types of User Interfaces.
Component-Based GUI Development. A User Interface Design Methodology.
Characteristics of a Good User Interface, Basic Concepts, Types of User Interfaces.

Module 5: Software Testing

Coding, Code Review, Testing, Testing in the Large vs. Testing in the Small. Unit
Testing, Black-Box Testing, White-Box Testing, Debugging, Program Analysis Tools,
Integration Testing, System Testing, Some General Issues Associated with Testing.
Software Reliability, Statistical Testing. Software Quality, Software Quality Management
System. ISO 9000.

Module 6: CASE

SEI Capability Maturity Model. Personal Software Process, Six Sigma. CASE and Its
Scope, CASE Environment, CASE Support in Software Life Cycle. Other Characteristics
of CASE Tools, Towards Second Generation CASE Tool, Architecture of a CASE
Environment. Characteristics of Software Maintenance. Software Maintenance Process
Models.

Module 7: Software Reuse and Maintenance

Software Reverse Engineering. Estimation of Maintenance Cost. What can be Reused?


Why Almost No Reuse So Far? Basic Issues in any Reuse Program, A Reuse Approach.
Re-use at Organization Level. BVA & EP.

Module 8: Designing a small software using software engineering tools and


techniques
Text book(s):
 T1: Fundamentals of Software Engineering: Mall Rajib: PHI, 2nd Edition.
 T2: Software Engineering – A practitioner’s approach: R. S. Pressman: McGraw Hill, 6th
Edition.

Reference book(s):

 R1: Software Engineering: Ian Sommerville: Pearson Education.


 R2: Fundamentals of Software Engineering: Rajib Mall: PHI, 2008 Edition.

Lecture Wise Plan:

Reference
Lecture (Sec. No. of
Learning objective Topics to be covered
Nos. Text /Ref
Books)

The Software Engineering Discipline:


Evolution and Impact, Programs vs.
Software Products, Why Study Software
Engineering?
To have an Introduction to
Emergence of Software Engineering,
Software Engineering, T1: Pg. 1 -
1-3 Notable Changes in Software
SDLC, and waterfall 42.
Development Practices, Computer
model.
Systems Engineering.
Why Use a Life Cycle Model? Classical
Waterfall Model, Iterative Waterfall
Model.

To learn different Model of Prototyping Model, Evolutionary Model.


SDLC, learn about Spiral Model, Comparison of Different
Responsibilities of a Life Cycle Models. T1: Pg. 43 -
4-6
Software Project Manager, Responsibilities of a Software Project 47.
Project Planning, Metrics Manager, Project Planning, Metrics for
for Project Size Estimation Project Size Estimation.
To learn about Project
Estimation Techniques,
Empirical Estimation Project Estimation Techniques, Empirical
Techniques, COCOMO- A Estimation Techniques, COCOMO- A
Heuristic Estimation Heuristic Estimation Technique. T1: Pg. 66 -
7-9
Technique. Halstead’s Software Science-an 82.
Halstead’s Software Analytical Technique.
Science-an Analytical Staffing Level Estimation.
Technique.
Staffing Level Estimation.

To understand Scheduling,
Organization and Team
Structures, Staffing. Scheduling, Organization and Team
Risk Management, Structures, Staffing.
Software Configuration Risk Management, Software
T1: Pg. 83 -
10 - 12 Management, Configuration Management,
131.
Miscellaneous Plans. Miscellaneous Plans.
Requirements Gathering Requirements Gathering and Analysis,
and Analysis, Software Software Requirements Specification.
Requirements
Specification.

To know about Formal


System Development
Formal System Development
Techniques.
Techniques.
Axiomatic Specification,
Axiomatic Specification, Algebraic
Algebraic Specification,
Specification, Executable Specification T1: Pg. 132 -
13 - 15 Executable Specification
and 4GLs. 155.
and 4GLs.
What is a Good Software Design?
What is a Good Software
Cohesion and Coupling, Neat
Design? Cohesion and
Arrangement.
Coupling, Neat
Arrangement.
To learn about Software
Design Approaches,
Object-Oriented vs.
Function-Oriented Design.
Software Design Approaches, Object-
Overview of SA/SD
Oriented vs. Function-Oriented Design.
Methodology, Structured
Overview of SA/SD Methodology,
Analysis, Data Flow
Structured Analysis, Data Flow
Diagrams.
Diagrams. T1: Pg. 155 -
16 - 18 Extending DFD Technique
Extending DFD Technique to Real- Time 201.
to Real- Time Systems
Systems Structured Design, Detailed
Structured Design,
Design, Design Review.
Detailed Design, Design
Software Design Approaches, Object-
Review.
Oriented vs. Function-Oriented Design.
Software Design
Approaches, Object-
Oriented vs. Function-
Oriented Design.

To learn about Overview of


Object-Oriented Concepts
Unified Modeling Overview of Object-Oriented Concepts
Language. Unified Modeling Language. T1: Pg. 217 -
19 - 21
UML Diagrams, Use Case UML Diagrams, Use Case Model. 254.
Model. Class Diagrams, Interaction Diagrams.
Class Diagrams,
Interaction Diagrams.

To learn about Activity


Diagrams, State Chart
Diagram.
Design Patterns, A Activity Diagrams, State Chart Diagram.
Generalized Object- Design Patterns, A Generalized Object-
Oriented Analysis and Oriented Analysis and Design Process. T1: Pg. 255 -
22 - 24
Design Process. A Generalized Object-Oriented Analysis 285.
A Generalized Object- and Design Process, Examples, OOD
Oriented Analysis and Goodness Criteria.
Design Process,
Examples, OOD Goodness
Criteria.
To understand
Characteristics of a Good
User Interface, Basic
Characteristics of a Good User Interface,
Concepts, Types of User
Basic Concepts, Types of User
Interfaces.
Interfaces.
Component-Based GUI
Component-Based GUI Development. T1: Pg. 300 -
25 - 27 Development.
A User Interface Design Methodology. 320.
A User Interface Design
Characteristics of a Good User Interface,
Methodology.
Basic Concepts, Types of User
Characteristics of a Good
Interfaces.
User Interface, Basic
Concepts, Types of User
Interfaces.

To learn about Coding,


Code Review, Testing,
Testing in the Large vs.
Coding, Code Review, Testing, Testing
Testing in the Small.
in the Large vs. Testing in the Small.
Unit Testing, Black-Box
Unit Testing, Black-Box Testing, White-
Testing, White-Box T1: Pg. 323 -
28 - 30 Box Testing, Debugging,
Testing, Debugging, 360.
Program Analysis Tools, Integration
Program Analysis Tools,
Testing, System Testing, Some General
Integration Testing,
Issues Associated with Testing.
System Testing, Some
General Issues Associated
with Testing.

To learn about Software


Reliability, Statistical
Software Reliability, Statistical Testing.
Testing.
Software Quality, Software Quality T1: Pg. 370 -
31 - 33 Software Quality, Software
Management System. 384.
Quality Management
ISO 9000.
System.
ISO 9000.

To Understand SEI
Capability Maturity Model.
SEI Capability Maturity Model.
Personal Software
Personal Software Process, Six Sigma.
Process, Six Sigma. T1: Pg. 385 -
34 - 36 CASE and Its Scope, CASE
CASE and Its Scope, 400.
Environment, CASE Support in Software
CASE Environment, CASE
Life Cycle.
Support in Software Life
Cycle.
To learn about Other
Characteristics of CASE
Tools, Towards Second
Other Characteristics of CASE Tools,
Generation CASE Tool,
Towards Second Generation CASE Tool,
Architecture of a CASE T1: Pg. 400 -
37 - 39 Architecture of a CASE Environment.
Environment. 409.
Characteristics of Software Maintenance.
Characteristics of Software
Software Maintenance Process Models.
Maintenance.
Software Maintenance
Process Models.

To understand Software
Reverse Engineering.
Software Reverse Engineering.
Estimation of Maintenance
Estimation of Maintenance Cost. T1: Pg. 406 -
40 - 42 Cost.
What can be Reused? Why Almost No 413.
What can be Reused?
Reuse So Far?
Why Almost No Reuse So
Far?

To know Basic Issues in Basic Issues in any Reuse Program, A


any Reuse Program, A Reuse Approach. T1: Pg. 413 -
43 - 45 Reuse Approach.
Re-use at Organization Level. 426.
Re-use at Organization Level.
BVA & EP. BVA & EP.

Evaluation Scheme:

Weightage
Component Duration Remarks
(%)
Internal I 20 mins. 10 Closed Book

Mid Term Exam 2 hrs. 30 Closed Book

Internal II 20 mins. 10 Closed Book

Comprehensive Exam 3 hrs. 50 Closed Book

1. Attendance Policy: A Student must normally maintain a minimum of 75% attendance in the course without
which he/she shall be disqualified from appearing in the respective examination.
2. Make-up Policy: A student, who misses any component of evaluation for genuine reasons, must immediately
approach the instructor with a request for make-up examination stating reasons. The decision of the instructor
in all matters of make-up shall be final.
3. Chamber Consultation Hours: During the Chamber Consultation Hours, the students can consult the
respective faculty in his/her chamber without prior appointment.

You might also like