0% found this document useful (0 votes)
38 views2 pages

SVCE Software Engineering Syllabus 2025

The document outlines the course structure for Software Engineering at SRI Venkateswara College of Engineering, detailing objectives, units, and outcomes. Key topics include software life cycle models, requirements analysis, software design, coding and testing practices, and software quality management. The course aims to equip students with essential skills in software development and project management.

Uploaded by

srinusirisala
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views2 pages

SVCE Software Engineering Syllabus 2025

The document outlines the course structure for Software Engineering at SRI Venkateswara College of Engineering, detailing objectives, units, and outcomes. Key topics include software life cycle models, requirements analysis, software design, coding and testing practices, and software quality management. The course aims to equip students with essential skills in software development and project management.

Uploaded by

srinusirisala
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SRI VENKATESWARA COLLEGE OF ENGINEERING

(AUTONOMOUS)
B. Tech III Sem. L T P C
3 0 0 3
(CS20APC305) SOFTWARE ENGINEERING (CSE)
Course Objectives:
• To learn the basic concepts of software engineering and life cycle models
• To explore the issues in software requirements specification and enable to write SRSdocuments for software
development problems
• To elucidate the basic concepts of software design and enable to carry out procedural and object
oriented design of software development problems
• To understand the basic concepts of black box and white box software testing and enable
• To design test cases for unit, integration, and system testing
• To reveal the basic concepts in software project management

Unit – I: Basic concepts in software engineering and software project management


Basic concepts: abstraction versus decomposition, evolution of software engineering techniques, Software
development life cycle (SDLC) models: Iterative waterfall model, Prototype model, Evolutionary model, Spiral
model, RAD model, Agile models, software project management: project planning, project estimation,
COCOMO, Halstead’s Software Science, project scheduling, staffing, Organization and team structure, risk
management, configuration
management.

Unit Outcomes: Student should be able to


1. Recognize the basic issues in commercial software development.
2. Summarize software lifecycle models.
3. Infer Workout project cost estimates using COCOMO and schedules using PERT and GANTT charts.

Unit – II: Requirements analysis and specification The nature of software, The Unique nature of Webapps,
Software Myths, Requirements gathering and analysis, software requirements specification, Traceability,
Characteristics of a Good SRS Document, IEEE 830 guidelines, representing complex requirements using
decision tables and decision trees, overview of formal system development techniques. axiomatic specification,
algebraic specification.

Unit Outcomes: Student should be able to


1. Identify basic issues in software requirements analysis and specification.
2. Develop SRS document for sample problems using IEEE 830 format.
3. Develop algebraic and axiomatic specifications for simple problems.

Unit – III : Software Design


Good Software Design, Cohesion and coupling, Control Hierarchy: Layering, Control Abstraction, Depth and
width, Fan-out, Fan-in, Software design approaches, object oriented vs. function oriented design. Overview
of SA/SD methodology, structured analysis, Data flow diagram, Extending DFD technique to real life systems,
Basic Object oriented concepts, UML Diagrams, Structured design, Detailed design, Design review, Characteristics
of a good user
interface, User Guidance and Online Help, Mode-based Vs Mode-less Interface, Types of user interfaces,
Component-based GUI development, User interface design methodology: GUI design methodology.

Unit Outcomes Student should be able to


1. Identify the basic issues in software design.
2. Apply the structured, object oriented analysis and design (SA/SD) technique.
3. Recognize the basic issues in user interface design.

Unit – IV : Coding and Testing Coding standards and guidelines, code review, software documentation,
Testing, Black
Box Testing, White Box Testing, debugging, integration testing, Program Analysis Tools, system testing,
performance testing, regression testing, Testing Object Oriented Programs.

Unit Outcomes: Student should be able to


1. Identify the basic issues in coding practice.
2. Recognize the basic issues in software testing.
3. Design test cases for black box and white box testing.

Unit – V: Software quality, reliability, and other issues Software reliability, Statistical testing, Software
quality and management, ISO 9000, SEI capability maturity model (CMM), Personal software process (PSP), Six
sigma, Software quality metrics, CASE and its scope, CASE environment, CASE support in software life cycle,
Characteristics of software maintenance, Software reverse engineering, Software maintenance processes
model, Estimation maintenance cost. Basic issues in any reuse program, Reuse approach, Reuse at
organization level.

Unit Outcomes:
Student should be able to
1. Summarize various methods of software quality management.
2. Instruct the quality management standards ISO 9001, SEI CMM, PSP, and Six Sigma.
3. Outline software quality assurance, quality measures, and quality control.
4. Identify the basic issues in software maintenance, CASE support, and software reuse.

Course Outcomes:

Student should be able to


• Obtain basic software life cycle activity skills(L1). •Design software requirements specification for given
problems.(L4)
• Implement structure, object oriented analysis and design for given problems.(L5)
• Design test cases for given problems.(L4)
• Apply quality management concepts at the application level.(L3)

Text Book:
1. Rajib Mall, “Fundamentals of Software Engineering”, 5th Edition, PHI, 2018.
2. Pressman R, “Software Engineering- Practioner Approach”, McGraw Hill.

Reference Books:
1. Somerville, “Software Engineering”, Pearson 2.
2. Richard Fairley, “Software Engineering Concepts”, Tata McGraw Hill.
3. Jalote Pankaj, “An integrated approach to Software Engineering”, Narosa

Common questions

Powered by AI

The IEEE 830 guidelines provide a structured framework for developing a Software Requirements Specification (SRS). These guidelines emphasize organizing requirements in a coherent, complete, and unambiguous manner to facilitate clear communication among stakeholders . They ensure that all functional and non-functional requirements are documented systematically, which is crucial for the subsequent design and implementation phases. This standardization helps minimize misunderstandings and errors, thus contributing to the project’s success .

Configuration management is significant in software project management as it helps control the changes to software products, ensuring consistency and traceability throughout the life cycle . Key activities involved include configuration identification, configuration control, configuration status accounting, and configuration audits. Through these activities, it ensures that changes are systematically documented, evaluated, and implemented, reducing the risk of errors and project delays . Proper configuration management also facilitates collaborative work by maintaining a single source of truth for configurations across teams.

The ISO 9000 framework influences software quality management by providing a standardized approach to quality assurance, focusing on meeting customer needs and enhancing satisfaction . It ensures that organizations have robust processes in place for continual quality improvement and that quality metrics are well-defined and adhered to. However, its limitations include the potential for overemphasis on documentation and procedures rather than actual product quality, and the possibility that it may not be flexible enough to accommodate rapid technological changes in agile environments .

Cohesion and coupling significantly impact the quality of software design. High cohesion within a module means its components are functionally related, leading to more understandable and maintainable code. In contrast, low coupling indicates minimal dependencies between modules, making the system more modular and thus easier to modify or expand . A software design with high cohesion and low coupling enhances maintainability and reduces the chances of bugs caused by module interactions. It also allows for more effective use of design patterns and refactoring techniques .

Characteristics of a good user interface include simplicity, consistency, feedback, error prevention and handling, and aesthetic appeal . These characteristics enhance user experience by making the interface intuitive and easy to navigate, ensuring users can complete tasks efficiently without confusion. Consistency in design elements across the interface aids in learning, while immediate feedback keeps users informed about the results of their actions. Additionally, effective error prevention and aesthetic quality contribute to a more satisfying and error-free user interaction .

Black box testing involves evaluating the functionality of software against its specifications without considering the internal code structure, focusing mainly on input-output validation . White box testing, on the other hand, requires the tester to understand the code structure, enabling the exploration of paths and logic conditions within the code . They complement each other by providing a thorough testing coverage, ensuring both the correctness of outputs (black box) and the validity of code paths (white box). This comprehensive approach mitigates issues related to both functionality and performance .

Software reverse engineering aids in software maintenance by reconstructing the program's design and specifications from the code, especially when the original documentation is missing or outdated . It helps in understanding legacy systems for which documentation has eroded over time. The challenges include the complexity of understanding undocumented or poorly documented code, potential legal implications, and high costs associated with the process . Nevertheless, it remains a critical tool for maintaining and modernizing legacy software systems.

The Spiral model incorporates risk management by explicitly identifying risks at each phase of the development process and addressing them through iterative refinement. Each cycle of the Spiral model involves planning, risk analysis, engineering, and evaluation, with decisions being driven by risk considerations . Conversely, the Prototype model focuses on building a working version of the product quickly to clarify requirements and provide a basis for feedback; it does not explicitly address risks, making it less effective for projects with high-risk factors .

The Personal Software Process (PSP) improves individual productivity by encouraging developers to track their time and defects, analyze their performance, and continuously refine their processes . By focusing on personal data and feedback, PSP empowers developers to identify and eliminate inefficiencies in their work, thus enhancing productivity and quality. It also helps in instilling discipline and a better understanding of quality metrics, leading to improved planning and execution of tasks .

Different software life cycle models provide varied approaches to project planning and risk management. The Iterative Waterfall model allows revisiting earlier stages, thus accommodating changes and managing risks better than the traditional Waterfall model . The Spiral model explicitly incorporates risk assessment at each iteration, making it robust for projects with high uncertainty . Agile models promote adaptive planning through iterations, allowing for continuous stakeholder feedback which helps in identifying and mitigating risks early . Therefore, choosing the appropriate model depends on the specific challenges and risk levels of a project.

You might also like