GROUP 2 - SOFTWARE PROCESS

Nama ahli kumpulan:
Nor Hazirah binti Ismail (01DIS17F1012)
Nur Idzuanie binti Idrus (01DIS17F1020)
Fatin Aina binti Shari (01DIS17F1022)
Nur Haziqah binti Jamaludin (01DIS17F1023)
Nur Yusra Asyikin binti Yusof (01DIS17F1019)
Nur Syarah Afiqah binti Yusaini (01DIS17F1050)
Aizati binti Ammar (01DIS17F1046)
Puteri Nordiana bt Varusai Mohamed (01DDT17F2001)
Nur Syazana bt Omar (01DDT17F2008)
Riseebaa Saravanan (01DDT17F2023)
Praveena Kalaimaran (01DDT18F2018)


Software Process
A software process also knows as software methodology is a set of related activities that leads to the production of the software. These activities may involve the development of the software from the scratch, or, modifying an existing system.
Software process must include the following software activities :
1)      Software specification – defining what the system should do
2)      Software design and implementation – defining the organization of the system and implementing system.
3)      Software verification and validation – checking that it does what the customer wants
4)      Software evolution – changing the system in response to changing customer needs.

However, a process also includes the process description, which includes:
1.       Products: The outcomes of the an activity. For example, the outcome of architectural design maybe a model for the software architecture.
2.       Roles: The responsibilities of the people involved in the process. For example, the project manager, programmer, etc.
3.       Pre and post conditions: The conditions that must be true before and after an activity. For example, the pre condition of the architectural design is the requirements have been approved by the customer, while the post condition is the diagrams describing the architectural have been reviewed.

It can be a plan-driven or agile, or both
Incremental development is one of the most common approaches. This approach can be either a plan-driven or agile, or both.
In a plan-driven approach, the system increments are identified in advance, but, in the agile approach, only the early increments are identified and the development of later increments depends on the progress and customer priorities.
Plan-driven process is a process where all the activities are planned first, and the progress is measured against the plan. While the agile process, planning is incremental and it’s easier to change the process to reflect requirement changes.

Waterfall Model
The waterfall model is a sequential approach, where each fundamental activity of a process represented as a separate phase, arranged in linear order.
In the waterfall model, you must plan and schedule all of the activities before starting working on them (plan-driven process).

The phases of the waterfall model are: 
Requirements, Design, Implementation, Testing, and Maintenance.






When To Use?
In principle, the waterfall model should only be applied when requirements are well understood and unlikely to change radically during development as this model has a relatively rigid structure which makes it relatively hard to accommodate change when the process in underway.

Incremental Development
Incremental development is based on the idea of developing an initial implementation, exposing this to user feedback, and evolving it through several versions until an acceptable system has been developed.
The activities of a process are not separated but interleaved with feedback involved across those activities.


Reuse-oriented Software Engineering
It’s attempting to reuse an existing design or code (probably also tested) that’s similar to what’s required. It’s then modified, and incorporated to the new system.


The Reuse-oriented software engineering model








Comments

Popular posts from this blog

Reuse-oriented Model (Group 1)

Group 1 - Post 2 Iterative Model