Cesc64B - Software Design: B.SC. SOFTWARE COMPUTER SCIENCE - Syllabus From 2020-2021 Batch

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

THIRUVALLUVAR UNIVERSITY, VELLORE – 632 115

B.SC. SOFTWARE COMPUTER SCIENCE -- Syllabus from 2020-2021 batch

INTERNAL ELECTIVE
Paper - 3
CESC64B -- SOFTWARE DESIGN

Course Objectives
1. To comprehend and analyze the basic concepts of software design.
2. To describe the modeling and design of software.
3. To demonstrate the software design using use-cases

UNIT - I

INTRODUCTION: Software Modeling - Object oriented Methods and UML -


Software Architectural design - Method and Notation - Evolution of Software
Modeling and Design Methods - Overview of UML Notations - Software Life cycles
and UML Processes - Software Life cycle and Models - Design Verification and
Validation - Software Design and Architectural Concepts Structured Design - Design
Principles - Problem Partitioning and Hierarchy - Abstraction, Modularity - Top-down
and Bottom-up Strategies - Transformation of a DFD to a Structure Chart - Transform
Analysis - Transaction Analysis - Coupling - Cohesion - Multiple types of Cohesion
in a module - Data Design - Normalization - Denormalization - Procedural Design -
Design Patterns - Requirements analysis and Design Modeling - Designing Software
Architectures.

UNIT - II

SOFTWARE MODELING: Use case Modeling - Use case - Conceptual model -


Behaviour - Class Analysis Patterns - Overview - Diagrams - Aggregation - UML -
Diagrams - Collaboration - Sequence - Class - Design patterns and Frameworks -
Static Modeling - Association between classes - Composition and Classification
Hierarchies - Constraints - Static Modeling and the UML - Categorization of classes
using UML stereotypes - Modeling External Classes - Static Modeling of Entity
Classes - Object and class Structuring.

UNIT - III

DETAILED DESIGN: Dynamic Interaction Modeling - Object Interaction Modeling


- Message Sequence Numbering on Interaction Diagram - Dynamic Interaction
Modeling - Stateless Dynamic Interaction Modeling - Finite State Machines and State
Transitions - Events, Guard Conditions and Actions - Hierarchical State charts -
Guidelines for designing State Charts - Steps in State Dependent Dynamic Interaction
Modeling - Modeling Interaction Scenarios using Interaction and State Chart
Diagrams. Real-World Problems Design based on State Charts, Sequence Diagram,
THIRUVALLUVAR UNIVERSITY, VELLORE – 632 115
B.SC. SOFTWARE COMPUTER SCIENCE -- Syllabus from 2020-2021 batch

UNIT - IV

ARCHITECTURAL DESIGN: Software Architecture and Component Based


Software Architecture - Multiple views of Software Architecture and Patterns -
Documenting Software Architecture - Interface Design - Designing Software
Architecture - Software Sub system Architectural Design - Designing Object oriented
Software Architecture - Designing Component Based Software Architecture

UNIT - V

CASE STUDIES: Designing Concurrent and Real time Software Architectures -


Designing Software Product Line Architectures - Software Quality Attributes - Case
Studies - Client - Server Software Architecture Case Study - Component Based
Software Architecture - Case Study - Real Time Software Architecture. Domain Name
System - Email - World Wide Web (HTTP) - Simple Network
Management Protocol - File Transfer Protocol - Security - Multimedia applications.

Text Books
1. Hassan Gomma, “Software Modeling and design with UML”, Cambridge
University Press, 1 edition, 2011.
2. Michael Bigrigg, “Software Design Specification with UML”, Addison- Wesley,
2007.
References
1. David Budgen, “Software Design”, Addison-Wesley, 2007.
2. Christopher Fox, “Introduction to Software Engineering Design: Processes,
Principles and Patterns with UML2”, Pearson, 2007.
Course Outcomes
 The student will be able to understand the overview of software modeling
 The student will be able to model new software
 The student will be able to design new software
 The student will be able to practice various architectural styles for software design
 The student will be able to demonstrate the software design using several use-cases

You might also like