Professional Documents
Culture Documents
Chapter 1,2
Chapter 1,2
Chapter 1,2
52J20125
CHAPTER 1
Software Engineering Code of Ethics and Practice
Public → Software engineers shall act consistently with the public interest.
Client and Employer → Software engineers shall act in a manner that is best interest of
their Client and Employer consistent.
Product → Software engineers shall ensure that their products and related
modifications meet highest professional standers possible.
Profession → Software engineers shall advance the integrity and reputation of the
profession consistent with the public interest.
Self → Software engineers shall participate in lifelong learning regarding the practice of
their profession and promote an ethical approach to the practice of the profession.
Salman Albalushi INSTA: @SALMAN_UTASA
52J20125
CHAPTER 2
software process -> set of activities that leads to the production of a software product.
Waterfall Model
• Simplest model.
• All the phases of SDLC are in linear manner.
• First phase is finished then only the second phase will start.
Implementation and unit testing: Verifying and testing that each unit meets its
specification.
Integration and system testing: Programs are integrated and tested as a complete
system.
Operation and maintenance: System is installed and put into practical use. And
correcting errors.
Salman Albalushi INSTA: @SALMAN_UTASA
52J20125
Advantages:
1. Best suited when developers already have designed and developed similar
software in the past.
2. It is useful for big projects like for 3-10 years or more.
Disadvantages:
1. Does not work smoothly if there are some issues left at the previous step.
2. Does not allow us to go back and undo or redo our actions.
V- Model
Module Design: detailed internal design for all the system modules is specified. [Low
Level Design (LLD)].
Coding Phase - Actual coding of the system modules. Suitable programming language
is decided.
Salman Albalushi INSTA: @SALMAN_UTASA
52J20125
Advantages:
1. Highly disciplined model and phases are completed one at a time.
2. Easy to manage due to the rigidity of the model.
Disadvantages:
1. Not a good model for complex and object-oriented projects.
2. Once an application is in the testing stage, it is difficult to go back and change a
functionality.
Advantages:
• Prepares the software fast.
• Clients have a clear idea of the project.
• Changes are easy to implement.
• Provides risk handling support.
Disadvantages:
• A good team and proper planned execution are required.
• Because of its continuous iterations the cost increases.
Salman Albalushi INSTA: @SALMAN_UTASA
52J20125
Spiral Model
• Combination of both, iterative model and one of the SDLC model.
• Risk driven process model.
• It is used for generating the software projects.
• Alternate solution is provided if the risk is found in the risk analysis.
• Combination of prototype and sequential model or waterfall model.
• In one iteration all activities are done, for large project's the output is small.
Advantages:
• Users see the system early because of rapid prototyping.
• Design does not need to be perfect.
• It reduces high amount of risk.
• Good for large and critical projects.
• Gives strong approval and documentation control.
Disadvantages:
• The model is complex.
• Spiral may continue indefinitely.
• It can be costly to develop a software model.
• It is not used for small projects.
Salman Albalushi INSTA: @SALMAN_UTASA
52J20125
Agile Model
• Believes every project needs to be handled differently and the existing methods
need to be tailored to best suit the project requirements.
• Tasks are divided to time boxes (small time frames) to deliver specific features.
• Working software build is delivered after each iteration.
• Final build holds all the features required by the customer.
Agile Manifesto