Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 10

Tulsiramji Gaikwad-Patil College of Engineering & Technology

Wardha Road, Nagpur-441 108

Department of Master of Computer Application


M.C.A. First Year (I Semester)
1T5: Software Engineering
By
Mr. Roshan Chandekar
Assistant Professor
Master of Computer Application
TGPCET, Nagpur.

1
TGPCET/19-20/4CSA3/U-II
Syllabus

Unit 1 :
Introduction to Software Engineering : The evolving role of software, Changing Nature of 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,
The Unified process. Requirement Engineering :Functional and non-functional requirements, User
requirements, System requirements, Interface specification, the software requirements document.
Unit 2 :
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. Modeling with UML .
Design Engineering : Design process and Design quality, Design concepts, the design model.
Creating an architectural design : Software architecture, Data design, Architectural styles and
patterns, Architectural Design.
Syllabus
Unit 3 :
Object-Oriented Design : Objects and object classes, An Object-Oriented design process, Design evolution.
Performing User interface design : Golden rules, User interface analysis and design, interface analysis, interface
design steps, Design evaluation.
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, Metrics for Analysis Model, Metrics for Design Model, Metrics for source code, Metrics for testing,
Metrics for maintenance.
Unit 4 :
Metrics for Process and Projects :Software Measurement, Metrics for software quality.
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.
Books :
1.Software Engineering, A practitioner’s Approach, Roger S. Pressman, McGrawHill International Edition.
2. Software Engineering,Sommerville, Pearson education.
3. Software Engineering principles and practice,Waman S Jawadekar, McGraw-Hill.
Course Outcome

Course Name: Software Engineering

CO1:To Get detailed knowledge of role of software in daily basis


CO2:Student will be identifying different models and find out the best
CO3:Test the developed software for high performance and maintainability
CO4: Study the software measure parameters for software quality
Course Outcome

Unit 1 :
Introduction to Software Engineering : The evolving role of software, Changing
Nature of 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, The Unified process. Requirement Engineering :Functional and
non-functional requirements, User requirements, System requirements, Interface
specification, the software requirements document.
Introduction to Software Engineering:
The evolving role of software
 software takes on a dual role
 It is a product, and at the same time, the vehicle for delivering a product.
 As a product, it delivers the computing potential embodied by computer
hardware or more broadly, by a network of computers that are accessible by
local hardware.
 As the vehicle used to deliver the product, software acts as the basis for the
control of the computer (operating systems), the communication of
information (networks), and the creation and control of other programs
(software tools and environments).
 Software delivers the most important product of our time— information.
 The role of computer software has undergone signifi cant change over the last
half-century.
Introduction to Software Engineering:
The evolving role of software
 the questions that were
 Asked of the lone programmer are the same questions that are asked when
modern computer-based systems are built:
• Why does it take so long to get software finished?
• Why are development costs so high?
• Why can’t we find all errors before we give the software to our customers?
• Why do we spend so much time and effort maintaining existing programs?
• Why do we continue to have difficulty in measuring progress as software is
being developed and maintained?
Introduction to Software Engineering:
The evolving role of software
 Defining Software :
Software is: (1) instructions (computer programs) that when executed provide
desired features, function, and performance; (2) data structures that enable the
programs to adequately manipulate information, and (3) descriptive information
in both hard copy and virtual forms that describes the operation and use of the
programs.
Introduction to Software Engineering:
The evolving role of software
 Software Application Domains :
1) System software— a collection of programs written to service other programs. Some system
software (e.g., compilers, editors, and fi le management utilities) processes complex, but
determinate, 3 information structures. Other systems applications (e.g., operating system
components, drivers, networking software, telecommunications processors) process largely
indeterminate data.
2) Application software —stand-alone programs that solve a specific business need. Applications in
this area process business or technical data in a way that facilitates business operations or
management/technical decision making.
3) Engineering/scientific software —a broad array of “number-crunching programs that range from
astronomy to volcanology, from automotive stress analysis to orbital dynamics, and from computer-
aided design to molecular biology, from genetic analysis to meteorology.
Introduction to Software Engineering:
The evolving role of software
 Software Application Domains :
4) Embedded software— resides within a product or system and is used to implement and control
features and functions for the end user and for the system itself. Embedded software can perform
limited and esoteric functions (e.g., key pad control for a microwave oven) or provide significant
function and control capability (e.g., digital functions in an automobile such as fuel control, dashboard
displays, and braking systems).
5) Product-line software —designed to provide a specific capability for use by many different
customers. Product-line software can focus on a limited and esoteric marketplace (e.g., inventory
control products) or address mass consumer.
6) Web/Mobile applications —this network-centric software category spans a wide array of
applications and encompasses both browser-based apps and software that resides on mobile devices.
7) Artificial intelligence software— makes use of nonnumerical algorithms to solve complex problems
that are not amenable to computation or straightforward analysis. Applications within this area include
robotics, expert systems, pattern recognition (image and voice), artificial neural networks, theorem
proving, and game playing.

You might also like