0% found this document useful (0 votes)
37 views4 pages

Software Engineering & Project Management

The document outlines a course on Software Engineering and Project Management, detailing its objectives and outcomes, which include understanding software processes, coding practices, and project management concepts. It covers various units such as software life cycle models, requirement analysis, software design, testing strategies, and project management techniques. Additionally, it includes a laboratory component aimed at providing hands-on experience in software project development and documentation.

Uploaded by

b v
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)
37 views4 pages

Software Engineering & Project Management

The document outlines a course on Software Engineering and Project Management, detailing its objectives and outcomes, which include understanding software processes, coding practices, and project management concepts. It covers various units such as software life cycle models, requirement analysis, software design, testing strategies, and project management techniques. Additionally, it includes a laboratory component aimed at providing hands-on experience in software project development and documentation.

Uploaded by

b v
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

Subject: Software Engineering & Project Management (Theory)

COURSE OBJECTIVE:
 To introduce software project and to understand about the different software processes &
To introduce ethical and professional issues and to explain why they are concern to
software engineers
 Understanding good coding practices, including documentation, contracts, regression
tests and daily builds.
 Their uses. To understand how Software engineering & Project Management is
concerned with theories, methods and tools for professional software development.

COURSE OUTCOME: After completion of this course, the students would be able to

CO1-Select and implement different software development process models.


CO2-Extracting and analyzing software requirements specifications for different
projects.
CO3-Developing some basic level of software architecture/design.
CO4-Analyzing software risks and risk management strategies, applying different testing
and debugging techniques and analyzing their effectiveness.
CO5-Defining the concepts of software quality and reliability on the basis of
International quality standards, defining the basic concepts and importance of Software
project management concepts like cost estimation, scheduling and reviewing the
progress.
UNIT I Introduction to Software Engineering: Evolution and impact of Software engineering,
software life cycle models: Waterfall, prototyping, Evolutionary, and Spiral models. Feasibility
study, Functional and Non-functional requirements, Requirements gathering, Requirements
analysis and specification. [CO1] [7 Hours]
UNIT II : Software Requirement Analysis and Specification : Types of Requirement,
Feasibility Study, Requirement Analysis and Design: DFD, Data Dictionary, HIPO Chart,
Warnier Orr Diagram, Requirement Elicitation: Interviews, Questionnaire, Brainstorming,
Facilitated Application Specification Technique (FAST), Use Case Approach. SRS Case study,
Software Estimation: Size Estimation: Function Point (Numericals). Cost Estimation: COCOMO
(Numericals), COCOMO-II (Numericals). Earned Value Management. [CO2] [8 Hours]
UNIT III : Software Design :Basic issues in software design, modularity, cohesion, coupling
and layering,function-oriented software design: DFD and Structure chart, object modeling using
UML,Object-oriented software development, user interface design. Coding standards and Code
review techniques. . [CO3] [7 Hours]
UNIT IV : Testing Strategies: Fundamentals of testing, White-box, and black-box testing, Test
coverage analysis and test case design techniques, mutation testing, Static and dynamic analysis,
Software reliability metrics, reliability growth modeling. Software Risk management:
ReactivevsProactive Risk strategies, software risks, Risk identification, Risk projection.
. [CO4] [7 Hours]
UNIT V : Software project Management:Project planning and control, cost estimation,project
scheduling using PERT and GANTT charts, cost-time relations: Rayleigh-Norden results, quality
management, ISO and SEI CMMI, PSP and Six Sigma. Computer aided software engineering,
software maintenance, software reuse, Component-based software development.
[CO5] [7 Hours]

Text Books:
1. Software Engineering: A practitioner’s Approach, Roger S Pressman, sixth edition.
McGrawHill International Edition, 20052.
2. Software Engineering, Ian Sommerville, seventh edition, Pearson education,2004

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,
Subject: Software Engineering & Project Management (Laboratory)

Course Objectives: The goal of this course is to teach and provide experience building software
projects in service to real-time end-user beneficiaries. The laboratory is pursued in the following
sequence of stages with due coordination with co-projectees in teams (of 3–4 students) and
supervision of laboratory instructor upon which the project is graded accordingly:

INSTRUCTIONS TO BE STRICTLY FOLLOWED BY STUDENTS


1) A group of two to three students should develop software that could be developed during
session.
2) Technology/Tool like (C/C++/VB/Gambas/PhP/Core Java/Servlet/ JSP …. Any other relevant
tool) can be selected for Developingtheirproject
3) Phase wise documentation
 Writing the complete problem statement.
 Writing the Software Requirement Specification document.
 Drawing the entity relationship diagram.
 Drawing the data flow diagrams at level 0 and level 1. of the project
should be submitted (soft and hard copy).
4) All group members must have a copy of the documentation, which are to be checked by
faculty Lab Incharge, phase wise.
5) Before the Final Practical examinations, every individual student should submit his own
hardcopy of the documentationinaPunchedCardboard File Only, with a CD containing the
softcopy of the same.
6) During Final Submissions, every copy of the documentation should be accompanied by a
Submission Certificate duly signed bytheTeacherIn-charge and Head of Departmen

Laboratory Outcomes [After undergoing the course, students will be able to:]
1. Define various software application domains and remember different process model used in
software development.
2. Explain needs for software specifications also they can classify different types of software
requirements and their gathering techniques.
3. Convert the requirements model into the design model and demonstrate use of software and
user-interface design principles.
4. Justify the role of SDLC in Software Project Development and evaluate importance of
Software Engineering.
5. Generate project schedules, deliverables and construct, design and develop network diagram
for different type of projects; also practising the activities of each phase.

Recommended Books:
1. Fundamentals of Software engineering - Rajib Mall.
2. Software design – From programming to architecture - Eric Braude

Common questions

Powered by AI

ISO and SEI CMMI standards significantly impact software quality management by providing structured frameworks to assess and improve processes. In large organizations, these standards facilitate consistent quality across diverse projects, ensuring that best practices are followed. They promote continuous process improvement and provide benchmarks for measuring quality levels. However, implementing these standards can involve high costs and require significant time investment, posing challenges for organizations with limited resources .

UML (Unified Modeling Language) supports Object-Oriented software design by providing standardized notation to visualize, specify, and document object-oriented systems. It assists in capturing and communicating the system's architecture and behavior effectively. However, UML can be complex and might lead to unnecessary overhead if used extensively for small projects or by teams lacking UML proficiency, potentially diverting resources from core development activities .

Function Point analysis helps in estimating the size of software by quantifying its functionality. It measures the output based on user-facing aspects rather than lines of code, making it useful for comparing productivity between different projects and technologies. However, challenges include the subjective nature of assessing function points, which can lead to inconsistent sizing, and the requirement of expert judgment to accurately classify and assess functional components .

Effectively managing software risks involves several strategies, like identifying potential risks early, conducting regular risk assessments, and implementing risk mitigation plans. Proactive risk management involves anticipating and planning for potential issues before they occur, which can minimize their impact. This contrasts with reactive strategies, which address risks as they arise and are often costlier and less efficient. Proactive risk management can enhance project reliability and avoid last-minute crises .

The Software Requirements Specification (SRS) serves as a foundational document detailing the functionalities and constraints of a software project. It guides developers, testers, and stakeholders to ensure the project meets its objectives. A well-constructed SRS helps prevent scope creep and misunderstandings, leading to smoother project execution. Conversely, a poorly constructed SRS can lead to miscommunication, inadequate functionality, and project delays, adversely impacting the software's quality and stakeholder satisfaction .

Modularity refers to the degree to which software components are separated into independent units, which facilitates easier maintenance and modification. Low coupling, which is the degree of interdependence between modules, complements modularity by ensuring that changes in one module have minimal impact on others. This reduces complexity during software maintenance. Conversely, high coupling can complicate maintenance since changes might necessitate corresponding updates in interconnected modules .

Earned Value Management (EVM) provides a quantitative approach to measure project performance and progress. It helps in integrating cost, schedule, and scope to assess project health objectively. EVM benefits include improved project control through early identification of performance issues, enhanced cost management by comparing planned versus actual performance, and better decision-making capabilities. It impacts project control by providing insights into potential overspending or delays, allowing timely corrective actions .

Integrating Component-based software development (CBSD) in existing systems can be challenging due to compatibility issues with pre-existing architecture, potential integration bugs, and varying component quality. These challenges may complicate reuse intentions, as components need to be well-documented and interface-compatible. Successfully integrating CBSD promotes software reuse, reduces development time, and lowers costs by leveraging existing components across multiple projects. However, achieving these benefits requires careful planning and thorough testing to ensure compatibility and reliability .

The Waterfall model is a linear and sequential approach where risk management is typically not emphasized or explicitly handled during the development process. This model requires a lot of pre-planned structure, and changes are costly once a phase is completed. In contrast, the Spiral model incorporates risk management as a core component. It emphasizes iterative risk analysis and mitigation throughout the development process, allowing for more flexible responses to new information and changing requirements .

Coding standards enhance software quality by ensuring code consistency, readability, and maintainability. They facilitate easier debugging and collaboration among team members by following a uniform style. Without coding standards, software projects may face issues like increased defects, difficulty in code reviews, and decreased productivity, leading to a higher potential for errors and miscommunication during development and maintenance phases .

You might also like