software engineering - bietbiet.ac.in/coursecontent/cse/threeone/software... · 2018-09-25 · po4...

14
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

Upload: others

Post on 28-Jan-2020

2 views

Category:

Documents


0 download

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