Software Engineering Assignment
-
Upload
yusifsuleiman -
Category
Documents
-
view
150 -
download
5
description
Transcript of Software Engineering Assignment
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 1 Software Engineering (C2002)
Computer Institute Kazaure, Jigawa State, Nigeria
Software Engineering Assignment Documentation
ON
Informatics Multimedia kiosk System (IMK)
By
Yusif Suleiman
2308-0703-0223
Supervisor/lecturer: Mr. Aminu Maigari
Date: 16th July, 2012
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 2 Software Engineering (C2002)
Table of Contents CONTENT PAGES Cover …………………………………………………………………………………..1
Table of Contents………………………….……………………………………….......2
Question 1 ……………………………………………………………………………...3
Introduction…………………...………………….……….…………………….….3 Prototyping ………………………………………………………………………...3 Advantage of Prototype……………………………………………………………4 Disadvantage of Prototype…………………………………………………………5 Objective of Prototype……………………………………………………………..6 Prototyping Design Modeling……………………………………………………...7
Description of Prototype Model in respect to IMK……..…………………………8
Requirement Gathering ………………………………………………………..8 Quick Design………………………….……………………………………….8 Build Prototype……………………..………………………………………….8 Evaluation and Refine Requirement……………………………………………9 Engineering Product……………………………………………………………9
Justification of Modelling………………………………………………………..11
Question 2 …………………………………………………………………………...13 Dependability Measures…………………………………………….……………13
Availability………………………………………………..………………….13 Maintainability ……………………………………………………………....14 Reliability …………………………………………….………………….….14 Survivability………………………………………………………………….15
Importance of Dependability Measures………………………….………………16 Availability………………………………………………..………………….16 Maintainability ………………………………………………………..……..17 Reliability …………………………………………….……………..……….17 Survivability…………………………………………………………….……17
References…………………………………………………………………………...18
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 3 Software Engineering (C2002)
QUESTION 1.
Select a life-cycle model that you would follow during the development of the
Informatics Multimedia Kiosk system. Give an outline description of this life-cycle
model and justify your choice of model.
ANSWER:
INTRODUCTION
Informatics Academy Pte Ltd is located at No. 45 Middle Road need to install a
Multimedia Kiosk, which should cater for the need of multi-language facility, so that it
enable and provide easy access to information regarding the campus as well as courses.
The facility will be in the City School Campus with Graphical User Interface (GUI) by
Touch Screen, since it will give access to many visitors / students from different area,
with variety of ages limit, then Prototyping Model will best be the Life Cycle Model to
use.
PROTOTYPING
In many fields, there is great uncertainty as to whether a new design will actually do what
is desired. Often, new designs are said to have unexpected problems. A prototype is
often used as part of the system design process to allow engineers and designers the
ability to explore design alternatives, another important use of prototyping model is that
it helps critically examine the technical issues associated with the system development. It
also helps in enhancing better user relationship to test theories and confirm performance
prior to start installing the new system for example, Schools building prototypes of POS
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 4 Software Engineering (C2002)
to demonstrate self services features. A prototype is an early sample or model built to
test a concept, process or to act as a thing to be replicated or learned from. Prototyping is
the rapid development of a system. Regardless of the manner in which it is applied, the
prototyping paradigm helps customers and developers understand the requirements for
the system. Prototyping is of various uses, some prototypes are used to confirm and
verify consumer interest in a proposed design whereas other prototypes will attempt to
verify the performance or suitability of a specific design approach.
The prototyping paradigm begins with Requirement Gathering and then Quick Design,
Build Prototype, Evaluate & Refine Requirements and Engineer Product. These are
the series of steps that enables the developer/user to create a model of software that
must be built.
ADVANTAGES AND DISADVANTAGES
ADVANTAGES OF PROTOTYPING
May provide the proof of concept necessary to attract funding
Early visibility of the prototype gives users an idea of what the final system looks
like
Encourages active participation among users and producer
Enables a higher output for user
Cost effective (Development costs reduced).
Increases system development speed
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 5 Software Engineering (C2002)
Assists to identify any problems with the efficacy of earlier design, requirements
analysis and coding activities
Helps to refine the potential risks associated with the delivery of the system being
developed
Various aspects can be tested and quicker feedback can be got from the user
User interaction available during development cycle of prototype
DISADVANTAGES OF PROTOTYPING
Producer might produce a system inadequate for overall organization needs
User can get too involved whereas the program cannot be to a high standard
Structure of system can be damaged since many changes could be made
Producer might get too attached to it (might cause legal involvement)
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 6 Software Engineering (C2002)
OBJECTIVE OF PROTOTYPE
Misunderstandings between software users and developers are exposed
A prototyping is basically planned quickly and modeling (in the form of quick
design).that focus on a representation of those aspects of the software that will
be visible to the customer and end users. e.g. (human interface layout or
output display from the users).
Missing services may be detected and confusing services may be identified
A working system is available early in the process
The prototype may serve as a basis for deriving a system specification
The interaction enables the developer understanding what need to be done so
that even though they find it difficult to use
The system can support user training and system testing
Prototyping serves as a mechanism for identifying software requirement
The prototyping can also serves as the first system and developers set to build
something immediately. Although prototyping can be problematic the
identification is to define the rules of the game at the beginning (i.e. customers
and the developers must agree).
Prototyping can be used as a standalone process model.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 7 Software Engineering (C2002)
THE PROTOTYPING DESIGN MODEL
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 8 Software Engineering (C2002)
DESCRIPTION OF PROTOTYPE MODEL IN RESPECT TO
INFORMATICS MULTIMEDIA KIOSK SYSTEM
REQUIREMENT GATHERING
This approach begins with communication. The users/visitors and software engineers
meet and define the overall objectives of the system, by identifying whatever requirement
are known, outline areas where further definition is mandatory.
QUICK DESIGN
Quick implementation of these aspects of the system that will be visible to the
customer/user for example, input and output formats.
BUILD PROTOTYPE
When a working prototype is build by the developer attempt to make use of existing
programs e.g. report generators, window manager’s that leads to the construction of the
prototype. This build prototype it happens in a real software development that the
customer/user will have more detailed about the Informatics Multimedia Kiosk system
through the development of the prototype that can be achieved, if the developer could not
be able to developed the software that will recognize foreign language for the visitors of
the Campus. This will make a visitors going to Campus Information Center or looking
for interpreter within the city.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 9 Software Engineering (C2002)
But if only the software has been build properly for the Informatics Multimedia Kiosk
by the developer, and the developer will determine the size of the software base on the
expected user, and allow the School Advertisement, Automatics Musical on the screen
to attract users for entertainment within different aged limit just as we said for the
scenario that the IMK will attract visitors/students full time and part time in all ages.
EVALUTION AND REFINE REQUIREMENTS
The prototype is deployed and evaluated by the customer/end user. Feedback is used to
refine the Informatics Multimedia Kiosk system requirements for the software,
iteration occurs as the prototype does not satisfy the need of the end users, while at the
same time enabling the developer to get better understanding of what needs to be done
for the organization to continue existing. Just as how the software is been developed and
satisfy the needs of the customers by enabling them to understand the best of the
Informatics Multimedia Kiosk system requirement for the developer to find it very easy
to evaluate the software and generally the refine requirement will determine if the
software size will exceed the limit for the accommodation for them to be occupied or not,
then the system will give an alert for the user on how to refine the requirement for the
School also the system will check the number of people or users that can be hold up.
ENGINEER PRODUCT
Prototype can serve as the first system, with a confirmed set of requirements based on the
prototype, users get a feel for the actual system and developers get to build or developed
the software immediately, also developed the database before starting the software design
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 10 Software Engineering (C2002)
for the Informatics Multimedia Kiosk. And it is actual a set of requirement of the
School Campus for the software development product that can be applied to any of the
software engineering product. (i.e.) the type of the software, the size of the software, and
also the key for the software which may enable user to see the different courses and other
related information easily etc. This process can also be best applied to the School System,
so that the Informatics Multimedia Kiosk system can improve their activities and
services for the next planning. However the engineer supposes to be checking for errors
for the software in order not to be interrupted while visitors are busy viewing the record.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 11 Software Engineering (C2002)
JUSTIFICATION OF THE MODEL
The school has been in existences even before developing the IMK system and the
requirement that are not well defined. It’s only that certain services areas need
improvement or that existing procedures must be changed, or they may need better
program for managing certain activities. Because the approach begin with
communication, but they are not sure what that information is all about the user
specification might be too blurred to even begin formulating a design process. The
prototyping is actually a test model; the design evolves through the process of users
activities by allowing different ages group and multiple languages. This is necessary for
allowing visitors from around the world, although the prototype is a working system; it is
designed to be easily changed. Information gain through its use is applied to a modified
design that may again be used as prototype to reveal still times as necessary to reveal
essential design for the IMK requirement in general, the software engineer find prototype
to be most useful under the following condition:
No system with the uniqueness of the one proposed for the IMK system has yet
been constructed by the developer.
The essential features of the system are only partially known other is not
identifiable even through careful of the IMK system that can be held by the
software requirement.
The experience in using the system for the IMK system will significantly add to
the list of the requirement the system should meet more so than for any
development approach.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 12 Software Engineering (C2002)
May provide the proof of concept necessary to attract more students to register
with the school.
Encourages active participation among users of the IMK system.
Various aspects can be tested in the IMK system and quicker feedback can be got
from our user.
They system user will participate in the development process for the Kiosk
system software.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 13 Software Engineering (C2002)
QUESTION 2
Describe the dependability measure attributes which could be applied to the Informatics
Multimedia Kiosk system. For each of the dependability measures you describe,
evaluate its importance in contributing to the overall software quality.
ANSWER:
DEPENDABILITY MEASURE ON IMK
All software needs to be sufficiently dependable to accomplish the functions correctly in
dynamic distributed for which it was built. In many heavily regulated industries
(especially the safety critical ones) there are stringent requirement to demonstrate that
software is fit for its purpose and that it can reach certain dependability targets within a
give level of confidence, before the software is approved for integration into the wider
system. But in all environments it is necessary to ensure appropriate confidence that the
software will be dependable enough to be economically viable.
Dependability can be defined as the probability that a system will be able to operate
when needed. There are many possible measures of dependability. Portion of most
important are points wise:
Availability, Maintainability, Reliability, and Survivability
AVAILABILITY
Availability is an important attribute for the Informatics Multimedia Kiosk system.
Basically the organization is suppose to have availability requirement for the system so
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 14 Software Engineering (C2002)
that the software can easily be developed for the Kiosk system, and the hardware’s that
can be used for the system they can be available so that a visitors/users can interact
easily, there more need for visitors in the Campus reception for inquiry.
MAINTAINABILITY
As system are used, new requirement surface for the Informatics Multimedia Kiosk
system are secured. It is important to maintain the usefulness of a system software and
the peripheral part of the system like keyboard, touch screen option, graphical display
and so on so that they can be maintain easily for the visitors in the Informatics
Multimedia Kiosk Campus. However Maintainable software is software that can be
adapted economically to cope with the new requirements and where there is a low
probability that makes changes will introduce new error into the system software in order
not to have any problem with the users’ information by the organization. Maintainability
will make intruders not to have access with the other confidential record in the school
through this new service; will not endure the software developer if the requirement may
need change.
RELIABILITY
Reliability is a special aspect in software engineering field that deals with study,
evaluation and life cycle management, that include all parts of the system, including
hardware, software, supporting infrastructure (critical external interfaces) operators and
procedures. System/software reliability is the ability of a system or component to perform
its required function under stated conditions for a specified period of time.
System reliability may also be define as several ways:
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 15 Software Engineering (C2002)
The resistance to failure of device or system
The capacity of a device or system to perform as designed.
The probability that a function unit will perform it required function for a
specified interval under stated conditions
SURVIVABILITY
Survivability is also one of the very important attribute for the Informatics Multimedia
Kiosk system. Based system software is survivability, which is closely related to security
and availability. Survivability is the ability of system software to continue to deliver
service whilst it is under attack and potentially, Based on the scenario it also means the
system (Kiosk) will give access to under-age visitors for the Informatics school whether
on existing courses or future, while part of the system software is restricted for the
students (disabled). Work on survivability focuses on identifying key system components
and ensuring that the user of Informatics Multimedia Kiosk can deliver a minimal
service. Three strategies are used to enhance survivability namely, resistance to attack,
attack recognition and recovery from the damage caused by the attacker. This
survivability will make the Informatics Multimedia Kiosk last longer.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 16 Software Engineering (C2002)
IMPORTANT OF DEPENDABILITY MEASURES TO OVERALL
SOFTWARE QUALITY
It’s very important to know the activities that can define software quality at a number of
different levels of abstraction before software quality can be initiated, for every
characteristic, there are a set of questions which are relevant to that characteristic. Some
type of scoring formula could be developed based on the answers to these questions, from
which a measurement of the characteristic can be obtained. Once software quality is well
understood, then a software team must identify a set of activities that would match with
the dependability measure for the Informatics Multimedia Kiosk system. Let’s look at
the following process:
AVAILABILITY
This simply means the software developer must have the quality available requirement
while developing the software for the Informatics Multimedia Kiosk system. If any of
the requirement is missing during the software development that means the software
component are not going to be completed or the software component will not be
qualitative if the software developer has to develop the software then he has to find the
available quality requirement while developing the software for the Informatics
Multimedia Kiosk system, just as we said visitors from around the world may come to
center for information without any interpreter. Without developing quality software the
student / visitors will not easily get firsthand information.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 17 Software Engineering (C2002)
MAINTAINABILITY
The Informatics Multimedia Kiosk system software is developed in such a way that if the
management need expansion: does the memory capacity been reserved for future expansion?
Is the design cohesive—i.e., does each module have distinct, recognizable functionality?
Does the software allow for a change in data structures (object-oriented designs are more
likely to allow for this)? If the code is procedure-based (rather than object-oriented), is a
change likely to require restructuring the main program, or just a module? Based on answer
to this question even if any problem arises this statement simply means the software has been
develop correctly it also undergoes software quality, mean the cost of maintenance of the
system will not be expensive.
RELIABILITY
Are loop indexes range-tested? Is input data checked for range errors? Is divide-by-zero
avoided? Is exception handling provided? It is the probability that the software performs its
intended functions correctly in a specified period of time under stated operation conditions,
but there could also be a problem with the requirement document...
SURVIVABILITY
This dependability measure undergoes so many activities that performed on the software
quality, basically the survivability measure means if the software is not design perfectly then
the provided information and record of the Informatics Multimedia Kiosk cannot be
retrieve well. Therefore if the software can be developed well then the visitors/students can
get actual requested information as well as qualitative entertainment. Without the
survivability of the software the system will not search forward or backward if there is space
earlier, so survivability is very important consideration to the software quality.
JSIIT Yusif Suleiman2308-0703-0223
IADNCS 18 Software Engineering (C2002)
REFERENCE
1. SoHar 2012, System Avalability and Prediction. “Availability Modelling
Using Markov Modeling”. www.sohar.com/software/meadep
2. Informatics holding, software engineering module (C2002), Global
Business Unit, 2006. Page 1-6 to 1-11.
3. Lan Sommerville, Software Engineering: Pearson 9th Edition 2011. Page
82 to 401.
4. Wikipedia 2012, the Free Encyclopedia on Software Engineering.
www.en.wikipedia.org/wiki/software_engineering
5. George T. Heineman and William T. Councill, Component-Based
Software Engineering, Addison-Wesley; 1st edition 1991.
6. William Stallings, Computer Organization and Architecture: Designing
for Performance, Prentice Hall; 8 edition (April 13, 2009). Page
7. Roger S. Pressman, Software Engineering: A Practitioner's Approach,
McGraw-Hill Science Engineering Math; 6 edition (April 2004) page 712
8. David A. Gustafson, Schaum's Outline of Software Engineering, McGraw-
Hill; 1 edition (June 2002). Page 101.