0% found this document useful (0 votes)
15 views10 pages

MD 1

Model question paper
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)
15 views10 pages

MD 1

Model question paper
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
You are on page 1/ 10

SDLC (Software Development Life Cycle):

SDLC is a process used by software development teams to design, develop, and test high-
quality software. It typically includes phases such as planning, requirements gathering,
design, development, testing, deployment, and maintenance.

Agile:

Agile is an iterative approach to software development that emphasizes flexibility,


customer collaboration, and incremental delivery. It promotes adaptive planning,
evolutionary development, early delivery, and continuous improvement.

Cleanroom Strategy:

Cleanroom software engineering is a formal method for developing software with a


rigorous approach to defect prevention rather than defect removal. It involves
mathematical verification techniques and incremental development to ensure high
reliability.

Software Project Management:

Software project management involves planning, organizing, and managing resources to


successfully complete specific software development goals within defined constraints of
time, budget, and quality.

Unit Testing:

Unit testing is a level of software testing where individual units or components of a


software application are tested in isolation from the rest of the code to validate that each
unit functions as expected.

Software Project Scheduling:

Software project scheduling involves creating a timeline and plan for completing the tasks
and activities required to deliver a software project on time. It includes estimating effort,
assigning resources, and establishing milestones.
Risk Management:

Risk management in software development involves identifying, assessing, and prioritizing


risks that could potentially affect the success of a project. It includes strategies to mitigate,
monitor, and control risks throughout the SDLC.

Software Maintenance:

Software maintenance involves modifying and updating software after it has been
deployed to fix defects, improve performance, adapt to changes in the environment, and
enhance functionality.

CMMI (Capability Maturity Model Integration):

CMMI is a framework that helps organizations improve their processes and performance. It
defines a set of best practices across various process areas such as project management,
engineering, and support, with maturity levels indicating how well these practices are
implemented.

Need, Benefits, or Goals of Software Engineering:

Need: Software engineering is essential because it provides systematic approaches to


developing high-quality software that meets user requirements, is reliable, maintainable,
and cost-effective.

Benefits:

Quality: Ensures software meets quality standards and is reliable.

Efficiency: Streamlines development processes, reducing time and cost.

Maintenance: Facilitates easier updates and bug fixes post-deployment.

Customer Satisfaction: Delivers software that meets user needs and expectations.

Goals:
Reliability: Develop software that operates consistently and correctly under varying
conditions.

Efficiency: Optimize resource utilization and minimize development time and costs.

Maintainability: Enable easy modification and updating of software as requirements evolve.

Usability: Design software that is intuitive and user-friendly.

11. Core Agile Values:

Agile methodology is guided by four core values outlined in the Agile Manifesto:

Individuals and Interactions over Processes and Tools: Emphasizes the importance of
teamwork, communication, and collaboration among team members.

Working Software over Comprehensive Documentation: Prioritizes delivering functional


software that meets customer needs over extensive documentation.

Customer Collaboration over Contract Negotiation: Advocates for active involvement and
feedback from customers throughout the development process.

Responding to Change over Following a Plan: Values flexibility and adaptability to changes
in requirements or circumstances over rigid adherence to initial plans.

12. 4P’s of Management Spectrum:

The 4P’s of Management Spectrum refer to different types of activities and focus areas in
management:
Plan: Involves setting objectives, determining strategies, and outlining tasks to achieve
goals.

Process: Refers to the methods, procedures, and workflows used to execute plans and
achieve desired outcomes.

People: Deals with managing human resources, including leadership, motivation, team
dynamics, and interpersonal skills.

Power: Focuses on the influence, authority, decision-making processes, and control


mechanisms within an organization.

13. Principles of Project Scheduling:

Effective project scheduling involves several key principles:

Define Activities: Break down the project into manageable tasks and activities.

Sequence Activities: Determine the order in which activities must be performed based on
dependencies.

Estimate Resources: Estimate the time, cost, and resources required for each activity.

Develop Schedule: Create a timeline that allocates resources and defines milestones and
deadlines.

Monitor Progress: Continuously track and update the schedule as the project progresses,
adjusting for changes or delays.
14. Business Process Reengineering (BPR) and BPR Model:

Business Process Reengineering (BPR): BPR involves redesigning business processes to


achieve significant improvements in performance, often through radical changes and the
use of technology.

BPR Model:

Visioning: Define the goals and scope of the reengineering effort.

Diagnosing: Analyze current processes and identify areas for improvement.

Reengineering: Redesign processes based on new goals and technologies.

Implementing: Implement the redesigned processes and monitor their performance.

Evaluating: Evaluate the outcomes and make further adjustments as necessary.

15. Software Process Improvement Process (SPI):

SPI involves systematic efforts to improve software development and maintenance


processes to achieve better quality, efficiency, and customer satisfaction. Here’s a
simplified approach:

Assessment: Evaluate current processes to identify strengths and weaknesses.

Goal Setting: Define specific improvement goals based on assessment findings.

Process Design: Redesign processes to incorporate best practices and achieve


improvement goals.
Implementation: Implement the redesigned processes, providing training and support as
needed.

Measurement: Continuously monitor and measure process performance against


improvement goals.

16. Phases of Software Development Life Cycle (SDLC):

The Software Development Life Cycle (SDLC) typically consists of the following phases:

Requirements Gathering and Analysis:

Identify and document user requirements and business needs for the software.

Analyze requirements to ensure they are clear, complete, and feasible.

System Design:

Design the architecture and system components based on gathered requirements.

Specify system interfaces, data structures, and algorithms.

Implementation:

Develop the software based on the design specifications.

Write code, integrate components, and conduct unit testing.

Testing:

Verify and validate the software to ensure it meets specified requirements.

Includes various testing types like unit testing, integration testing, system testing, and
acceptance testing.

Deployment:
Install the software in the production environment or release it to end-users.

Conduct deployment activities such as data migration and user training.

Maintenance:

Provide ongoing support, fix defects, and enhance the software based on user feedback
and changing requirements.

Includes updates, patches, and optimizations to ensure continued usability and


performance.

17. Types of Box Structure Specification:

Box structure specifications are used in software design to define the architecture and
behavior of systems. The main types include:

Black Box Specification: Describes the system from an external perspective without
detailing internal workings. Focuses on inputs, outputs, and functionality visible to users.

White Box Specification: Provides internal details of the system’s design, including data
structures, algorithms, and control flow. Used for understanding and modifying the
system’s implementation.

Gray Box Specification: Combines aspects of both black box and white box approaches.
Provides partial information about internal workings while emphasizing external behavior.

18. System Testing and Types:

System Testing:
System testing verifies the integrated system to ensure it meets specified requirements and
functions as intended in its operational environment.

Types of Testing in System Testing:

Functional Testing: Tests the functionality of the entire system against defined
requirements.

Performance Testing: Evaluates how the system performs under different load conditions
to ensure it meets performance criteria.

Security Testing: Checks the system’s ability to protect data and resources from
unauthorized access and attacks.

Usability Testing: Assesses how user-friendly and intuitive the system is for end-users.

Compatibility Testing: Ensures the system operates correctly with different hardware,
operating systems, and software configurations.

19. Principles of Risk Management:

Effective risk management involves these principles:

Risk Identification: Identify potential risks and their sources.

Risk Assessment: Evaluate the likelihood and impact of each risk.


Risk Mitigation: Develop strategies to reduce or eliminate risks.

Risk Monitoring: Continuously monitor and review risks throughout the project.

Risk Communication: Communicate risks and mitigation strategies to stakeholders.

20. Features of Software Configuration Management (SCM):

Software Configuration Management (SCM) involves managing and controlling changes to


software throughout its lifecycle. Key features include:

Version Control: Manage different versions of software artifacts (code, documents) to track
changes and facilitate collaboration.

Configuration Identification: Identify and document software components and


configurations systematically.

Change Management: Control and manage changes to software artifacts through a formal
process to maintain stability and integrity.

Build Management: Automate the process of building software from source code to
executable code, ensuring consistency and reproducibility.

Release Management: Plan, schedule, and control the release of software versions,
including deployment and distribution to users.

Baseline Management: Establish baselines (snapshots) of software configurations at


specific points in time to support development and auditing.
Auditing and Reporting: Monitor and audit changes to software configurations, generating
reports for compliance and analysis.

Integration: Integrate SCM tools with other development tools and processes to streamline
workflows and improve efficiency.

You might also like