Fundamental of Software Development
Fundamental of Software Development
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.
At the end of the course, the student will develop adequate skills ofdocumentation and will
understand the application of concepts in software development.
(*): 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.
Approx.
S. Unit
Practical Outcomes (PrOs) Hrs.
No. No.
required
Select a software project and identify the process model with II 02
1
proper justification.
Collect the functional requirements for the project. III 04
2
(Questionnaires/ stakeholders’ interview questions)
Analyze functional and non-functional requirement and prepare III 04
3
SRS document for the project.
4 Prepare GANTT chart for selected system. IV 02
5 Prepare PERT chart for selected system. IV 02
6 Design DFD(context, level-1/2) for function oriented design. V 02
7 Design data dictionary of the selected system. V 02
Prepare User-case diagrams of the selected system for object V 02
8
oriented design.
Prepare Activity diagrams of theselected system for object oriented V 02
9
design.
10 Design appropriate User Interface based on the type of project. V 02
11 Prepare the test cases to test the functionalities of the modules. VI 04
Total 28
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 PrOs Weightage in %
1 Identify suitable approach to develop software. 10
2 Prepare proper SRS document. 25
3 Design DFD and use-cases for software product. 25
4 Design user interface depends on the software type. 20
5 Prepare the test cases for the modules. 20
Total 100
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 1st year
ii. ‘Organization Level’ in 2nd year.
iii. ‘Characterization Level’ in 3rd 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.
Unit Unit Outcomes (UOs) Topics and Sub-topics
(4 to 6 UOs at Application and
above level)
Unit – I 1.1 Software and Software 1.1.1 Software – definition, characteristics
About Development 1.1.2 Characteristics of Web-based
Software application
Development 1.1.3Software engineering – A layered
technology
1.1.4Software Myths
1.1.5 Software Process framework and
umbrella activities
Unit – II 2.1 Select Software process 2.1.1 Waterfall model
Software model for project 2.1.2 Incremental Model
Life cycle development 2.1.3 Prototyping Model
models 2.1.4 Spiral Model
2.1.5 Rapid Application Development(RAD)
2.2 Agile Development 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 3.1 Identify software 3.1.1 Requirement gathering –collect
Software requirements requirements from stakeholders
Requirement 3.1.2 Analyze the requirements
Analysis
3.2 Prepare Software 3.2.1 Software Requirement Specifications
Requirement Specifications – Importance ofSRS
(SRS) – Users of SRS
– Characteristics of good &bad SRS
3.2.2Types of Requirements in SRS
– Functional Requirements
– Non-functional Requirements
Unit– IV 4.1 Prepare schedule for 4.1.1 Responsibility of software project
Software software development Manager
Project activities – Job responsibility
Management – 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 5.1 Prepare software design 5.1.1 Software design process
Software – Design activities
Design – 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 Design proper User 5.2.1 User Interface design
Interface for the software – Characteristics of good UI
– Types of UI: command-based,
menu-based, direct manipulation
Unit– VI 6.1 Follow coding standards 6.1.1 Coding standards and guidelines
Software 6.1.2 Code review
Coding and – Code Walkthough
Testing – Code Inspection
6.2 Test the software with 6.2.1 Testing
proper test cases – 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.
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.
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.
S. Author
Title of Book Publication with place, year and ISBN
No.
1 Software Engineering: A Roger S. Pressman Tata McGraw Hill, New Delhi
Practitioner's Approach 978-9353165710
2 Fundamentals of Software Rajib Mall PHI Learning Private Limited, New Delhi
Engineering 978-9388028028
3 Software Engineering Ian Sommerville Pearson Education, India
978-9332582699
4 Object - Oriented Modeling Michael Blaha, Pearson Education, India
and Design With UML, 2e James Rumbaugh 978-8131711064
Competency Analyze problems and prepare the software solution with documentation.
Course Outcomes
CO a) Explain software
2 - 3 - - 2 2
development
activities.
CO b)Select appropriate
software process
model for software 3 2 3 2 - 2 3
project
development.
CO c) Prepare software 3 3 3 3 - 3 3
requirement
specification (SRS)
document for a
software project.
CO d)Prepare software
project
2 2 3 3 - 3 3
development
schedule.
CO e)Prepare design for
the software
2 3 3 3 2 3 3
product including
user interface.
CO f) Apply testing on software
product with proper test 2 2 3 3 - 3 3
cases.
Legend: ‘3’ for high, ‘2’ for medium, ‘1’ for low or ‘-’ for the relevant correlation of each competency, CO, with PO/ PSO