0% found this document useful (0 votes)
21 views6 pages

Chapter 1,2

Uploaded by

cyvqbgjt7s
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)
21 views6 pages

Chapter 1,2

Uploaded by

cyvqbgjt7s
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/ 6

Salman Albalushi INSTA: @SALMAN_UTASA

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.

Judgment → Software engineers shall maintain integrity and independence in their


professional judgment.

Management → Software engineers’ managers and leaders shall subscribe to and


promote an ethical approach to the management.

Profession → Software engineers shall advance the integrity and reputation of the
profession consistent with the public interest.

Colleagues → Software engineers shall be fair to and supportive of their colleagues.

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.

Software Process Activities


1. Software Specification - Functionality of software and constraints must be defined.
2. Software Development - Software to meet the specification must be produced.
3. Software Validation - Validating software to ensure it does what customer wants.
4. Software Evolution - Software must evolve to meet changing customer needs.

Software Process Models


Products or deliverables are the outcomes of a process activity.
Waterfall | V-Model | Incremental Process Model | Spiral Model) | Agile Model

Waterfall Model
• Simplest model.
• All the phases of SDLC are in linear manner.
• First phase is finished then only the second phase will start.

Requirements analysis and definition: Establish System services, constraints, goals.

System and software design: Allocates the requirements to hardware or software


systems. It establishes an overall system architecture.

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

• Process executes in a sequential manner in V-shape.


• Also known as Verification and Validation model.
• Testing phase for each corresponding development stage.
• Next phase starts only after completion of the previous phase.
• V-Model provides means of testing of software at each stage in reverse manner.

Model Verification PROCESS


Business Requirement Analysis: product requirements are understood from the
customer’s perspective.

System Design: understanding and detailing the complete hardware and


communication setup for the product.

Architectural Design: Architectural specifications are understood and designed. High


Level Design (HLD).

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

V- Model validation PROCESS


Acceptance Testing -- > Business Requirement Analysis
System Testing -- > System Design
Integration Testing -- > Architecture Design
Unit Testing -- > Module Design / Coding

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.

INCREMENTAL PROCESS model


• Also known as the Successive version model.
• Requirements divided into multiple standalone modules.
• Each module goes into requirements, design, implementation and testing phases.
• Every subsequent release of the module adds function to the previous release.

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

Evolutionary process model


• Evolutionary models are iterative type models.
• Allow to develop more complete versions of the software.
Following are the evolutionary process models.

Prototyping model | Spiral model | Concurrent development model

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.

1. Objective Identification -- > Requirements gathered from costumer.


2. Alternate Evaluation -- > Identify Risk, providing solution, releasing prototype.
3. Product Development -- > Test, produce the project and release it to the costumer.
4. Next Phase Planning -- > Evaluating the output and planning for next phase.

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

• Individuals and interactions - Self-organization and motivation are important.


• Working software - Demo working software is considered the best means of
communication with the customer to understand their requirement.

• Customer collaboration - Continuous customer interaction is very important to get


proper product requirements.

• Responding to change - Focused on quick responses to change and continuous


development.

You might also like