DI02016021 · Semester 2 · 5G scheme
Fundamentals of Software Development
Notes and solutions following the Gujarat Technological University (GTU) syllabus for DI02016021. Independent material — not issued by the university.
Materials
Complete Book
The whole syllabus, unit by unit, written for the exam.
Complete Book
137 pages
Premium Preview · 14 pages
Problem Solver
Step-by-step solutions to typical problems.
Problem Solver
37 pages
Premium Preview · 5 pages
Syllabus units
Unit 1: Introduction 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
Unit 2: Software 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
Unit 3: Software 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
Unit 4: Software 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
Unit 5: 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
Unit 6: Software 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
About this course
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 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.