MD 1
MD 1
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:
Cleanroom Strategy:
Unit Testing:
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:
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 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.
Benefits:
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.
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.
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.
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.
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:
BPR Model:
The Software Development Life Cycle (SDLC) typically consists of the following phases:
Identify and document user requirements and business needs for the software.
System Design:
Implementation:
Testing:
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.
Maintenance:
Provide ongoing support, fix defects, and enhance the software based on user feedback
and changing requirements.
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.
System Testing:
System testing verifies the integrated system to ensure it meets specified requirements and
functions as intended in its operational environment.
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.
Risk Monitoring: Continuously monitor and review risks throughout the project.
Version Control: Manage different versions of software artifacts (code, documents) to track
changes and facilitate collaboration.
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.
Integration: Integrate SCM tools with other development tools and processes to streamline
workflows and improve efficiency.