SEMESTER-III
Subject Code
|
J030217
|
Title
|
Software Engineering
|
Work Load Per Week
|
L:3 T: 1 Lab:1
|
Examinations
|
Int: 30 Univ: 70
|
Objectives
|
To introduce the methodologies involved in the development and maintenance of software over its entire life cycle.
|
Learning Outcomes
|
At the end of this course, student should be able to
-
Understand life cycle models, Requirement elicitation techniques, understand the concept of Analysis and Design of software.
-
Implement software engineering concepts in software development to develop quality software which can work on any real machine.
|
Pre-requisites
|
Basic Knowledge of computer
|
Text Book(s)
|
SOFTWARE ENGINEERING A PRACTITIONERS APPROACH fourth edition BY Roger S. Pressman McGraw Hill International Edition
|
Syllabus
|
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
1
|
Introduction to Software Engineering
|
Software, software characteristics, software types, software components
|
Hand out
|
2
|
|
Definition of Software engineering, importance, principles of software engineering: (Separation of concerns, Modularity, Abstraction Anticipation of change, Generality, Incrementability, Consistency)
|
Hand out
|
3
|
|
Difference between software engineering and software programming, Members involved in software development
|
Hand out
|
4
|
|
Software engineering a layered technology, process method and tools, generic view
|
22 - 26
|
5
|
Software process
|
General software development life cycle (all the phases of the life cycle is covered in detail)
|
Hand out
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
6
|
|
Waterfall model with advantages and disadvantages, Prototyping model with advantages and disadvantages
|
28 - 34
|
7
|
|
Spiral model, advantages and disadvantages, Rapid application development model with advantages and disadvantages, Incremental model
|
34 – 42
|
8
|
Feasibility study
|
Need of Feasibility study, types of Feasibility study, steps in feasibility study
|
Hand out
|
9
|
|
Why Cost Benefit analysis? Importance of cost Benefit analysis, Cost Benefit analysis process
|
Hand out
|
10
|
Requirement Engineering
|
What is Requirement Engineering, Types of requirements
|
Hand out
|
11
|
|
Requirement elicitation techniques– Traditional methods: Review of documents, on site observation, Interview and questionnaires
|
Hand out
|
12
|
|
Requirement elicitation techniques– Modern methods: Prototyping, workshop, Brainstorming, JAD, Videoconferencing, Use case etc.
|
Hand out
|
13
|
|
Requirement analysis Process
|
Hand out
|
14
|
|
Need of Requirement verification and validations, Verification and validation process, Verification and validation document outline
|
Hand out
|
15
|
|
Principles of Requirement Specification, Software Requirement Specification document Outline
|
Hand out
|
16
|
|
Characteristics of good SRS: correct, complete, unambiguous, consistent, modifiable, traceable, Understandable
|
Hand out
|
17
|
Software Inspection
|
Need of the Review , types of software reviews
|
Hand out
|
18
|
|
Members involved in inspection team, check list
|
Hand out
|
19
|
|
Detailed Inspection process
|
Hand out
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
20
|
Analysis concept and modeling
|
Analysis principles : Information domain, modeling, partitioning, essential and implementation views
|
278 - 285
|
21
|
|
Data Modeling: Data objects, attributes, relationships, Cardinality, Modality
|
301 - 309
|
22
|
|
Entity relationship diagramming Mechanism
|
Hand out
|
23
|
|
Functional Modeling: Importance, tools for functional modeling
|
309 – 312, Hand out
|
24
|
|
Data flow diagramming Mechanism
|
Hand out
|
25
|
|
Behavioral Modeling
|
316 - 320
|
26
|
|
Data Dictionary: Importance of Data Dictionary, Preparation of data dictionary.
|
330 – 334 Hand out
|
27
|
Design concept and Methods
|
Software Design and software Engineering, Design process and principles
|
341 - 346
|
28
|
|
Design concepts: Abstraction, Refinement, Modularity, Architecture, control hierarchy, structural partitioning, Data structure, procedure and data hiding
|
346 - 356
|
29
|
|
Modular design: Functional independence, Cohesion and coupling
|
357 - 361
|
30
|
|
Data Design : principles of Data Specification, database design
|
371 - 373
|
31
|
|
Architectural design: contributors, area of application, Process: Transform flow and transaction flow
|
373 - 377
|
32
|
User Interface design
|
User Interface design : Elements of good design, design issues, Features of modern GUI, Guidelines for interface design
|
393 – 395
403 - 406
Hand out
|
33
|
|
Procedural design: structured programming, Program design language
|
406 -412
|
34
|
|
Decision tree and decision table
|
Hand out
|
|
|
Report Design
|
|
35
|
Software quality assurance
|
Quality concept: (quality, quality control, quality assurance, cost of quality), SQA issues and activities
|
180 - 184
|
36
|
|
Formal Technical review : Review meeting, review reporting and review guidelines
|
190 -194
|
37
|
|
Definition and classifications of software Defects, SQA plan
|
Hand out
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
38
|
|
Software quality standards: ISO and CMM standards
|
202 – 204
Hand out
|
39
|
Software configuration management
|
What is configuration management, Baseline, Software configuration items
|
210 - 214
|
40
|
|
SCM process, identification of objects, Version control
|
214 – 220
|
41
|
|
Change control, configuration audits and status reporting
|
220 - 224
|
42
|
Software reuse
|
Management issues: Roadblocks to reuse, hardware analogy, suggestions reuse process: Reusable Artifacts, Process model
|
729 - 735
|
43
|
|
Domain engineering: Domain analysis process, Characterization functions, structure modeling and points
|
735 - 740
|
44
|
|
Building reusable components: analysis and design of reuse, construction methods, and component based development.
Economics of software reuse: impact on quality, productivity and cost, reuse metrics.
|
740 – 743,
747 - 751
|
45
|
Reengineering
|
Business process Reengineering: Business process, Principles and BPR model.
|
757 -762
|
46
|
|
Software reengineering: Software Maintenance, Software reengineering process model
|
762 - 767
|
47
|
|
Reverse engineering: to understand processing and data, Reverse engineering user interfaces
|
767 - 773
|
48
|
|
Restructuring: Code and Data restructuring
forward engineering: forward engineering for client server architecture, forward engineering user interfaces
|
773 - 778
|
49
|
Computer Aided software engineering
|
What is CASE? Importance of CASE tools, future of CASE tools
|
Hand out
|
50
|
|
Tools for information engineering, Project planning tools, risk analysis tools, Project management and testing tools.
|
808 - 813
|
51
|
|
Tools for Quality assurance, configuration management, Analysis and design, Database management, Interface design and programming tools.
|
808 - 813
|
Subject Code
|
J030218
|
Title
|
Linux Programming
|
Work Load Per Week
|
L:3 T: 1 Lab:4
|
Examinations
|
Int : 30 Univ: 70 Practical : 50
|
Objectives
|
This course is designed to teach the Unix and Linux operating systems Environments. Emphasis will be on using the command line ,utility commands, working with files and directories, using the shell and creating and reading simple shell scripts. Students will write & Execute C programs in Linux Environment. It also covers GNOME, Perl and Internet Programming
|
Learning Outcomes
|
The student will:
1. Continue to use and expand the usage of commands and skills related to LINUX Environment
2. Develop in-depth, working knowledge of the LINUX operating systems.
3. Explain and be able to use shell scripting techniques.
4. Organize data on a computer system using files, subdirectories, and directories.
5. Use the LINUX, C/C++ programming capabilities of the LINUX operating system.
6. Knowledge of GNOME, Perl and Internet Programming
|
Text Book(s)
| -
UNIX- Concepts and Application– by Sumitabha Das.
-
Beginning Linux Programming – by Richard Stones & Neil Matthew
|
Lecture
Number
|
Topic Details
|
References
|
01
|
Introduction :- Operating System, Various Definitions Operating systems, Evolution of O.S.
|
A P 4 and
Handouts
|
02
|
Types of Operating System, Characteristics of O.S. and Functions
|
Handouts
|
03
|
Structure of DOS and Linux Operating System
|
Handouts
|
04
|
KDE, Gnome and Text Based Environments
|
Handouts
|
05
|
Features of Unix / Linux Operating System, Installing Linux
|
A P 25
|
06
|
Understanding the major Linux distributions.
Open Source licensing – GPL and others
|
A P 17
|
07
|
Understanding Open Source., Background and history of Linux
|
Handouts
|
Share with your friends: |