List ten
businesses or other organisations with which you deal fairly frequently- try to
include a wide variety (i.e. different sizes, different purposes etc.). For
each organisation, list two or more important purposes for within the
organisation uses a computer system and briefly describe each system (e.g. what
it does, probable size, cost and complexity, importance to the organisation,
on-line/off-line, connect to the web etc.).
In our daily
life, we get to deal with different types of organisations. Most of them now use
computer system to ease their operations. Some of such organisations and the
system they are using are discussed below:
Note: Complexity
of system is compared in index, 1 being the simplest and 10 being the most
complex one.
1.
Bank
-
E-banking
E-banking has been a
compulsory feature for banks these days. E-banking enables the customers to perform
their banking operations like statement enquiry, online money transfer etc.
from anywhere using the internet.
Size: probably more
than 10,000 users (vary with banks)
Complexity:7
-
ATM
networking
ATM is the major
attractions for customers today. Financial organisations try to include ATM
services for their customers. ATM service enables account holder to check the
balance or withdraw amount from the ATM vendors placed at suitable areas.
Size: probably more
than 5 vending machines in a bank network.
Complexity: 7
2.
College
-
Student
management system
Student management has
always been the matter of concern for the schools and colleges. Student
management system plays the central role in managing the information related to
students. The information can be their personal data, course taken, class
schedule, class attendance, exam information etc... Basically student management system is web
based and run within the intranet. The cost of student management system varies
with the number of features it incorporates. A student management system may
cost above NRs. 20,000
Size: 5-15 users
Complexity: 5
-
Accounting
System
Colleges use accounting
system for maintaining their financial records. One additional feature that
accounting system of colleges need to have is the managing student’s fees.
Accounting system is an distributed applications run within the account
department only. The cost of accounting system may be more than NRs. 50,000.
Size: 2-5 users
Complexity: 7
3.
Movie
theatre
-
Ticketing
System
Ticketing system is the
skeleton of a movie theatre. It produces and manages the tickets and sells them
to customers. So ticketing system also includes billing system. Online booking
are included now a days in ticketing systems. The ticketing system may cost
around NRs. 35,000 or more.
Size: 10-15 users
Complexity: 4
4.
Telecom
service provider
-
ERP
system (enterprise resource planning)
Telecom service
provider is an enterprise level organisation with branches all over the
country. Telecom provides different services like, landline telephone. Mobile
(post-paid, pre-paid and CDMA), internet etc. to huge number of customers over
national level. So the task of managing these services cannot be handled by any
simple system. ERP system takes all the responsibilities of management. The ERP
system is very much expensive probably in the range of crore.
Size: more than 25
lakhs users.
Complexity: 10
5.
Internet
service provider
-
Customer
Management System
Customer Management
System in Internet service provider manages the information of customer along
with their service information. The cost of Customer Management System may be
around NRs. 30,000- 50,000.
Size: 20-30 users
Complexity: 6
6.
Shopping
malls
-
inventory
system
Inventory system in
shopping malls keeps track of the stock and even includes billing system to
produce bills. The cost of a inventory system may be around NRs. 20,000
Size: 2-3 users
Complexity: 4
7.
Television
station
-
ERP
system
ERP system in television
manages different services like live/recorded broadcasting, employee
management, advertise managementetc. The cost of ERP system for television
stations can be probably more than one lakhs.
Size: more than 100
users.
Complexity: 8
8.
Catering
service provider
-
Catering
management system.
Catering management
system helps to manage the daily operations of catering such as customer
orders, utensils, budgets and other food materials. The cost of catering
management system may be around NRs. 10,000.
Size: 1-2 users
Complexity: 3
9.
Library
-
library
management system
Library management
system keeps track of different books in the library and the members of
library. Along with that, it also keeps the record of the books borrowed by the
members. The cost of the library management system can be around NRs. 30,000.
10. Hotels
-
Inventory
system
Inventory system in
hotels keeps track of different items required for daily operations of the
hotels like food materials, beverages and other utensils. The cost of inventory
system may be more than NRs. 20,000
Size: 5-10 users
Complexity: 5
-
Customer
management system
Hotels manage the
information about their customers and rooms by Customer management system. It
also handles the booking of rooms. The cost of customer management system for a
hotel may be around NRs. 20,000.
Size: above 10 users
Complexity: 5
What part may a
standard methodology play in the software development process?
Software is an
online representation of a business process or logic of an organisation. So it
is very much vital that it represents the process or logic correctly. Software
development is the process of developing and installing the software
application in the system to carry out the business processes online. How much softwarefulfils
the requirement and addresses the problem domain depends on how the software is
developed. A standard methodology sets the ways of managing the software
development stages to come up withsoftware, meeting the specifications of SRS.
Describe the
main stages/phases/activities in developing a new system?
System development life cycle defines the stages for
developing a new system.Developing a new system goes generally through
following stages.
System Planning
It is the initial stage where the plan is developed
for the overall project. Feasibility study is carried out on the economical,
technical and operational ground. Feasibility results are documented on the
basis of which further project plan are prepared.
Analysis
This stage is sub-divided into two more stages:
Requirement gathering and Requirement analysis. In requirement gathering,different
methodologies such as interview, research, questionnaire,and document review etc.
to are used to gather the entire requirement needed for problem solution.
Requirement analysis focuses on filtering and précising the requirements
gathered and document them in SRS (System requirement Specification).
Design
In design stage, requirement specifications are
converted into pictorial model using different design techniques such as DFD,
flowchart, ER diagram etc… It is the basis in which programmers code to produce
working modules.
Development
In this stage, design specification is converted
into machine readable program.
Testing
The main focus of these stages is to find the errors
in the application. Different stages of testing such as unit testing,
integration testing and system testing are carried out using different testing
techniques such as black box testing and white box testing. Debugging is done
if errors are found.
Implementation and Maintenance
After the testing, the application is installed in
the real environment by choosing the suitable implementation methods such as
direct, gradual, pilot, parallel etc… While running in the real-time
environment, many run-time errors may be grounded which were not found in
testing phase. These errors are maintained to continue the system operations.
Some
methodologies suggest a waterfall approach to project management and some
suggest an incremental/iterative approach.
a)
How
are the stages/activities organised under each approach.
b)
Explain
some of the advantaged/disadvantages of each approach.
c)
What
issues would affect the choice of approach for a given project?
a)
Waterfall
methodology
In the waterfall methodology,
SDL stages are organised linearly i.e. flowing sequentially down along the
stages with minimal backward.
Incremental/iterative
approach
Incremental approach is
the combination of linear and iterative framework. In this approach, each
iteration are the set of mini-waterfall stages.
Figure
2: Waterfall methodology [5]
Figure
3: Incremental Methodology [6]
b) Waterfall
methodology
Advantages
i.
Supports
strong documentation. Each stage in waterfall methodology needs to produce
document which will act input for next stage.
ii.
Progress
of project is measurable as the stages are clear cut and the progress can be
tallied with the Gantt chart.
iii.
Favours
less experienced project teams as the methodology is very simple with well-defined
sequential stages.
Disadvantages
i.
Requirements
should be clearly defined early in the project. Any additional requirements
cannot be entertain in the later stages.
ii.
Backward
movement in the life cycle is not frequently allowed.
iii.
If
one stage takes long time for completion, consecutive stages will be blocked.
iv.
Communication
with user will be limited.
v.
Customer
needs to wait for long time to see the working program.
Incremental/Iterative methodologies
Advantages
i.
After
each iteration, new product is evolved.
ii.
Product
is review and requirements are updated in each iteration.
iii.
Gradual
implementation helps to monitor the effects of each incremental change.
iv.
Continuous
communication with stakeholders is required.
Disadvantages
i.
Difficult
problems are postponed for the future iterations.
ii.
It
is difficult to specify the total system at very early stages for the system
with long runtimes.[3]
c) Some of the important factors that affect the
choice of a methodology for a system development are:
i.
Requirement
It
is the most important factor that determines the other factors like time and
budget. If requirement is clear and well defined early in the analysis stage,
time and budget can be calculated and fixed. In such scenarios Waterfall
approach would be best.
ii.
Time
When
time frame for system development is fixed, we cannot use iterative methods
such as spiral method. Instead, waterfall method would be suitable for this
scenario.
iii.
Budget
Like
time, budget also plays the same role. In iterative approaches, budgets are
reviewed in every iteration. So for a fixed budget project, iterative
approaches are not suitable option.
iv.
Project
team experience
Though
selection of approaches mainly depends upon the requirement and problem domain,
the successfulness depends also on the experience of team members in project.
For e.g. Spiral methodology needs the highly experienced team member and
project manager otherwise, the project will go for infinite iteration.
Meanwhile, less experienced team members can choose waterfall as it is very
simple and straight-forward.
Explain some key
differences between the structured and object-oriented approaches to analysis
and design.
Object-oriented
analysis and design is a new concept in the software engineering while
structured approaches are the conventional form of analysing and designing a
system component. Some key differences between these two approaches in term of
analysis and design are given below:
Structured
analysis and design
|
Object-oriented
analysis and design
|
It is a top-down approach
|
It is a bottom-up approach
|
The structured
analysis and design focuses on the process of problem solution
|
Object-oriented
analysis and design focuses on the element of the problem solution, i.e. what
is to be done rather than how it is done.
|
Structured analysis and design results
in the identification of flow of data within the system.
|
Object-oriented analysis and
design results in the identification of entities involved in the system.
|
Design tools such as
DFD, flowchart etc. are used.
|
Design tools
such as UML, entity-relationship diagram (ER diagram) etc. are used.
|
List a number of
standard methodologies-reflecting a variety of approaches.
Some of the
approaches varying from the standard methodologies are:
1)
V-shaped
model
V-shaped
model is the slight variation of the waterfall methodologies addressing the
problems of waterfall methodologies. It relates each stage of linear
methodologies with the testing and quality assurance [1].
2)
Agile
development technologies
One
of the latest methodologies evolved, agile development technology consists of
group of software development methodologies. Agile software development
technology focuses on the early and continuous delivery of the software to
customers. Even late changes in requirement are welcomed which has made it
popular among the customers. [2].
3)
Component-based
Development
This
methodology focuses on the reuse of components of other system or products
developed by other vendors. This enables the developers to develop the product quality
software faster [1].
What skills
might be required/usefulfor system analyst/designers? How might these differ
between the different approaches/methodologies you have listed?
System analysts/designers
play key roles in a system development. So it is necessary to have different
skills which can help them in playing their roles importantly in System
Development Life Cycle. Some such skills are discussed below.
1 Communication
skills: Communication
plays vital roles in different stages of software development. In requirement
gathering, analyst needs to communicate with users and customers to get the
requirement. Analyst in this case must be able to understand their view of
system. In development phase analyst must be able to make the developer
understand what the specifications say.
2 Documentation
skills: Documentation is
a integral part of Software Development Life Cycle. Documentation helps to keep
track of the project as a whole. System analyst/designer needs to prepare SRS
document and design documents. So documentation is essential for system
analysis and design.
3 Programming
skills: Programming
skills helps the system analyst/designer to direct the programmer in the area
of coding.
Methodologies
|
Communication Skills
|
Documentation skills
|
Programming skills
|
Waterfall model
|
High
|
High
|
Medium
|
Incremental model
|
High
|
Medium
|
Medium
|
Prototype model
|
High
|
Low
|
Medium
|
Spiral model
|
High
|
Medium
|
Medium
|
V-shaped model
|
High
|
High
|
Medium
|
Agile development technologies
|
High
|
Medium
|
Medium
|
Component base development
|
High
|
Low
|
High
|
No comments:
Post a Comment