SOFTWARE DEV LIFECYCLE Flashcards

1
Q

Feasibility Study

A

Before initiating system development, securing funding is essential. This typically begins with a feasibility study, which involves thorough investigation and research to assess the project’s viability. Key questions addressed include:

What are the system's requirements?
What problem does it address?
What are the projected costs?
Who will develop it?
What's the estimated timeline?
What's the project deadline?
Once these questions are answered, the findings are presented to management for project approval. If the project demonstrates potential profitability, it may receive approval to proceed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Requirements Engineering

A

This stage focuses on establishing a clear understanding of the business requirements for the proposed system. It entails providing a precise explanation of the system’s objectives and how it will address specific challenges or needs. Various methods, including discussions with clients and potential customers, are utilized to ensure developers comprehend all demands and requirements thoroughly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Design

A

During the design stage, potential solutions meeting the requirements are evaluated. The selected design is then detailed enough for developers to implement. Tools like UML simplify requirement explanations and prioritize essential features. The project scope is defined within the design, often illustrated through Use Cases and Flowcharts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Development/Programming

A

During the development phase, technical components, including hardware and software, are created, procured, or configured. Developers adhere to the design specifications to ensure the system meets business or customer requirements. This involves writing code according to the system’s defined scope outlined in the design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Testing

A

During testing, the components developed are thoroughly evaluated to ensure they function correctly and meet system requirements. Often, a prototype is implemented and subjected to test data sets. Adjustments and refinements are made based on user feedback to enhance performance and usability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

why a group of software developers developed the Agile Manifesto and what are the main principles of this approach to software development?

A

The “Agile Manifesto” emerged from software developers recognizing a crisis in the industry due to the high failure rates and costly outcomes of projects. It challenged traditional linear life-cycles like Waterfall, advocating for more incremental approaches. The manifesto prioritized:
1. Individuals and interactions over process and tools.
2.Working software over comprehensive documentation.
3.Customer collaboration over contract negotiation.
4.Responding to change over following a plan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

difference between Waterfall and Agile processes

A

Waterfall represents a linear software development model where tasks are sequentially completed, advancing to the next step only after the previous one is finished. It culminates in the release of the system, ensuring thorough understanding via formal documentation and review for a quality product.

On the other hand, Agile exemplifies an evolutionary approach, often termed “iterative” development. The system evolves gradually through successive versions, each more comprehensive than the last, fostering adaptability and responsiveness to change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

advantages and disadvantages of a Waterfall

A

Strengths of Waterfall:
-Well-suited for projects with clearly defined and stable requirements.
-Provides structured control and milestone markers for effective project management.
-Simple and straightforward due to its rigid stage-based approach.
Ideal for safety-critical systems that demand strict adherence to regulations.

Weaknesses:
-Costly to accommodate changes, particularly during testing phases.
Working software is only delivered at the end of the process, delaying feedback and validation.
-Poor planning can lead to significant project delays and cost overruns.
-Limited customer collaboration beyond initial requirements gathering and user testing, risking disengagement over time.
-Challenges in incorporating feedback or new ideas into the rigid structure.
-Restrictive nature may stifle creativity and individual contributions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

advantages and disadvantages of an Agile methodology

A

Advantages of Agile:
-Suitable for projects with unclear problems or solutions at the outset, allowing for flexibility.
-Enables the creation of working prototypes, enhancing clarity and cost estimation.
-Promotes collaboration with users throughout the process, leading to higher customer buy-in.
-Facilitates easier management of change due to less stringent control over requirements.

Disadvantages:
-Project management can be challenging due to multiple iterations and teams.
-Evolving requirements may lead to scope creep without careful management.
-Overall costs may be higher due to additional prototyping and testing across multiple versions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe and explain Scrum methods

A

Scrum is a widely used Agile approach to software development, known for its unique framework for planning and monitoring work by small teams. It involves key roles:

-Product Owner: Represents the business and customer voice.
-Development Team: Cross-functional, self-organizing group delivering working software.
-Scrum Master: Accountable for removing obstacles hindering team progress.

Scrum employs a prioritized list of requirements called the Product Backlog. Iterations, known as “Sprints,” typically last a few weeks and aim to deliver a functional product increment. Sprints are monitored through daily, structured meetings called “Daily Stand-Ups” or “Scrum Meetings,” where team members address three questions:

1)What did I do yesterday?
2)What am I doing today?
3)What problems or impediments do I have?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly