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

·
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 (GTU)
#

Competency-focused Outcome-based Green Curriculum-2021 (COGC-2021) Semester - III
#

Course Title: Fundamentals of Software Development
#

(Course Code: 4331604)

Diploma programme in which this course is offeredSemester in which offered
Information TechnologyThird

1. RATIONALE
#

One of the important product 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 revolutionize 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 programme.

2. COMPETENCY
#

The purpose of this course is to help the student to attain the following industry identified competency through various teaching learning experiences:

  • Analyze problems and prepare the software solutionwith documentation.

3. COURSE OUTCOMES (COs)
#

The practical exercises, the underpinning knowledge and the relevant soft skills associated with this competency are to be developed in the student to display the following COs:

At the end of the course, the student will develop adequate skills ofdocumentation and will understand the application of concepts in software development.

  • a) Explain software development activities.
  • b) Select appropriate software process model for software project development.
  • c) Prepare software requirement specification(SRS) document for a software project.
  • d) Organize software project development schedule.
  • e) Prepare a design of the software with user interface.
  • f) Apply testing on software product with proper test cases.

4. TEACHING AND EXAMINATION SCHEME
#

Teaching SchemeTeaching SchemeTeaching SchemeTotal CreditsExamination SchemeExamination SchemeExamination SchemeExamination SchemeExamination Scheme
(In Hours)(In Hours)(In Hours)(L+T/2+P/2)Theory MarksTheory MarksPractical MarksPractical MarksTotal
LTPCCAESECAESEMarks
3-2430*702525150
  • (*): Out of 30 marks under the theory CA, 10 marks are for assessment of the micro-project to facilitate integration of COs and the remaining 20 marks is the average of 2 tests to be taken during the semester for the assessing the attainment of the cognitive domain UOs required for the attainment of the COs .

Legends: L -Lecture; T - Tutorial/Teacher Guided Theory Practice; P -Practical; C - Credit, CA -Continuous Assessment; ESE -End Semester Examination.

5. SUGGESTED PRACTICAL EXERCISES
#

The following practical outcomes (PrOs) are the sub-components of the COs. These PrOs need to be attained to achieve the COs.

To perform all the practicals more effectively, the faculty membersare advised to prepare the group of 3-4 students and assign one software project with 3 to 4 modules/major functionalities. Based on that project, the group will perform all the practicals. The example of software projects for practicals: student information system, attendance management, result management, online exam, inventory control, payroll system, sales management, library management, leave management(employee), medical store-shop-any store management, hotel management, patient management, Medical Laboratory Management etc. The project can be any known online or offline information management system.

S. No.Practical Outcomes (PrOs)Unit No.Approx. Hrs. required
1Select a software project and identify the process model with proper justification.II02
2Collect the functional requirements for the project. (Questionnaires/ stakeholders’ interview questions)III04
3Analyze functional and non-functional requirement and prepare SRS document for the project.III04
4Prepare GANTT chart for selected system.IV02
5Prepare PERT chart for selected system.IV02
6Design DFD(context, level-1/2) for function oriented design.V02
7Design data dictionary of the selected system.V02
8Prepare User-case diagrams of the selected system for object oriented design.V02
9Prepare Activity diagrams of theselected system for object oriented design.V02
10Design appropriate User Interface based on the type of project.V02
11Prepare the test cases to test the functionalities of the modules.VI04
Total28

Note
#

  • i. More Practical Exercises can be designed and offered by the respective course teacher to develop the industry relevant skills/outcomes to match the COs. The above table is only a suggestive list .

  • ii. The following are some sample ‘Process’ and ‘Product’ related skills (more may be added/deleted depending on the course) that occur in the above listed Practical Exercises of this course required which are embedded in the COs and ultimately the competency.

S. No.Sample Performance Indicators for the PrOsWeightage in %
1Identify suitable approach to develop software.10
2Prepare proper SRS document.25
3Design DFD and use-cases for software product.25
4Design user interface depends on the software type.20
5Prepare the test cases for the modules.20
TotalTotal100

6. MAJOR EQUIPMENT/ INSTRUMENTS REQUIRED
#

These major equipment with broad specifications for the PrOs is a guide to procure them by the administrators to usher-in uniformity of practicals in all institutions across the state.

S. No.Equipment Name with Broad SpecificationsPrO. No.
1Online or offline tool for documentation.All
2Online or offline tools to draw the various diagrams. For example, Microsoft Visio, StarUMLForeUI, Smartdraw4,5,6,8,9,10

7. AFFECTIVE DOMAIN OUTCOMES
#

The following sample Affective Domain Outcomes (ADOs) are embedded in many of the above mentioned COs and PrOs. More could be added to fulfil the development of this competency.

  • a) Work as a leader/a team member.
  • b) Follow ethical practices.

The ADOs are best developed through the laboratory/field based exercises. Moreover, the level of achievement of the ADOs according to Krathwohl’s ‘Affective Domain Taxonomy’ should gradually increase as planned below:

  • i. ‘Valuing Level’ in 1 st year
  • ii. ‘Organization Level’ in 2 nd year.
  • iii. ‘Characterization Level’ in 3 rd year.

8. UNDERPINNING THEORY
#

Only the major Underpinning Theory is formulated as higher level UOs of Revised Bloom’s taxonomy in order development of the COs and competency is not missed out by the studentsand teachers. If required, more such higher level UOs could be included by the course teacher to focus on attainment of COs and competency.

UnitUnit Outcomes (UOs) (4 to 6 UOs at Application and above level)Topics and Sub-topics
Unit - I About Software Development1.1 Software and Software Development1.1.1 Software - definition, characteristics 1.1.2 Characteristics of Web-based application 1.1.3Software engineering - A layered technology 1.1.4Software Myths 1.1.5 Software Process framework and umbrella activities
Unit - II Software Life cycle models2.1 Select Software process model for project development 2.2 Agile Development2.1.1 Waterfall model 2.1.2 Incremental Model 2.1.3 Prototyping Model 2.1.4 Spiral Model 2.1.5 Rapid Application Development(RAD) 2.2.1 Agile Process & Principles 2.2.2 Comparison of Agile development with traditional models 2.2.3 Extreme Programming (XP) Model 2.2.4 Scrum Model
Unit- III Software Requirement Analysis3.1 Identify software requirements 3.2 Prepare Software Requirement Specifications (SRS)3.1.1 Requirement gathering -collect requirements from stakeholders 3.1.2 Analyze the requirements 3.2.1 Software Requirement Specifications - Importance ofSRS - Users of SRS - Characteristics of good &bad SRS 3.2.2Types of Requirements in SRS - Functional Requirements - Non-functional Requirements
Unit- IV Software Project Management4.1 Prepare schedule for software development activities4.1.1 Responsibility of software project Manager - Job responsibility - Necessary skill to manage software projects 4.1.2 Scheduling - Work breakdown structure - Activity network and critical path Method - PERT chart
- Gantt chart - Project Monitoring and control 4.1.3 Risk Management - Risk Identification: Project, Technical, Business - Risk Assessment - Risk Mitigation
Unit- V Software Design5.1 Prepare software design 5.2 Design proper User Interface for the software5.1.1 Software design process - Design activities - Design methodologies 5.1.2 Cohesion and Coupling 5.1.3 Approach of software design - Function oriented design Data Flow Diagram with levels, its shortcomings, Data dictionary - Object oriented design Prepare use-case and activity diagrams of the system 5.2.1 User Interface design - Characteristics of good UI - Types of UI: command-based,
Unit- VI Software Coding and Testing6.1 Follow coding standardsmenu-based, direct manipulation 6.1.1 Coding standards and guidelines 6.1.2 Code review - Code Walkthough - Code Inspection
Unit- VI Software Coding and Testing6.2 Test the software with proper test cases6.2.1 Testing - Test cases and test suit - Verification, Validation - Unit testing - Black-box testing - White-box testing

Note : The UOs need to be formulated at the ‘Application Level’ and above of Revised Bloom’s Taxonomy’ to accelerate the attainment of the COs and the competency.

9. SUGGESTED SPECIFICATION TABLE FOR QUESTION PAPER DESIGN
#

Unit No.Unit TitleTeaching HoursDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory Marks
Unit No.Unit TitleTeaching HoursR LevelU LevelA LevelTotal Marks
IAbout Software Development0202020004
IISoftware Life cycle models1004080416
IIISoftware Requirement Analysis0602040410
IVSoftware Project Management0804040614
VSoftware Design1002060816
VISoftware Coding and Testing0602040410
TotalTotal4216282670

Legends: R=Remember, U=Understand, A=Apply and above (Revised Bloom’s taxonomy)

Note : This specification table provides general guidelines to assist students for their learning and to teachers to teach and question paper designers/setters to formulate test items/questions assess the attainment of the UOs. The actual distribution of marks at different taxonomy levels (of R, U and A) in the question paper may vary slightly from the above table.

10. SUGGESTED STUDENT ACTIVITIES
#

Other than the classroom and laboratory learning, following are the suggested studentrelated 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.

11. SUGGESTED SPECIAL INSTRUCTIONAL STRATEGIES (if any)
#

These are sample strategies, which the teacher can use to accelerate the attainment of the various outcomes in this course:

  • a) Massive open online courses ( MOOCs ) may be used to teach various topics/subtopics.
  • b) Guide student(s) in undertaking micro-projects.
  • c) ‘L’ in section No. 4 means different types of teaching methods that are to be employed by teachers to develop the outcomes.
  • d) About 20% of the topics/sub-topics which are relatively simpler or descriptive in nature is to be given to the students for self-learning , but to be assessed using different assessment methods.
  • e) With respect to section No.11 , teachers need to ensure to create opportunities and provisions for co-curricular activities .

12. SUGGESTED MICRO-PROJECTS
#

Only one micro-project is planned to be undertaken by a student that needs to be assigned to him/her in the beginning of the semester. In the first four semesters, the micro-project are group-based. However, in the fifth and sixth semesters, it should be preferably be individually undertaken to build up the skill and confidence in every student to become problem solver so that s/he contributes to the projects of the industry. In special situations where groups have to be formed for micro-projects, the number of students in the group should not exceed three.

The micro-project could be industry application based, internet-based, workshopbased, laboratory-based or field-based. Each micro-project should encompass two or more COs which are in fact, an integration of PrOs, 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 micro-project should not be less than 16 (sixteen) student engagement hours during the course. The

student ought to submit a micro-project by the end of the semester to develop the industry oriented COs.

A suggestive list of micro-projects is given here. This has to match the competency and the COs. Similar micro-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 classand other UML diagrams of any known system.
  • 3: Prepare the user interface using online tools of the known system.
  • 4: Search any automated test case generator and prepare test suits for the system.

13. SUGGESTED LEARNING RESOURCES
#

S. 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

14. SOFTWARE/LEARNING WEBSITES
#

15. PO-COMPETENCY-CO MAPPING
#

Semester IIIFundamentals of Software Development (Course Code: 4331604 )Fundamentals of Software Development (Course Code: 4331604 )Fundamentals of Software Development (Course Code: 4331604 )Fundamentals of Software Development (Course Code: 4331604 )Fundamentals of Software Development (Course Code: 4331604 )Fundamentals of Software Development (Course Code: 4331604 )Fundamentals of Software Development (Course Code: 4331604 )
Competency & Course OutcomesPO 1 Basic & Discipline specific knowledgePO 2 Problem AnalysisPO 3 Design/ developme nt of solutionsPO 4 Engineering Tools, Experimentatio n &TestingPOs and PSOs PO 5 Engineering practices for society, sustainability & environmentPO 6 Project ManagementPO 7 Life- long learning
CompetencyAnalyze problems and prepare the software solution with documentation.Analyze problems and prepare the software solution with documentation.Analyze problems and prepare the software solution with documentation.Analyze problems and prepare the software solution with documentation.Analyze problems and prepare the software solution with documentation.Analyze problems and prepare the software solution with documentation.Analyze problems and prepare the software solution with documentation.
Course Outcomes CO a) Explain software development activities.2-3--22
CO b)Select appropriate software process model for software project development.3232-23
CO c) Prepare software3333-33

Legend: ’ 3’ for high, ’ 2 ’ for medium, ‘1’ for low or ‘-’ for the relevant correlation of each competency, CO, with PO/ PSO

requirement specification (SRS) document for a software project.
CO d)Prepare software project development schedule.2233-33
CO e) Prepare design for the software product including user interface.2333233
CO f) Apply testing on software product with proper test cases.2233-33

16. COURSE CURRICULUM DEVELOPMENT COMMITTEE
#

GTU Resource Persons
#

S. No.Name and DesignationInstituteEmail
1Mr. Chintan A GajjarDr S & S S Ghandhy College of Engineering & Technology, Suratcagajjar.it@gmail.com
2Mr. Dhaval R GandhiDr S & S S Ghandhy College of Engineering & Technology, Suratdhavalgandhi88@gmail.c om
3Mr. Umang D ShuklaDr S & S S Ghandhy College of Engineering & Technology, Suratumang.shuklait@gmail.co m