Sunday, 13 January 2019

Software Requirement and Design (Group 2)


DFP5043 – Software Requirement and Design
Group 2
Huzaifah, Muiz, Hakim, Amirul, Fitri, Afiq, Alif, Ahmad Luqman

Tutorial Lab3
Instruction:
Discuss and contribute together to answer each of the questions below and post the answer to the class blog.

1. Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:
• A system to control anti-lock braking in a car
• A virtual reality system to support software maintenance
• A university accounting system that replaces an existing system
• An interactive travel planning system that helps users plan journeys with the lowest environmental impact

a)     Anti-lock braking system is the system that need a lot of testing and the flow would likely to go back and forth which make Waterfall model out of the question the only reasonable model used would be incremental development.

b)     Virtual reality system is another system that will change based on customer feedback. Incremental development with an agile process may be used.

c)     University accounting system is a system where it’s commonly being used in other industry and would likely already have a model that can be modified to customer needs. Therefore, a reuse-based model can easily be implemented in this system.

d)     Interactive travel planning system is a system that changes based on user feedback and probably would have to extend their compatibility with another system in the future, there’s also a need of usability engineering which is based on user experience and the ergonomics of the design would also affect the end user efficiency, these changes need to be improved overtime so an incremental development approach is the most suitable to give out the best of the system.



2. Consider the reuse-based process model shown in page 14 in the slide, explain why it is essential to have two separate requirements engineering activities in the process.

In a reuse based process, you need two requirements engineering activities because it is essential to adapt the system requirements according to the capabilities of the system to be reused. These activities are:
a)      An initial activity where you understand the function of the system and set out broad requirements for what the system should do. These should be expressed in sufficient detail that you can use them as a basis for deciding of a system that satisfies some of the requirements and so can be reused.
b)      Once systems/components have been selected, you need a more detailed requirements engineering activity to check that the features of the reused software meet the business needs and to identify changes and additions that are required.

3. Based on page 18 in the slide, suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements
Engineering process.

·         The user requirement are intended to describe the system’s function and features from a user perspective and it is essential that user understand these requirement. They should be expressed in natural language and may not be expressed in great detail, to allow some implementation flexibility. The people involved in the process must be able to understand the user’s environment and application domain.
·         The system requirement are much more detailed than the user requirements and are intended to be a precise specification of the system that may be part of a system contract. They may also be used in situation where development is outsourced and the development team need a complete specification of what should be develop. The system requirement are develop after user requirement are developed after user requirement are developed after user requirement have been established.


Software Requirement and Design (Group 4)


DFP5043 – Software Requirement and Design
Tutorial Lab3
Instruction:
Discuss and contribute together to answer each of
the questions below and post the answer to the class blog.

1. Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the

following systems:
• A system to control anti-lock braking in a car
• A virtual reality system to support software maintenance
• A university accounting system that replaces an existing system
• An interactive travel planning system that helps users plan journeys
with the lowest environmental impact


a) Anti-lock braking system .This is a safety-critical system so requires a lot of up-front analysis before implementation. It certainly needs a plan-driven approach to development with the requirements carefully analysed. A waterfall model is therefore the most appropriate approach to use, perhaps with formal transformations between the different development stages.

b) Virtual reality system. This is a system where the requirements will change and there will be an extensive user interface components. Incremental development with, perhaps, some UI prototyping is the most appropriate model. An agile process may be used.

c)University accounting system .This is a system whose requirements are fairly well-known and which will be used in an environment in conjunction with lots of other systems such as a research grant management system. Therefore, a reuse-based approach is likely to be appropriate for this.

d) Interactive travel planning system .System with a complex user interface but which must be stable and reliable. An incremental development approach is the most appropriate as the system requirements will change as real user experience with the system is gained.




2. Consider the reuse-based process model shown in page 14 in the slide, explain why it is essential to have two separate requirements engineering activities in the process.



These activities are:

 Requirement specification
 An initial activity where you understand the function of the system and set out broad requirements for what the system should do. These should be expressed in sufficient detail that you can use them as a basis for deciding of a system/component satisfies some of the requirements and so can be reused.

Requirement modification
 Once systems/components have been selected, you need a more detailed requirements engineering activity to check that the features of the reused software meet the business needs and to identify changes and additions that are required.





3. Based on page 18 in the slide, suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements engineering process.

There is a fundamental difference between the user and the system requirements that mean they should be considered separately.

a)     The user requirements are intended to describe the system’s functions and features from a user perspective and it is essential that users understand these requirements. They should be expressed in natural language and may not be expressed in great detail, to allow some implementation flexibility. The people involved in the process must be able to understand the user’s environment and application domain.




b)     The system requirements are much more detailed than the user requirements and are intended to be a precise specification of the system that may be part of a system contract. They may also be used in situations where development is outsourced and the development team need a complete specification of what should be developed. The system requirements are developed after user requirements have been established.

NAME:


  • Nazaratul Kasrina binti Kamarulzaman (01DDT17F1011)
  • Nurul Adlina Binti Muhamad Zainal (01DDT7F1019)
  • Anis Wahida Binti Razik (01DDT17F1020)
  • Siti Nur Mariah Binti Abdullah (01DDT17F1030)
  • Muhamad Aidil Irfan bin Ahmad Azali (01DDT17F1028)
  • Mohammad Aizat Nazmi bin Mohd Satar (01DDT17F1034)
  • Azrul Faiz bin Abd Aziz (01DDT17F1029)
  • Mohammad Raihan bin Mohd Johari (01DDT17F1031)

Software Requirement and Design (Group 1)

DFP5043 – Software Requirement and Design
Tutorial Lab 3
Instruction:
Discuss and contribute together to answer each of the questions below and post the answer to the class blog.

1. Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:
A system to control anti-lock braking in a car
Anti-lock braking system  This is a safety-critical system so requires a lot of up-front analysis before implementation. It certainly needs a plan-driven approach to development with the requirements carefully analysed. A waterfall model is therefore the most appropriate approach to use, perhaps with formal transformations between the different development stages.

• A virtual reality system to support software maintenance
Virtual reality system. This is a system where the requirements will change and there will be an extensive user interface components. Incremental development with, perhaps, some UI prototyping is the most appropriate model. An agile process may be used.

• A university accounting system that replaces an existing system
University accounting system. This is a system whose requirements are fairly well-known and which will be used in an environment in conjunction with lots of other systems such as a research grant management system. Therefore, a reuse-based approach is likely to be appropriate for this.

• An interactive travel planning system that helps users plan journeys
with the lowest environmental impact
= Interactive travel planning system.  System with a complex user interface but which must be stable and reliable. An incremental development approach is the most appropriate as the system requirements will change as real user experience with the system is gained.


2. Consider the reuse-based process model shown in page 14 in the slide, explain why it

is essential to have two separate requirements engineering activities in the process.
·         In a reuse based process, you need two requirements engineering activities because it is essential to adapt the system requirements according to the capabilities of the system/components to be reused.
·         These activities are:
a) Requirement specification: An initial activity where you understand the function of the system and set out broad requirements for what the system should do. These should be expressed in sufficient detail that you can use them as a basis for deciding of a system/component satisfies some of the requirements and so can be reused.
b) Requirement modification: Once systems/components have been selected, you need a more detailed requirements engineering activity to check that the features of the reused software meet the business needs and to identify changes and additions that are required.

3. Based on page 18 in the slide, suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements
engineering process.

a) The user requirements are intended to describe the system’s functions and features from a user perspective and it is essential that users understand these requirements. They should be expressed in natural language and may not be expressed in great detail, to allow some implementation flexibility. The people involved in the process must be able to understand the user’s environment and application domain.

b) The system requirements are much more detailed than the user requirements and are intended to be a precise specification of the system that may be part of a system contract. They may also be used in situations where development is outsourced and the development team need a complete specification of what should be developed. The system requirements are developed after user requirements have been established.

GROUP 1:

  • ARIF ASNAWI BIN MOHD PAUZI (01DIS17F1047)
  • MUHAMMAD FARID BIN MOHD ARIFFIN (01DIS17F1041)
  • MUHAMMAD AKMAL BIN AHMAD FADZIL (01DIS17F1040)
  • ABDUL RAHMAN BIN MESRUN (01DIS17F1061)
  • MUHAMMAD HASNUDDIN BIN SALAHUDDIN (01DIS17F1062)
  • MUHAMMAD AMIRUDDIN BIN ABDUL KADIR (01DIS17F1034)
  • MUHAMMAD HAFIZ BIN ZUHARI (01DIS17F1037)
  • AHMAD THAQIF ILMAM BIN ABDUL AZIZ (01DIS17F1035)
  • NURUL IZZAH BINTI KAMAL FAISAL (01DIS17F1049)
  • MIMI AMIRAH BINTI CHE ABDUL (01DIS17F1045)
  • NUR AFIQAH BIN MOHAMAD RAMLEE (01DIS171057)
  • KU NURAL' IZZATI BINTI KU KAMARUDZAMAN (01DIS17F1064)
  • NURUL ELISYAH BINTI MUHAMMAD ARSHAD (01DIS17F1033)
  • YASHELA A/P CHANDRANSANGRAN (01DIS17F1101)

Software Requirement and Design by GROUP 3




1.     Suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:

a)     Anti-lock braking system  This is a safety-critical system so requires a lot of up-front analysis before implementation. It certainly needs a plan-driven approach to development with the requirements carefully analysed. A waterfall model is therefore the most appropriate approach to use, perhaps with formal transformations between the different development stages.

b)     Virtual reality system  This is a system where the requirements will change and there will be an extensive user interface components. Incremental development with, perhaps, some UI prototyping is the most appropriate model. An agile process may be used.

c)     University accounting system  This is a system whose requirements are fairly well-known and which will be used in an environment in conjunction with lots of other systems such as a research grant management system. Therefore, a reuse-based approach is likely to be appropriate for this.

d)     Interactive travel planning system  System with a complex user interface but which must be stable and reliable. An incremental development approach is the most appropriate as the system requirements will change as real user experience with the system is gained.



2.       Explain why it is essential to have two separate requirements engineering activities in the process.



Requirements specification
Requirement Modification
which is the activity of translating the information gathered during the analysis activity into a (formal or informal, depending on the underlying process used) document that defines a set of requirements
Information about component that is selected during component analysis is used to analysis requirement specification. Requirements are modified according to available components. Requirement modification is critical then component analysis activity is reused to find relative solution.

Two types of requirements may be included in this document:

      a.    User requirements are abstract statements of the system requirements for the customer and end-user of the system
       b.   System requirements are a more detailed description of the functionality to be provided.
Elements: 

All significant requirements, whether relating to functionality, performance, design constraints, attributes, or external interfaces.




3.       Suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements engineering process.


There is a fundamental difference between the user and the system requirements that mean they
should be considered separately.




a)The user requirements are intended to describe the system’s functions and features from a user perspective and it is essential that users understand these requirements. They should be expressed in natural language and may not be expressed in great detail, to allow some implementation flexibility. The people involved in the process must be able to understand the user’s environment and application domain.

b)The system requirements are much more detailed than the user requirements and are intended to be a precise specification of the system that may be part of a system contract. They may also be
used in situations where development is outsourced and the development team need a complete
specification of what should be developed. The system requirements are developed after user
requirements have been established.

BY GROUP 3

NOOR SUFIATUL ASNI (1054)
FARAH NADIAH (1062)
NURRATUL AIN (1052)
SITI HAJAR  (1044)
INSYIRAH (1039)
NADIAH (1098)
FILZAH (1060)
FAIZAH (1036)
ARINAH (1059)


EXAMPLES OF MOST APPROPRIATE GENERIC SOFTWARE PROCESS MODEL



G3

1. Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:
• A system to control anti-lock braking in a car
• A virtual reality system to support software maintenance
• A university accounting system that replaces an existing system
• An interactive travel planning system that helps users plan journeys with the lowest environmental impact

a)     Anti-lock braking system  This is a safety-critical system so requires a lot of up-front analysis before implementation. It certainly needs a plan-driven approach to development with the requirements carefully analysed. A waterfall model is therefore the most appropriate approach to use, perhaps with formal transformations between the different development stages.

b)     Virtual reality system  This is a system where the requirements will change and there will be an extensive user interface components. Incremental development with, perhaps, some UI prototyping is the most appropriate model. An agile process may be used.

c)     University accounting system  This is a system whose requirements are fairly well-known and which will be used in an environment in conjunction with lots of other systems such as a research grant management system. Therefore, a reuse-based approach is likely to be appropriate for this.

d)     Interactive travel planning system  System with a complex user interface but which must be stable and reliable. An incremental development approach is the most appropriate as the system requirements will change as real user experience with the system is gained.


UML Group 1

DFP5043 – Software Requirement and Design Lab 7 Instructions: Discuss with your group. Answer all questions and post the question an...