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:2nd
Category of the Course:ESC
Prerequisite:Basic Computer Knowledge including logical reasoning and decision-making skills.
RationaleOne 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 at 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
01Explain software development activities.Understand
02Select appropriate software process model for software project development.Apply
03Prepare software requirement specification (SRS) document for a software project.Apply
04Organize software project development schedule.Apply
05Prepare a design of the software with user interface.Apply
06Apply testing on software product with proper test cases.Apply

*Revised Bloom's Taxonomy (RBT)

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 activities
0306
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 & Principles
• Comparison of Agile development with traditional models
1023
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 SRS
• Functional Requirements
• Non-functional Requirements
817
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, Business
• Risk Assessment
• Risk Mitigation
817
5Software 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
1023
6Software Testing
6.1 Introduction of Testing
6.2 Test cases and test suit
6.3 Introduction to Verification and Validation
6.4 Unit testing
6.5 Black-box testing
6.6 White-box testing
614
TotalTotal45100

Suggested Specification Table with Marks (Theory)

Distribution of Theory Marks (in %)
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. NPTEL Software Engineering Course
  2. Pressman Software Engineering Cases
  3. ForeUI (for User interface)
  4. SmartDraw (for all types of diagrams)

Suggested Project List

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 industry-oriented 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.
  2. Prepare the user interface using online tools of the known system.
  3. Design DFD (context, level-1/2) and data dictionary of the selected Project.
  4. 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.