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

Psd

The document outlines a course on Principles of Software Development and Database Management Systems, consisting of 75 teaching hours and covering fundamental software principles, design methodologies, and database concepts. It includes course objectives, outcomes, and detailed unit descriptions focusing on software engineering, data modeling, software system modeling, design concepts, and software testing. Additionally, it provides lab exercises, recommended readings, and CO-PO mapping for assessing student learning outcomes.

Uploaded by

new.begin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Psd

The document outlines a course on Principles of Software Development and Database Management Systems, consisting of 75 teaching hours and covering fundamental software principles, design methodologies, and database concepts. It includes course objectives, outcomes, and detailed unit descriptions focusing on software engineering, data modeling, software system modeling, design concepts, and software testing. Additionally, it provides lab exercises, recommended readings, and CO-PO mapping for assessing student learning outcomes.

Uploaded by

new.begin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

BCA203-1 - PRINCIPLES OF SOFTWARE DEVELOPMENT and DBMS

Total Teaching Hours for Semester: 75

Max Marks: 150 Credits: 5


Course Description
This course provides a comprehensive introduction to fundamental software principles,
including design methodologies and modelling techniques. It emphasizes core design concepts and
software testing strategies, equipping students with a strong foundation in software development
and quality assurance. Additionally, the course enhances students' understanding of strategic
considerations and validation methodologies, fostering a deeper insight into software reliability
and effectiveness.
Course Objectives
This course is an introduction to software development principles, process and design.
And this course provides strong
foundation of database concepts and develop skills for the design and
implementation of a database application.
Course Outcomes
CO1: Design and Develop ethical software product
CO2: Apply terms, concepts, and tools of relational database management systems.
CO3: Construct database projects using DDL and DML queries.
CO4: Understand software design principles and apply design concepts like modularity,
abstraction, and patterns.
CO5: Develop cases and requirement models to enhance software analysis and design.

Unit-1 Teaching Hours: 15


SOFTWARE ENGINEERING AND DBMS

Software Engineering: Nature of software- Defining software, Software Application Domains,


Legacy Software - Software Engineering, The software process, Software Engineering practice.
Database Management System: Data, Database, Database management system, Characteristics
of the database approach, Role of Database administrators, Role of Database Designers, End Users,
Advantages of Using a DBMS - Introduction to RDBMS- High-Level Conceptual Data Models
for Database Design-Naming Conventions, and Design Issues - Subclasses, Superclasses.

Lab Exercises:

1. Introduction: logging on to SQL interface, exploring the system dummy tables.


2. Perform complex DDL, DML queries with where clause and violations.
Unit-2 Teaching Hours:15

DATA MODELING USING ENTITY

Relationship Model : Entity types, Entity Sets, Attributes and Keys. Relationships, Relationship
types, Roles and Structural constraints. Weak Entity Types and Drawing E- R Diagrams -
Enhanced Entity Relationship Model-Relational Database Design by EER-to-Relational Mapping
and Inheritance. Process models : A generic process model-Process Assessment and improvement,
Prescriptive Process Models – The waterfall Model, Incremental Model, Evolutionary Process
Model, Concurrent Models. SQL:SQL data definition and data types, specifying constraints in
SQL, schema update statements, Basic queries, INSERT, DELETE and UPDATE statements in
SQL. Views, Sub queries and correlated queries. PL/SQL : Introduction of PL/SQL

Lab Exercise(s):
3. Implement create, delete and update operations of views.
4. Implement Sub queries.
5. Create EER diagram with constraints.
6. Compose a program for Procedure/Functions/Packages

Unit-3 Teaching Hours:15

SOFTWARE SYSTEM MODELING


Understanding Requirements :Requirements Engineering, Establishing the groundwork –
Identifying Stakeholders, Recognizing multiple viewpoints, Working toward Collaboration,
Usage Scenario Elicitation Work Products - Developing use cases, building the requirements
model – Elements of the requirements Model. Normalization, File Organization and Indexing:
Functional Dependencies - Normal Forms Based on Primary Keys-Second and Third Normal
Forms-Boyce-Codd Normal Form - Multivalued Dependency and Fourth Normal Form-Join
Dependencies and Fifth Normal Form-Inference Rules, Nulls and Dangling Tuples .
Lab Exercises:

7. Apply Integrity constraints using create and modify clauses.


8. Database Design using Normalization

Unit-4 Teaching Hours:15

DATA MODEL AND DESIGN CONCEPT

Relational Data Model :Relation, Integrity constraints - domain, entity and Referential integrity
constraints: unique, not null, check, Primary Key, Foreign key. Software Design and its
Concepts: Design concepts – Abstraction, Architecture, Patterns, Separation of concerns,
Modularity, information hiding, Functional Independence, refinement, Aspects, Refactoring,
Object Oriented design concepts Design classes- Object-oriented design using Unified Modeling
Language (UML)-Design Patterns -Test-driven development (TDD)-Code reviews and inspections
Lab Exercises:

9. Implement a basic example of Test-Driven Development (TDD).


10. Demonstrate the use of constraints (UNIQUE, NOT NULL, CHECK, PRIMARY KEY,
FOREIGN KEY) in SQL.

Unit-5 Teaching Hours:15

SOFTWARE TESTING AND NoSQL DATABASE


A strategic approach to Software Testing – Strategic Issues – Validation Testing – System Testing
– The Art of Debugging. Software Testing Strategies :A strategic approach to Software Testing
– Strategic Issues - Development Testing – Test-driven development – Release Testing – User
testing – Availability and Reliability – Safety – Security Issues. – Validation Testing – System
Testing – The Art of Debugging. NoSQL Databases : Overview of NoSQL and Use cases for No
SQL Databases

Lab Exercise:

11. Design relation models (from the chosen domain)


12. Demonstrate a NoSQL program for basic CRUD operations

Text Books and Reference Books


[1] Software Engineering A Practitioner’s Approach, Pressman S Roger McGraw
Hill, International Editions, 7th edition, 2010.
[2] Fundamentals of Database Systems, Elmasri Ramez and Navathe Shamkant B, Addison-
Wesley, 6th Edition, 2010.
[3] Shashank Tiwari, Professional NoSQL, John Wiley & Sons, Inc, 2011

Essential Reading / Recommended Reading


[1] Software Engineering, Sommerville, Ian Addison Wesley, 9th Edition, 2010.
[2] Object Oriented Modeling and design, Rumbaugh, James, , Pearson Education, New Delhi,
2005.
[3] Database System Concepts, Silberschatz, Korth, Sudarshan, 5 Edition, McGraw Hill, 2006.
[4] Database Principles, Programming and Performance, O`neil Patricand, O`neil Elizabeth,
Margon Kaufmann Publishers Inc, 2nd Edition, 2008
[5] Database System Concepts, Silberschatz, Korth, Sudarshan, 5 Edition, McGraw Hill, 2006.
[6] Steven Feuerstei, Oracle PL/SQL Programming, O’Reilly, Sixth Edition, 2014.
[7] Sadalage, P. & Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot
Persistence, Wiley Publications,1st Edition, 2019.

Web Resources:
1. Software Engineering, 9th Edition (futureuniversity.com)
2. https://www.nobledesktop.com/learn/software-engineering/free-resources-and-tutorials
3. https://www.techtarget.com/whatis/definition/software-engineering
4. https://www.mongodb.com/
5. https://www.ibm.com/cloud/learn/nosql-databases

CO – PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8

CO1 2 2 3 2 2 2 1 3

CO2 3 2 2 2 3 1 1 2

CO3 3 3 3 3 3 1 1 2

CO4 3 3 3 3 2 2 2 2

CO5 3 2 3 3 2 2 2 2

You might also like