Title | FSD Lab Manual 2020-21 final |
---|---|
Course | Computer Networks |
Institution | Indian Institute of Technology Gandhinagar |
Pages | 82 |
File Size | 2.3 MB |
File Type | |
Total Downloads | 135 |
Total Views | 369 |
LABORATORY MANUAL####### DEPARTMENT####### OF####### COMPUTER ENGINEERING####### Fundamentals of Software Development####### (3341603)4 thSEMESTERName : _________________________________Enrolment Number:______________________GOVERNMENT POLYTECHNIC, GANDHINAGARDEPARTMENT OF COMPUTER ENGINEERINGCERT...
FSD (3341603)
Computer Engineering
LABORATORY MANUAL DEPARTMENT OF COMPUTER ENGINEERING Fundamentals of Software Development (3341603)
4th SEMESTER Name : _________________________________ Enrolment Number:______________________
pg. 1
FSD (3341603)
Computer Engineering
GOVERNMENT POLYTECHNIC, GANDHINAGAR DEPARTMENT OF COMPUTER ENGINEERING
CERTIFICATE This is to certify that Mr/Ms _______________________________ Enrolment No. __________________of Computer Engineering 4TH Semester has completed his/her term work of Fundamentals of Software Development (3341603) within the four walls of the institute.
Date of Submission:
Signature of Faculty:
pg. 2
Signature of H.O.D:
Fundamentals of Software Development
Course Code: 3341603
GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT COURSE CURRICULUM
COURSE TITLE: FUNDAMENTALS OF SOFTWARE DEVELOPMENT (Code: 3341603) Diploma Programmes in which this course is offered
Semester in which offered 4th Semester
Information Technology, Computer Engineering 1.
RATIONALE
Software is the single most important technology on the world stage. Software’s are used by almost all peoples for various purposes such as withdrawing payments from ATM machines, paying bills of electricity, telephone using ECS systems. Airline, railway tickets reservation online etc. People can work with computers flawlessly over a long period of time. One can also easily modify, upgrade the software without any problem or error. This course helps the students to develop, design, analyze, test & implement the software project during the courses in higher semesters of diploma programme.
COMPETENCY
2.
The course content should be taught and implemented with the aim to develop different types of skills so that students are able to acquire following competency: Identify and analyze problems in the field of S/W development
3.
COURSE OUTCOMES:
The theory should be taught and practical should be carried out in such a manner that students are able to acquire different learning out comes in cognitive, psychomotor and affective domain to demonstrate following course outcomes. i. Explain Software and Software Engineering ii. Distinguish various Software Process Models (Approach of Software Development). iii. Analyze gather and prepare Software Requirement Specification for given project. iv. Draw use case diagrams for given modules and design user interface v. Apply code standard and Identify Software Testing Techniques.
4.
Teaching and Examination Scheme Teaching Scheme (In Hours)
Total Credits (L+T+P)
Examination Scheme Theory Marks Practical Marks
L
T
P
C
ESE
PA
ESE
PA
3
0
2
5
70
30
20
30
Total Marks 150
Legends: L-Lecture; T – Tutorial/Teacher Guided Theory Practice; P - Practical; C – Credit ESE - End Semester Examination; PA - Progressive Assessment.
GTU/ NITTTR Bhopal/13-14
Gujarat State
Fundamentals of Software Development
5.
Course Code: 3341603
COURSE DETAILS Unit
Major Learning Outcomes
Topics and Sub-topics
(in cognitive domain) Unit-I Software Development Process
1a Explain Software and Software Engineering.
1b Compare various project process models and use in project planning.
Unit-II
2a Identify software requirement
Software Analysis and Design
2b Analyze and design requirement
2c Develop Activity and use-case diagram
GTU/ NITTTR Bhopal/13-14
1.1 Software Definition Characteristics 1.2 Software Myths 1.3 Software Engineering – A layered Technology approach Definition Need 1.4 Software development 1.5 Generic Framework activities, Umbrella activities 1.6 Software Development Models
Waterfall Model Incremental Model RAD Model Prototyping Model Spiral Model
2.1 Requirement Gathering and Analysis 2.2 Software Requirement Specification(SRS) Characteristic Customer requirement Functional Requirement 2.3 Design Process Classification of Design Activities Classification of Design Methodology 2.4 Cohesion and Coupling 2.5 Data Modeling Concepts Data Objects Data Attributes Relationships Cardinality and Modality 2.6 Data-Flow Diagrams Primitive Symbols of DFD Develop DFD Model of System Shortcoming of DFD Model 2.7 Scenario-Based Modeling Writing Use-Cases Developing an Activity Diagram 2.8 Architectural design decisions Architectural views Gujarat State
Fundamentals of Software Development
Course Code: 3341603
Architectural patterns Application architectures
Unit-III Software Project Management
3a Prepare and manage Schedule for different software development activities
3.1 Responsibility of software project Manager Job responsibility Required skill to manage software project 3.2 Metrics for Size Estimation Line of Code Function Points 3.3 Project Estimation Technique Empirical Estimation Technique Heuristic Technique Analytical Estimation Technique 3.4 Scheduling Work breakdown structure Activity network and critical path Method Gantt Chart Project Monitoring and control 3.5 Risk Management Risk Identification Risk Assessment Risk Containment
4a Prepare software Documentation
4.1 Code review Code Work through Code Inspection 4.2 Software Documentation Internal Documentation External Documentation
4b Prepare test cases and test the software
4.3 Testing Unit Testing Black-box Testing White-box testing 4.4 Test Documentation
Unit-IV Software Coding and testing
6.
SUGGESTED SPECIFICATION TABLE WITH HOURS & MARKS (THEORY)
Unit No. I II III IV
Unit Title
Software Development Process Software Analysis and Design Software Project Management Software Coding and testing
GTU/ NITTTR Bhopal/13-14
Teaching Hours 10 14 10 08
Distribution of Theory Marks R U A Total Level Level Level Marks 10 08 00 18 04 08 10 22 04 08 06 18 02 02 08 12
Gujarat State
Fundamentals of Software Development
Unit No.
Unit Title
Total
Course Code: 3341603
Teaching Hours 42
Distribution of Theory Marks R U A Total Level Level Level Marks 20 26 24 70
Legends: R = Remembrance; U = Understanding; A = Application and above levels (Revised Bloom’s taxonomy)
Note: This specification table shall be treated as a general guideline for students and teachers. The actual distribution of marks in the question paper may vary slightly from above table. 7.
SUGGESTED LIST OF EXERCISES/PRACTICALS
The practical/exercises should be properly designed and implemented with an attempt to develop different types of skills (outcomes in psychomotor and affective domain) so that students are able to acquire the competencies/programme outcomes. Following is the list of practical exercises for guidance. Note: Here only outcomes in psychomotor domain are listed as practical/exercises. However, if these practical/exercises are completed appropriately, they would also lead to development of certain outcomes in affective domain which would in turn lead to development of Course Outcomes related to affective domain. Thus over all development of Programme Outcomes (as given in a common list at the beginning of curriculum document for this programme) would be assured. Faculty should refer to that common list and should ensure that students also acquire outcomes in affective domain which are required for overall achievement of Programme Outcomes/Course Outcomes.
8.
S. No.
Unit No.
1
I
2 3 4 5 6 7 8 9 10
II II II II II II II III IV
Practical Exercises (Outcomes’ in Psychomotor Domain) Identify the development model for software with proper explanation Gather requirement for software. Prepare SRS Document for Software Design Activity Diagram for system Design Use-case Diagram for system Design Data Dictionary of system Prepare E-R Diagram of System Design Data Flow Diagram of system Prepare Gantt chart of system Prepare suitable test case for system testing. Total
Hrs. required 02 04 04 02 02 04 02 04 02 02 28
SUGGESTED LIST OF STUDENT ACTIVITIES Following is the list of proposed student activities like: i.Prepare charts for various models, SDLC life cycles, UML notations etc. ii.Prepare SRS documents based on case study. iii.Discuss various case studies available on internet.
GTU/ NITTTR Bhopal/13-14
Gujarat State
Fundamentals of Software Development
Course Code: 3341603
9.
SPECIAL INSTRUCTIONAL STRATEGIES (if any) Application for practical will be assigned to the students by the subject faculty and students will work in a group of 3 – 5
10.
SUGGESTED LEARNING RESOURCES
A)
List of Books
S. No.
Title of Book
Software Engineering: A Practitioner's Approach 2. Software Engineering 1.
3. 4.
5.
Fundamentals of Software Engineering Structured System analysis and Design Object Oriented Modeling and design with UML, second edition
Author
Publication
Roger S. Pressman
Tata McGraw Hill,
Ian Somerville
Pearson education PHI
Rajib Mall
PHI
Madhulika JAin
Bph Publication
Michael R Blaha and James R Rambaugh
Pearson Prentice Hall
B) List of Major Equipment/ Instrument with Broad Specifications Sufficient number of PCs are required according to number of students in the class for practicing development and maintenance of different software. C)
List of Software/Learning Websites
i. ii.
http://nptel.iitm.ac.in/ http://www.mhhe.com/engcs/compsci/pressman/student/olc/cases.mhtml iii. iii http://forum.jntuworld.com/showthread.php?3841-SOFTWARE-ENGINEERING-(SE)iv.
v.
11.
Notes- All-8-Units Ppts: www.facweb.iitkgp.ernet.in/~spp/LECT1.ppt Ppts: http://www.phindia.com/rajibmall/chapters/
COURSE CURRICULUM DEVELOPMENT COMMITTEE Faculty Members from Polytechnics Prof. Sunil K. Paryani, Lecturer IT, Govt. Polytechnic, Ahmadabad Prof. Bhadresh G. Prajapati, Lecturer IT, Govt. Polytechnic, Himatnagar Coordinator and Faculty Members from NITTTR Bhopal Dr. Shailendra Singh, HOD, Department of Computer Engineering and Application Dr.K.J.Mathai, Associate Professor, Department of Computer Engineering and Application
GTU/ NITTTR Bhopal/13-14
Gujarat State
FSD (3341603)
Computer Engineering
COURSE OUTCOMES: ● Program: Diploma ● Discipline: Computer Engineering ● Semester: 4rt ● Course Name: Fundamentals of Software Development ● Course Code: 3341603
1
pg. 8
Course Justification Outcome CO1 EXPLORE SOFTWARE ENGINEERING MODEL.
2
CO2
3
CO3
4
CO4
5
CO5
USE DIFFERENT TECHNIQUES OF REQUIREMENT GATHERING TO COLLECT REQUIREMENTS FROM CLIENT AND CHOOSE WHICH MODEL IS BEST SUITABLE FOR CLIENT AND PREPARE SRS (SOFTWARE REQUIREMENT SPECIFICATION). PRACTICE OF MAKING SOFTWARE DESIGN DOCUMENTS ACCORDING TO SOFTWARE MODEL. EXPLORE MANAGERIAL ACTIVITIES AND PREPARE AND MANAGE SCHEDULE FOR DIFFERENT SOFTWARE DEVELOPMENT ACTIVITIES. PRACTICE OF MAKING CODE REVIEW, TESTING AND MAINTENANCE PLAN FOR SOFTWARE.
FSD (3341603)
Computer Engineering
Index Sr. No
1
AIM
Explain basic terms of software engineering. To study about different SDLC models.
2
2. 1 To study about waterfall model. 2. 2 To study about spiral model. 2. 3 To study about prototype model.
3
Prepare SRS document for the system.
4
Design DFD (level 0 and 1) for a system.
5
Design use-case diagram for the system.
6
Design Activity diagram for the system.
7
To study about data modeling concepts.
8
Design Gantt chart for the given project.
9
Prepare CFG for a simple C program (Write a C program for same).
10
pg. 9
Design suitable test cases for a system.
Date
Page No
Sign
Grade / Marks
FSD (3341603)
Computer Engineering
PRACTICAL – 1 AIM:
Explain basic terms of software engineering
1. Define Software, system software and application software.
2. Explain software characteristics in brief.
pg. 10
FSD (3341603)
3. Define software engineering (IEEE definition).
4. Explain the need of software engineering.
pg. 11
Computer Engineering
FSD (3341603)
Computer Engineering
5. Define SDLC. List various software development models.
6. Draw the figure of SDLC.
Grade: _____ pg. 12
Teacher’s Sign: ___________
FSD (3341603)
Computer Engineering
PRACTICAL – 2.1 (To study about different SDLC models) AIM:
To study about waterfall model
● It is also called ‘traditional waterfall model’ or ‘conventional waterfall model’ or ‘linear sequential life cycle model’. ● It’s just a theoretical way of developing s/w. All other life cycle models are essentially derived from it. Figure of waterfall model:
pg. 13
FSD (3341603)
pg. 14
Computer Engineering
FSD (3341603)
pg. 15
Computer Engineering
FSD (3341603)
Grade: _____ pg. 16
Computer Engineering
Teacher’s Sign: ___________
FSD (3341603)
Computer Engineering
PRACTICAL – 2.2 AIM: ●
To study about spiral model This model is proposed by Boehm in 1986. Figure of spiral model
● Each loop of the spiral represents a phase of the software process: the innermost loop might be concerned with system feasibility, the next loop with system requirements definition, the next one with system design, and so on ● Number of phases is not fixed in this model. ● This model is more flexible compared with other models. ● Each loop in the spiral is split into four sectors (quadrants)
pg. 17
FSD (3341603)
Computer Engineering
Explain four quadrants of spiral model. Also write its advantages, disadvantages and applications.
pg. 18
FSD (3341603)
pg. 19
Computer Engineering
FSD (3341603)
pg. 20
Computer Engineering
FSD (3341603)
Computer Engineering
Q. Justify: Spiral model can be viewed as a Meta model.
Grade: _____ pg. 21
Teacher’s Sign: _________
FSD (3341603)
Computer Engineering
PRACTICAL – 2.3 AIM:
To study about prototype model
● Prototype is a working physical system or subsystem. Prototype is nothing but a toy implementation of a system. ● In this model, before starting actual development, a working prototype of the system should first be built ● A prototype is actually a partial developed product. ● Compared to the actual software, a prototype usually have o limited functional capabilities o low reliability o inefficient performance ● Prototype usually built using several shortcuts, and these shortcuts might be inefficient, inaccurate or dummy functions. ● Prototype model is very useful in developing GUI part of system. ● A prototype usually turns out to be a very crude version (અપરપકવ, કાુ) of the actual system. Draw the figure of prototype mode
pg. 22
FSD (3341603)
Computer Engineering
Explain working of prototype model and also write its advantages, disadvantages and applications.
pg. 23
FSD (3341603)
Computer Engineering
Q. Differentiate between program and software product.
Grade: _____ pg. 24
Teacher’s Sign: ___________
FSD (3341603)
Computer Engineering
PRACTICAL – 3 AIM:
Prepare SRS document for the system
● SRS is the output of requirement gathering and analysis activity which is created by system analyst. ● SRS is a detailed description of the software that is to be developed. It describes the complete behaviour the system. ● SRS describes ‘what’ the proposed system should do without describing ‘how’ the software will do (what part, not how). ● The SRS document is known as black-box specification, because: i. In SRS, internal details of the system are not known (as SRS doesn’t specify how the system will work). ii. Only its visible external (i.e. input/output) behavior is documented.
Benefits of SRS (Features of SRS) ● It works as an input to the design phase. ● It enhances communication between customer and developer because user requirements are expressed in natural language. ● Developers can get the idea what exactly the customer wants. ● Format of forms and rough screen prints can also be represented in SRS. ● As it is working as an agreement between user and developer, we can get the partial satisfaction of the end user for the final product.
Contents of the SRS document ● An SRS should clearly document the following three things: i.
Functional requirements of the system
ii. Non-functional requirements of the system iii. Constraint (restriction) on the system Characteristics of a good SRS: It should be concise, complete, consistent, structured, conceptual integrity, black box view,verifiable, adaptable, maintainable, portable, unambiguous and traceable. As we have seen, there are three main contents of SRS, but here in practical purpose, we will . concentrate only on ‘Functional requirements’ of the system, and we will ignore the ‘nonfunctional requirements and constraints’. pg. 25
.
FSD (3341603)
Computer Engineering
Example of SRS: operations at ATM Functional requirements (likely) of ATM system Withdraw cash Deposit cash Check balance Link aadhaar card Print mini statement Change pin number Etc. These all are the Functional Requirements for SRS.
Note: SRS is very much important and it should be key point for your project development in designing side, because then after we can draw diagrams like DFD, Use case, Activity etc. For example here we are considering requirement as withdraw cash. R1: withdraw cash Description: this function first determines the type of operation that user wants to d...