2. Software Engineering
Requirement Analysis
Introduction
Requirement analysis is the process of the requirement identifying or determining the user
expectation for new product. It is also known as Requirement engineering. The indentified
requirements must be relevant, actionable, measurable, defined to level of detailed sufficient of
system design and related to identified business needs or opportunities. In Software Engineering
such requirement is known as Functional Specification (SearchSoftwareQuality, March 2007).
Requirement analysis is the critical success factor of the software development project
(Slideshare, a, 1 yr ago).
Requirement process
Client/User Needs
Problem Analysis
Product Description
Validation
Validated SRS
Figure of the Requirement process (Slideshare, b, 1 yr ago).
Requirement identification of Ticketing System of Snow City, which provides the Snow based
games in Singapore.
Scanning the ticket at the entry time and exit time, to keep the record of the time of entry
and exit respectively.
2|Page
3. Software Engineering
At the time of exit, customer’s total time spent is compared against the time period
indicated in his/her pre-purchased ticket.
If the actual time spends is more than the customer has to pay the balance ticket price
plus 25% penalty.
At time of payment, customers are notified by all the calculated charges.
Payments can be done either by credit card or cash.
The system must be capable of generating ad-hoc report to handle the above mentioned
activities.
3|Page
4. Software Engineering
Software Development Methodology
A software development methodology process is a structure enforced or selected techniques to
improve the software development quality. Software development methodology provides
sufficient techniques of disciplines to deliver the desired and qualitative software (Software
Development Methodology, 1/1/07). Software development methodologies improve the
management of software development process and control it in proper manner. It simplifies and
structures the process and standardizes the development process.
Different available Software Development Methodologies are:
The Classical Life Cycle (Linear Sequential Model)
Prototyping Model
Fourth Generation Techniques
Spiral Model
Combining Paradigms.
4|Page
5. Software Engineering
Selection of Appropriate Software development methodologies:
The classical life cycle:
The classical life cycle methodology is the systematic and sequential approach, where
project is divided into sequential phase. In this model, proceeding to next phase is only possible
when current phase completed. The Snow City System can be developed by this methodology
but as per requirement, the system should generate report at different interval. The system
developed by this methodology cannot generate the report. The classical life cycle is not
appropriate methodology to develop the Snow City System.
Prototyping:
Prototyping methodology defines a set of general objectives for software, when much
more detailed input, processing, or output requirement is needed. When requirement is not clear,
then Prototyping is appropriate method to identify the requirement. The requirements of Snow
City System are clearly defined. Prototyping is not appropriate methodology.
Spiral Model:
This methodology focuses on minimizing risk and risk assessment by breaking a project
into smaller segment and provides the chance to evaluate risk in project. This methodology is
suitable for complex and sensitive project. Sometimes the end product is often unrealistic.
The Snow City System is not that much complex and huge, the chances of risk are low and all
requirements are identifiable.
Fourth Generation Techniques:
Fourth Generation Technique is the combination of broad array of software tools. It is the
combination of procedural and non-procedural feature in the method of development. It is the
possible and appropriate methodology for development of Snow City System (CMS,
March/27/2008).
5|Page
6. Software Engineering
Decision
Analyzing the case study of Development of Snow City System, identifying the entire
requirement and studying the different System Development Methodology, I found the Fourth
Generation Technique is the best appropriate methodology for development of Snow City
System.
The Fourth Generation Technique (4GT) is for fast development and delivery of quality software
at relatively minimum investment cost. The strength of the 4GT is, it concentrates on important
system elements as user viewpoint and has ability to change system design as desired by the
user. It maintains the balance between user requirement and system specification. And very
prominent factor of $GT is, it generally produces a dramatic saving in money, time and human.
Reason for 4GT is appropriate methodology for Snow City System development.
4Gt is embedded with some features of 4L tools.
o Non Procedural language for database query: his feature meet the requirement –
scanning the ticket at the entry time and exit time, to keep records of the time of
entry and exit respectively.
o Report Generation: the requirement- system must be capable of generating ad-hoc
report, will be fulfilled by Report generation feature of 4L.
o Data Manipulation: Snow City System requires that- at the time of payment
customer must be notified by all calculated charges. So, data manipulation
contribution will fulfill this requirement.
o Screen Interaction: Screen interaction makes user easy to access the system. It
creates healthy between user and system.
o Code Generation: once Snow City System is developed and hand over to the user,
after then user can edit themselves. Because Code generation feature of 4L
generates the codes as required by user.
Snow City System is medium scale project.
6|Page
7. Software Engineering
4GT is focused on project scope and business object of Snow City which is well defined.
4GT provides clear defined technical architecture of Snow City System.
There is a effective project control.
7|Page
8. Software Engineering
Dependability Measurement Attributes
Introduction
Dependablity measurement is conformance to performance requirement and explicity-state
functional, expliciy-documented development standard, and implicit characterstics that are
ecpected of all professionally developed software (Course book (a), n.d). dependability
measurement is all about the quality of the product. It is the set of specific standard defined
criteria that guides the manner in which software is engineered (Course book (b), n.d).
Dependability defines the extend to which product/software can be trusted to behave as expected.
The success od product, technology system or serviceis followed by a set of performance
attributes. These attributes are described byterm such as Correctness, Reliability, Availability,
Effiency, Integrity, Maintainability and many more. Among these attributes Avaliability,
Relaibility, Maintainability and support are the major dependability measurement attributes, as
shown in figure below (IEC TC56 W3 Dependability Management (a), 29/January/2009).
Figure of Dependability Measurement Attributes.
The dependability measurement attributes which could be applied to Snow City System are:
8|Page
9. Software Engineering
1. Reliability
Description: Reliability measures the accuracy of the system. It evaluates that-does
the system performs accurately at all the time. Reliability is the possibility of
fulfilling the user’s desired expectation or condition on desired time. It is the set of
the function which contributes to users demanded services. Reliability is directly
related to time, which generally means operating time. When a system is reliable, user
fell easy to use the system. Reliability attribute of the Dependability Measureable is
most important factor to determine the quality of the system
Evaluation: Snow City System has to calculate all the charges of tickets accurately
and must be able to perform those calculations on less operating time. If system takes
more time to perform any function then it will not consider as the reliable system
2. Efficiency
Description: Efficiency determines that how effectively does system runs on existing
hardware.
Evaluation: Will Snow City system performs efficiently, or does it requires additional
hardware/software or not. If not, then the system can be taken as highly efficient
system.
3. Integrity
Description: Integrity is all about the security of system. It determines how secure
system is? Physical and logical security of the system is determined by the Integrity
of the system. The less secured system is not preferred by any user. There are
numbers of ways and method to make the system secure. For example software can
apply the password system, defining the level of access according to users and so on.
And on other side back up also one of the way to be secure by unpredictable risk and
loss of data
Evaluation: The Snow City System must have the clearly defined level of access of
software or data and the password system; it will make system more secure and
9|Page
10. Software Engineering
trustable. And it would be better if the system contain the backup features also.
Because system have to generate report and that report is used by top management
level for smooth run of business.
4. Maintainability
Description: Maintainability is a measure of the ability to perform maintenance under
given condition. A high degree of maintainability means that-repairs consume little
time and effort, on average. Maintenance support is one of the aspects of the
Maintainability, which describe various aspects responsible for maintenances, e.g.
skill of repair personnel, time taken to procure spare part.
Evaluation: If the error occurs in the Snow City System, then that error should be
easily handle and fixed by user.
5. Flexibility
Description: Flexibility features in the system determine the effort needs to modify an
operational program.
Evaluation: In the course of using the system, if any modification is needed then
system must be flexible for modification.
6. Availability
Description: Availability describes the ability to perform any required function as per
demanded.
Evaluation: Snow City System must be able to perform the function as desired by
user.
The above mentioned attributes are the Dependability Measurable of the Snow City
System, which contributes on quality of the system.
10 | P a g e
11. Software Engineering
References
1. SearchSoftwareQuality (March 2007). Requirement Analysis [online] Available from:
http://searchsoftwarequality.techtarget.com/definition/requirements-analysis [Accessed date:
20/10/2011]
2. Slideshare, a, 1yr ago. Software requirement [online] Available from:
http://www.slideshare.net/engineerrd/software-requirement [Accessed date: 20/10/2011]
3. Slideshare, b, 1yr ago. Software requirement [online] Available from:
http://www.slideshare.net/engineerrd/software-requirement [Accessed date: 21/10/2011]
4. Software Development Methodology, 1/1/07. Methodology: What and why? [Online] Available from
http://www.hyperthot.com/pm_sdm.htm [Accessed date: 21/10/2011]
5. CMS, March/27/2008. Selecting the Development Approach [online] Available from:
https://www.cms.gov/SystemLifecycleFramework/downloads/SelectingDevelopmentApproach.pdf
[Accessed date: 21/10/2011]
6. Course book (a), n.d. Software Quality Assurance. Publisher: Informatics College, Page no [7-3]
7. Course book (b), n.d. Software Quality Assurance. Publisher: Informatics College, Page no [7-3]
8. IEC TC56 W3 Dependability Management (a), 29/January/2009. Concept of Dependability [online]
Available from: http://www.sars.org.uk/old-site-archive/forms/dependability.pdf [Accessed date:
22/10/2011]
11 | P a g e