Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information Technology Engineering/
  4. IT Semester 2/
  5. Fundamentals of Software Development (DI02016021)/

·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Table of Contents

GUJARAT TECHNOLOGICAL UNIVERSITY
#

Program Name: Diploma in Engineering
#

Level: Diploma
#

Branch: Information Technology

Course / Subject Code :

DI02016021

Course / Subject Name : Fundamentals of Software Development

w. e. f. Academic Year:

2024-2025

Semester:

2 nd

Category of the Course:

ESC

Prerequisite:Basic Computer Knowledge including logical reasoning and decision-making skills.
Rationale:One of the important products in the field of Information Technology is a Software. The software has changed every aspect of our life and made available everything of our finger tips. It has revolutionized every area of human life like education, health, defense and security, finance and business, travel, social life, politics, entertainment and so on. Thus, a software increases the responsibilities for the developer. The software development process in the industry is also changing rapidly. This course guides the students to analyze, design, implement and test the software product with proper documentation during the courses in higher semesters of diploma program. At the end of the course, the student will develop adequate skills of documentation and will understand the application of concepts in software development.

Course Outcome:
#

After Completion of the Course, Student will able to:

NoCourse OutcomesRBT Level
Explain software development activities.Understand01
Select appropriate software process model for software project development.Apply02
Prepare software requirement specification (SRS) document for a software project.Apply03
Organize software project development schedule.Apply04
Prepare a design of the software with user interface.Apply05
Apply testing on software product with proper test cases.Apply06

*Revised Bloom’s Taxonomy (RBT)

GUJARAT TECHNOLOGICAL UNIVERSITY
#

Program Name: Diploma in Engineering Level: Diploma Branch: Information Technology Course / Subject Code : DI02016021

Course / Subject Name : Fundamentals of Software Development

Teaching and Examination Scheme:
#

Teaching Scheme (in Hours)Teaching Scheme (in Hours)Teaching Scheme (in Hours)Total Credits L+T+ (PR/2)Assessment Pattern and MarksAssessment Pattern and MarksAssessment Pattern and MarksAssessment Pattern and MarksTotal
LTPRCTheoryTheoryTutorial / PracticalTutorial / PracticalMarks
ESE (E)PA / CA (M)PA/CA (I)ESE (V)
300370300000100

Course Content:
#

Unit No.ContentNo. of Hours% of Weightage
1Introduction Software Development Process 1.1 Software - definition, characteristics 1.2 Characteristics of Web-based application 1.3 Software engineering - A layered technology 1.4 Software Myths 1.5 Software Process framework and umbrella activities0306
2Software Life cycle models 2.1 Select Software process model for project development ● Waterfall model ● Incremental Model ● Prototyping Model ● Spiral Model ● Rapid Application Development (RAD) 2.2 Agile Development ● Agile Process & Principles1023
3Software Requirement Analysis 3.1 Identify software requirements ● Requirement gathering - collect requirements from stakeholders ● Analyze the requirements 3.2 Prepare Software Requirement Specifications (SRS) ● Importance of SRS ● Users of SRS ● Characteristics of good & bad SRS 3.3 Types of Requirements in SRS817

GUJARAT TECHNOLOGICAL UNIVERSITY
#

Program Name: Diploma in Engineering
#

Level: Diploma
#

Branch: Information Technology

Course / Subject Code :

DI02016021

Course / Subject Name : Fundamentals of Software Development

● Functional Requirements ● Non-functional Requirements
4Software Project Management 4.1 Responsibility of software project Manager ● Job responsibility ● Necessary skill to manage software projects 4.2 Scheduling ● Work breakdown structure ● Activity network and critical path Method ● PERT chart ● Gantt chart 4.3 Risk Management ● Risk Identification: Project, Technical, Business817
5● Risk Mitigation Software Design 5.1 Software design process ● Design activities ● Design methodologies 5.2 Introduction of Cohesion 5.3 Introduction of Coupling 5.4 Data Flow Diagram (DFD) Model ● Primitive Symbols of DFD ● Levels of DFD ● Design DFD Model of System ● Shortcomings of DFD Model 5.5 Introduction of Data dictionary 5.6 User Interface design ● Characteristics of good UI ● Types of UI: command-based, menu-based Software Testing1023
66.1 Introduction of Testing 6.2 Test cases and test suit 6.3 Introduction to Verification and Validation0614

GUJARAT TECHNOLOGICAL UNIVERSITY
#

Program Name: Diploma in Engineering Level: Diploma
#

Branch: Information Technology
#

Course / Subject Code :

DI02016021

Course / Subject Name : Fundamentals of Software Development

6.4Unit testing
6.5Black-box testing
6.6White-box testing
TotalTotal45100

Suggested Specification Table with Marks (Theory):
#

Distribution of Theory MarksDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory Marks
R LevelU LevelA LevelN LevelE LevelC Level
162826---

Where R: Remember; U: Understanding; A: Application, N: Analyze and E: Evaluate C: Create (as per Revised Bloom’s Taxonomy)

References/Suggested Learning Resources:
#

(a) Books:
#

Sr. No.Title of BookAuthorPublication with place, year and ISBN
1Software Engineering: A Practitioner’s ApproachRoger S. PressmanTata McGraw Hill, New Delhi 978-9353165710
2Fundamentals of Software EngineeringRajib MallPHI Learning Private Limited, New Delhi 978-9388028028
3Software EngineeringIan SommervillePearson Education, India 978-9332582699
4Object - Oriented Modeling and Design With UML, 2eMichael Blaha, James RumbaughPearson Education, India 978-8131711064

(b) Open-source software and website:
#

  1. https://nptel.ac.in/courses/106101061/
  2. https://www.mhhe.com/engcs/compsci/pressman/student/olc/cases.mhtml
  3. http://www.foreui.com/ (for User interface)
  4. https://www.smartdraw.com/ (for all types of diagrams)

Suggested Project List:
#

GUJARAT TECHNOLOGICAL UNIVERSITY
#

Program Name: Diploma in Engineering
#

Level: Diploma
#

Branch: Information Technology

Course / Subject Code :

DI02016021

Course / Subject Name : Fundamentals of Software Development

The project could be industry application based, internet-based, workshop-based, laboratory-based or field-based. Each project should encompass two or more COs which are in fact, an integration of UOs and ADOs. Each student will have to maintain a dated work diary consisting of individual contributions in the project work and give a seminar presentation of it before submission. The total duration of the project should not be less than 16 (sixteen) student engagement hours during the course. The student ought to submit a project by the end of the semester to develop the industryoriented COs.

A suggestive list of projects is given here. This has to match the competency and the COs. Similar projects could be added by the concerned course teacher:

    1. Study the SRS document of project from any software company and enlist functional as well as non-functional requirements.
    1. Prepare the user interface using online tools of the known system.
    1. Design DFD (context, level-1/2) and data dictionary of the selected Project.
    1. Search any automated test case generator and prepare test suits for the system.

Suggested Activities for Students:
#

Other than the classroom learning, following are the suggested student-related co-curricular activities which can be undertaken to accelerate the attainment of the various outcomes in this course: Students should conduct following activities in group and prepare reports of about 5 pages for each activity, also collect/record physical evidences for their (student’s) portfolio which will be useful for their placement interviews:

  • a) Give a seminar on any relevant topics.
  • b) Suggest a small existing software/website to students and discuss on betterment of its user-interface design.
  • c) Visit a software company and observe their documents and discuss their practices adopted for software development.
  • d) Prepare SRS documents based on Case studies.