software engineering - bietbiet.ac.in/coursecontent/cse/threeone/software... · 2018-09-25 · po4...
TRANSCRIPT
SOFTWARE ENGINEERING Subject Code: CS503PC
Regulations: R16 - JNTUH
Class: III Year B.Tech CSE I Semester
Department of Computer Science and Engineering
BHARAT INSTITUTE OF ENGINEERING AND TECHNOLOGY
Ibrahimpatnam - 501 510, Hyderabad
SOFTWARE ENGINEERING (CS503PC)
COURSE PLANNER I. COURSE OVERVIEW:
Students will gain experience on various processes used in Software industry for the
development of a software product. They also learn about testing and maintenance of
software products.
II. PREREQUISITE:
1. Basic Programming Skills
2. Innovative Thinking.
3. Enthusiasm to learn Management concepts.
III. COURSE OBJECTIVES:
1 To provide the idea of decomposing the given problem into Analysis, Desing,
Implementation, Testing and Maintenance phases.
2 To provide an idea of using various process models in the software industry according to
given circumstances.
3 To gain the knowledge of how Analysis, Design, Implementation, Testing and
Maintenance processes are conducted in a software project.
IV. COURSE OUTCOMES:
S.No Description Bloom’s Taxonomy Level
1 Students will be able to decompose the given project
in various phases of a lifecycle. Knowledge, Understand
(Leve1, Level2)
2 Students will be able to choose appropriate process
model depending on the user requirements. Apply, Create (Level 2)
3 Students will be able perform various life cycle
activities like Analysis, Design, Implementation,
Testing and Maintenance. Evaluate(Level 3)
4 Students will be able to know various processes used
in all the phases of the product. Analyze(Level 3)
5 Students can apply the knowledge, techniques, and
skills in the development of a software product. Apply (Level 3)
V. HOW PROGRAM OUTCOMES ARE ASSESSED:
Program Outcomes (PO) Level Proficiency assessed by
PO1 Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an engineering specialization to the solution of complex engineering problems related to Computer Science and Engineering.
3
Assignments
PO2 Problem analysis: Identify, formulate, review research literature, and analyze complex engineering problems related to Computer Science and Engineering and reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences.
3
Assignments
PO3 Design/development of solutions: Design solutions for complex engineering problems related to Computer Science and Engineering and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural, societal, and environmental considerations.
2
Assignments
PO4 Conduct investigations of complex problems: Use research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
2
Assignments
PO5 Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations.
--
--
PO6 The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the Computer Science and Engineering professional engineering practice.
1
Assignments
PO7 Environment and sustainability: Understand the impact of the Computer Science and Engineering professional engineering solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development.
-
--
PO8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.
- --
PO9 Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in multidisciplinary settings.
3
Case
Studies PO10 Communication: Communicate effectively on complex
engineering activities with the engineering community and with society at large, such as, being able to comprehend and write effective reports and design documentation, make effective presentations, and give and receive clear instructions.
-
--
PO11 Project management and finance: Demonstrate knowledge and understanding of the engineering and management principles and apply these to one’s own work, as a member and leader in a team, to manage projects and in multidisciplinary environments.
3
Case
Studies
PO12 Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-long learning in the broadest context of technological change.
2
Research
1: Slight (Low) 2: Moderate (Medium)
3: Substantial (High)
- : None
VI. HOW PROGRAM SPECIFIC OUTCOMES ARE ASSESSED
Program Specific Outcomes (PSO) Level
Proficiency
assessed by
PSO1 Foundation of mathematical concepts: To use mathematical methodologies to crack problem using suitable mathematical analysis, data structure and suitable algorithm.
3
Lectures, Assignments
PSO2 Foundation of Computer System: The ability to interpret the fundamental concepts and methodology of computer systems. Students can
2
Lectures, Assignments
understand the functionality of hardware and software aspects of computer systems.
PSO3 Foundations of Software development: The ability to grasp the software development lifecycle and methodologies of software systems. Possess competent skills and knowledge of software design process. Familiarity and practical proficiency with a broad area of programming concepts and provide new ideas and innovations towards research.
3
Lectures, Case Studies,
Assignments
1: Slight (Low) 2: Moderate (Medium) 3:
Substantial (High) - : None
VII. SYLLABUS: UNIT- I Introduction to Software Engineering: The evolving role of software, Changing Nature of Software, legacy software, Software myths. A Generic view of process: Software engineering- A layered technology, a process framework, The Capability Maturity Model Integration (CMMI), Process patterns, process assessment, personal and team process models. Process models: The waterfall model, Incremental process models, Evolutionary process models, specialized process models, The Unified process. UNIT- II Software Requirements: Functional and non-functional requirements, User requirements, System requirements, Interface specification, the software requirements document. Requirements engineering process: Feasibility studies, Requirements elicitation and analysis, Requirements validation, Requirements management. System models: Context Models, Behavioral models, Data models, Object models, structured methods. UNIT- III Design Engineering: Design process and Design quality, Design concepts, the design model, pattern based software design. Creating an architectural design: software architecture, Data design, Architectural styles and patterns, Architectural Design, assessing alternative architectural designs, mapping data flow into software architecture. Modeling component-level design: Designing class-based components, conducting component-level design, object constraint language, designing conventional components. Performing User interface design: Golden rules, User interface analysis, and design, interface analysis, interface design steps, Design evaluation. UNIT- IV Testing Strategies: A strategic approach to software testing, test strategies for conventional software, Black-Box and White-Box testing, Validation testing, System testing, the art of Debugging. Product metrics: Software Quality, Frame work for Product metrics, Metrics for Analysis Model, Metrics for Design Model, Metrics for source code, Metrics for testing, Metrics for maintenance. Metrics for Process and Products: Software Measurement, Metrics for software quality. UNIT- V Risk management: Reactive vs Proactive Risk strategies, software risks, Risk identification,
Risk projection, Risk refinement, RMMM, RMMM Plan. Quality Management: Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality Assurance, Software reliability, The ISO 9000 quality standards. TEXT BOOKS:
1. Software engineering A practitioner’s Approach, Roger S Pressman, sixth edition McGraw
Hill International Edition.
2. Software Engineering, Ian Sommerville, seventh edition, Pearson education.
REFERENCE BOOKS:
1. Software Engineering, A Precise Approach, Pankaj Jalote, Wiley India, 2010.
2. Software Engineering: A Primer, Waman S Jawadekar, Tata McGraw-Hill, 2008
3. Fundamentals of Software Engineering, Rajib Mall, PHI, 2005
4. Software Engineering, Principles and Practices, Deepak Jain, Oxford University Press.
5. Software Engineering1: Abstraction and modeling, Diner Bjorner, Springer International
edition, 2006.
6. Software Engineering2: Specification of systems and languages, Diner Bjorner, Springer
International edition 2006.
7. Software Engineering Foundations, Yingxu Wang, Auerbach Publications, 2008.
8. Software Engineering Principles and Practice, Hans Van Vliet, 3rd edition, John Wiley
&Sons Ltd.
9. Software Engineering 3: Domains, Requirements, and Software Design, D. Bjorner,
Springer International Edition.
10. Introduction to Software Engineering, R. J. Leach, CRC Press.
NPTEL Web Course:
1. http://nptel.ac.in/downloads/106105087/
NPTEL Video Course:
http://nptel.ac.in/courses/106101061/
UGC-NET Syllabus
System Development Life Cycle (SDLC): Steps, Water fall model, Prototypes, Spiral
model.
Software Metrics: Software Project Management.
Software Design: System design, detailed design, function oriented design, object oriented
design, user interface design. Design level metrics.
Coding and Testing: Testing level metrics. Software quality and reliability. Clean room
approach, software-engineering.
VIII. COURSE PLAN (WEEK-WISE):
Ses
sion
Wee
k
Un
it
Top
ics
Cou
rse
Lea
rnin
g
ou
tcom
es
Ref
eren
ce
s
1
1 1
Introduction: The evolving role of software
Basics of
Software
Engineering
T1,
R1
2 Changing Nature of Software , legacy software To Know the
nature of software
T1,
R1
3 Software Myths
Various myths
related to
software
T1,
R1
4 A Generic view of process: Software engineering- A layered technology.
To know what a
process is?
T1,
R1
5 A process framework, The Capability Maturity
Model Integration (CMMI)
A Model used in
Industry CMMI
and its levels
from 1 to 5
T1,
R1
6 2 Process patterns, process assessment Assessment of T1,
process R1
7 Personal and team process models
T1,
R1
8 Process models: The waterfall model, Incremental process models.
To know which
model is suited
according to the
user
specifications
T1,
R1
9 Evolutionary Process Models
T1,
R1
1
0 Specialized Process Models, The Unified Process
T1,
R1
1
1
3
2
Software Requirements: Functional and Non-Functional Requirements, User Requirements,
To understand the
types of
requirements and
how to prepare
different types of
requirements for
a software
project.
T1,
T2,R
1
1
2 System Requirements, Interface Specification
T1,
T2,R
1
1
3
Software Requirements Document.
T1,
T2,R
1
1
4
Requirements engineering process: Feasibility Studies.
T1,
T2,R
1
1
5 Requirements Elicitation and Analysis
To understand the
process of taking
the correct
requirements into
the project and
various models
used for
representing the
requirements
T1,
T2,R
1
1
6
4
Requirements validation, Requirements Management
T1,
T2,R
1
1
7 System models: Context Models,
T1,
T2,R
1
1
8 Behavioral models, Data models
T1,
T2,R
1
1
9 Object Models.
T1,
T2,R
1
2
0 Structured Methods
T1,
T2,R
1
2
1 MOCK TEST - I
Ses
sion
Wee
k
Un
it
Top
ics
Cou
rse
Lea
rnin
g
ou
tcom
es
Ref
eren
ces
2
2
5
3
Design Engineering: Design process and Design quality.
To know the concepts of
designing a project and
what are the models used
for designing
T1,
T2,R1
2
3 Design Concepts, the Design Model
T1,
T2,R1
2
4 Pattern Based Software Design
To understand the concepts
of architecture design
T1,
T2,R1
2
5
Creating an architectural design: software
architecture, Data design, ,
T1,
T2,R1
2
6
Architectural styles and patterns,
Architectural Design
T1,
T2,R1
2
7
6
Assessing alternative Architectural Designs,
mapping data flow into Software
Architecture
T1,
T2,R1
2
8 MID EXAMINATION - I
2
8 Modeling component-level design: Designing class-based Components.
To understand the places or
parts of the project where
design is to be conducted
and the types of designs.
T1,
T2,R1
2
9
Conducting Component-level Design,
Object Constraint Language
T1,
T2,R1
3
0 Designing Conventional Components.
T1,
T2,R1
3
1 Performing User interface design: Golden rules, User interface analysis, and design
T1,
T2,R1
3
2
7
3 Interface Analysis, Interface Design Steps T1,
T2,R1
3
3
4
Design Evaluation. T1,
T2,R1
3
4
Testing Strategies: A strategic approach to software testing, test strategies for conventional software. To know the importance of
testing and to understand
the importance of testing.
T1,
T2,R1
3
5 Black-Box and White-Box testing
T1,
T2,R1
3
6
Validation testing, System testing, the art of
Debugging
T1,
T2,R1
3
7
8
Product metrics: Software Quality, Frame work for Product metrics.
To understand various
testing procedures and
measurements used for
testing the productivity of a
software project
T1,
T2,R1
3
8
Metrics for Analysis Model, Metrics for
Design Model
T1,
T2,R1
3
9
Metrics for source code, Metrics for testing, Metrics for maintenance.
T1,
T2,R1
4
0
Metrics for Process and Products:
Software Measurement
T1,
R10
4
1 Metrics for software quality
T1,
T2,R1
4
2 MOCK TEST - II
Ses
sion
Wee
k
Un
it
Top
ics
Cou
rse
Lea
rni
ng
ou
tco
mes
Ref
eren
ce
s
41
9
5
Risk management: Reactive
vs Proactive Risk strategies. To know how to identify and
overcome the risks in a software
project. To understand the reasons
for occurrence of various risks.
T1, T2,R1
42 Software Risks, Risk
identification, T1, T2,R1
43 Risk projection, Risk
refinement T1, T2,R1
44 RMMM, RMMM Plan T1, T2,R1
45 Quality Management: Quality
concepts, Software quality assurance.
To understand the importance of
quality in a software project. To
know the various steps to be taken
to improve the software quality.
T1, T2,R1
46
1
0
Software Reviews, Formal
Technical Reviews T1, T2,R1
47
Statistical Software quality
Assurance, Software
reliability,
T1, T2,R1
48 The ISO 9000 quality standards.
T1, T2,R1
49 T1,T2, R11
50 MID EXAMINATION - II
IX. MAPPING COURSE OUTCOMES LEADING TO THE ACHIEVEMENT OF
PROGRAM OUTCOMES AND PROGRAM SPECIFIC OUTCOMES:
X. QUESTION BANK (JNTUH)
UNIT I
Program Outcomes Program Specific
Outcomes
PO
1
PO
2
PO
3
PO
4
PO
5
PO
6
PO
7
PO
8
PO
9
PO1
0
PO1
1
PO1
2
PSO
1
PS
O
2
PS
O3
CO
1 - - 2 - - - - - - - - - 1 - -
CO
2 2 2 - - - - - - - - - - 1 2 -
CO
3 2 - 1 - 3 - - 1 - - - - 2 - -
CO
4 2 2 - 2 - 1 - 1 - - 3 3 - - -
CO
5 1 2 - - - - - - - - - 3 1 - -
AV
G 1.4 1.2 0.6 0.4 0.6 0.2 - 0.4 - - - 0.9 1 0.4 -
Long Answer Questions-
S.No Question Blooms Taxonomy Level Course Outcome
1 List various Software Myths Understand 1
2 Define CMMI Knowledge 1
3 Discuss about Waterfall Model Understand 2
4 Discuss about Spiral Model Understand 2
5 Discuss about Unified Process Model Understand 2
Short Answer Questions-
S.N
o Question
Blooms Taxonomy
Level
Course
Outcome
1 Define Software Engineering Understand 1
2 Discuss Management Myths Understand 1
3 Discuss Practitioners Myths Understand 2
4 Discuss Customer Myths Understand 2
5 Analyze the changing nature of
software Knowledge 3
UNIT II
Long Answer Questions-
S.
N Question
Blooms Taxonomy
Level
Course
Outcome
1 Discuss about Functional and Non Functional
Requirements. Understand 2
2 Distinguish Functional and Non Functional
Requirements. Apply 5
3 Discuss about SRS Document. Analyze 4
4 Discuss about Requirements Elicitation Understand 3
5 Discuss about Requirements Analysis Understand 3
Short Answer Questions-
S.N
o Question
Blooms Taxonomy
Level
Course
Outcome
1 Discuss Functional requirements Understand 2
2 Discuss Non Functional requirements Understand 2
3 Explain about Requirements Gathering. Understand 2
4 Explain about Requirements Analysis Understand 1
5 Explain about Requirements
Management.
Understand 2
UNIT III
Long Answer Questions-
S.N
o Question
Blooms Taxonomy
Level
Course
Outcome
1 Discuss about Design Process and Design
Quality Understand 3
2 Define a design Model with all the
specifications
Understand 3
3 Define Software Architecture Understand 4
4 Discuss Architectural Design Process in Understand 3
detail
5 Discuss about Component Level Design in
detail
Understand 3
Short Answer Questions-
S.N
o Question
Blooms Taxonomy
Level
Course
Outcome
1 Discuss about Design Process Understand 3
2 Discuss about Design Quality Understand 3
3 Define a Design Model Understand 2
4 Discuss Design Steps Understand 2
5 Discuss about Component Level
Design Understand 2
UNIT IV
Long Answer Questions-
S.N
o Question
Blooms Taxonomy
Level
Course
Outcome
1 Discuss the Need for Software Testing Apply 3
2 Discuss about Black-Box Testing Understand 1
3 Discuss about White-Box Testing Understand 1
4 Discuss the process of Debugging Apply 2
5 Discuss the framework for Product
Metrics
Apply 2
Short Answer Questions-
S.
N Question
Blooms Taxonomy
Level
Course
Outcome
1 Define Validation Testing and when it will be
performed. Analyze 3
2 Define System Testing Apply 3
3 Define Debugging Understand 4
4 Define Software Quality Understand 3
5 Define White-box Testing Understand 2
UNIT V
Long Answer Questions-
S.No Question Blooms Taxonomy
Level
Course
Outcome
1 Discuss about Risk Identification Process Understand 4
2 Discuss the Risk Projection Process Knowledge 3
3 Discuss about RMMM Plan Understand 4
4 Define various methods in Software
Quality Assurance Process Understand 3
5 Define Software Reliability Analyze 3
Short Answer Questions-
S.No Question Blooms Taxonomy
Level
Course
Outcome
1 Discuss about Software Reviews Analyze 4
2 Discuss about ISO 9000 Quality Standards Understand 2
3 Define about Software Quality Assurance Understand 2
4 Discuss about RMMM Understand 2
5 Define the Risk Projection Process Analyze 3
OBJECTIVE QUESTIONS:
UNIT I
1. In analysis phase the customer will analyze about
a) organization
b) skills of the employee in the organization
c) whether the organization can handle the project or not
d) all of the above
Answer : d
2. Waterfall model is also called as
a) Traditional Model
b) Classic Life Cycle Model
c) Linear Sequential Model
d) all of the above
3. In Waterfall model testing comes at
a) Starting of the project
b) middle of the project
c) final stage of the project
d) in the middle of the project
Answer : c
4.Prototype is the process of implementing
a)the copy of the original product
b) original product
c) can be both a and b
d) none of the above
Answer: a
5.The fastest model among the following is
a) Waterfall Model
b) Spiral Model
c) RAD Model
d) Prototyping Model
Answer: c
6) The framework activities can also be treated as
a) processes
b) Tasks
c) models
d) things
Answer: b
7) By using which model the customer can be happy
a) Waterfall model
b) Unified model
c) prototyping model
d) all of the above
Answer: c
8) The customer requirements continuously changes. This statement is
a) True
b) False
c) Cannot be determined
d) None of the above
Answer: a
9) How many phases are there in a software project?
a) 2
b) 5
c) 3
d) 4
Answer: b
10) Which of the following are iterative models?
a) Spiral model
b) RAD Model
c) Prototype model
d) all of the above
Answer:d
UNIT II
1.Adding comfort to the end user in a project is an example of
a) functional requirement
b) non functional requirement
c) customer requirement
d) business requirement
Answer : b
2.Requirements elicitation is nothing but
a) Requirements gathering
b) requirements analysis
c) requirements specification
d) requirements validation
Answer: a
3.The requirements will be gathered from
a) customer
b) end user
c) can be both a and b
d) none of the above
Answer: c
4.Which of the following is an example of fact finding technique
a) Interviewing
b) questionnaires
c) view point
d) all of the above
Answer: d
5. A View point may differ from person to person. This statement is
a) True
b) False
c) Cannot be determined
d) None of the above
Answer: a
6.A contract between customer an organization I s an example for
a) User requirements
b) business requirements
c) Functional requirements
d) Non functional requirements
Answer: b
7.Requirements validation is a
a) defect detection process
b ) defect removal process
c) both a and b
d) none of the above
Answer: c
8. Requirements elicitation is a
a) discovery process
b) defect detection process
c ) defect removal process
d) none of the above
Answer: a
9.Structured analysis can also be called as
a) process modeling
b) data flow modeling
c) both a and b
d) none of the above
Answer: c
10.Structure Analysis uses
a) Data Flow diagrams
b) process flow diagrams
c) E-R Diagrams
d) all of the above
answer: a
UNIT III
1.Coupling and cohesion are examples of
a) modular design
b) functional design
c) information hiding
8.Initial failure costs are
a) high
b) low
c) moderate
d) can’t be determined
Answer: b
9. Quality costs include costs for Training. This statement is
a) true
b) false
c) cannot be determined
Answer: a
10.Quality Assurance and Quality control and
a) verification process
b) validation process
c) both verification and validation processes
d) none of the above
Answer: c
XII. WEBSITES:
https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x
https://www.edx.org/micromasters/software-development
https://www.edx.org/course/software-engineering-essentials
XIV. EXPERT DETAILS: NA
XV. JOURNALS:
INTERNATIONAL
1. International Journal of Software Engineering(IJSE)
2. International Journal of Software Engineering Technologies(IJSET)
NATIONAL
1. Journal of Software Engineering and Applications
2. Journal of Software Engineering Research and Development
XVI. LIST OF TOPICS FOR STUDENT SEMINARS:
1. Various Process Models
2. Types of Requirements
3. Coupling and Cohesion in Design Process
4. Black-Box and White-Box Testing
5. Software Quality Activities
XVII. CASE STUDIES / SMALL PROJECTS:
1. Preparing SRS Document for E-Billing System, College Management System
2. Developing prototype by using any language for Employee Management System