Friday, May 6, 2011
check out my other blog !
http://miyuuuu.wordpress.com/
Tuesday, February 22, 2011
Recommended Practices for SRS
SRS stands for Software Requirements Specification. To explain simply, it is the document which specify what are the exact requirements the software would provide.It should be very specific as it is mostly like an agreement because both parties
sign off the document as well.
In almost every organization, there is a standard template for a SRS. The content in it should also be properly defined.A good SRS would provide benefits such as,
- Establish the basis for agreement between the customers and the suppliers on what the software
product is to do :
Since the SRS defines the requirements clearly, it also serves as an agreement. This would also communicate each others' understanding of the requirements.
-Reduce the development effort.
Since the SRS defines the requirements in detail, the developers do not have to spend time guessing or making assumptions.
-Provide a basis for estimating costs and schedules.
The more detailed the requirements are, a more accurate estimate will be able to be provided.
-Provide a baseline for validation and veriļ¬cation.
Once the product is developed, SRS will provide a baseline to as why a certain feature is included / not included as well.
Some other important things to consider while doing a SRS is the internal consistency.(eg: using different words to refer to the same thing).The requirements need to be broken and specified separately as it will bring proper attention to every requirement. Also , another thing is, we need not give too much internal details or go too deep into the technical details unless the client is interested.
sign off the document as well.
In almost every organization, there is a standard template for a SRS. The content in it should also be properly defined.A good SRS would provide benefits such as,
- Establish the basis for agreement between the customers and the suppliers on what the software
product is to do :
Since the SRS defines the requirements clearly, it also serves as an agreement. This would also communicate each others' understanding of the requirements.
-Reduce the development effort.
Since the SRS defines the requirements in detail, the developers do not have to spend time guessing or making assumptions.
-Provide a basis for estimating costs and schedules.
The more detailed the requirements are, a more accurate estimate will be able to be provided.
-Provide a baseline for validation and veriļ¬cation.
Once the product is developed, SRS will provide a baseline to as why a certain feature is included / not included as well.
Some other important things to consider while doing a SRS is the internal consistency.(eg: using different words to refer to the same thing).The requirements need to be broken and specified separately as it will bring proper attention to every requirement. Also , another thing is, we need not give too much internal details or go too deep into the technical details unless the client is interested.
Tuesday, February 15, 2011
Requirements Engineering (1)
One of the main things about delivering the product is identifying the required product. t is also quite important to identify them as soon as possible because the late correction of errors could cost upto 200 times more. Poor requirements is a major source of problems.
Before identifying the requirements, let’s see what requirements are,
• A specification of what should be implemented
• How the system should behave
• Constraint on the development process
• System properties or attributes
Requirements can be classified as the following,
• Functional Requirements- define functionality
• Implementation requirements-how to implement system
• Performance Requirements-specify minimum acceptable performance
• Usability Requirements- specify the maximum acceptable time to demonstrate the use of the system
In eliciting the above mentioned types, it is needed to identify the business / technical stakeholders. Sometimes it maybe difficult to get user input and involvement. In coming to agreements with the requirements it will be easy if the requirements have been put to understandable form. Preparing proper requirements specification with the collected requirements and sticking to them throughout reduces software defects.
The business value of requirements is huge. Unclear requirements may lead to rework and make the project cost unnecessarily large.
Before identifying the requirements, let’s see what requirements are,
• A specification of what should be implemented
• How the system should behave
• Constraint on the development process
• System properties or attributes
Requirements can be classified as the following,
• Functional Requirements- define functionality
• Implementation requirements-how to implement system
• Performance Requirements-specify minimum acceptable performance
• Usability Requirements- specify the maximum acceptable time to demonstrate the use of the system
In eliciting the above mentioned types, it is needed to identify the business / technical stakeholders. Sometimes it maybe difficult to get user input and involvement. In coming to agreements with the requirements it will be easy if the requirements have been put to understandable form. Preparing proper requirements specification with the collected requirements and sticking to them throughout reduces software defects.
The business value of requirements is huge. Unclear requirements may lead to rework and make the project cost unnecessarily large.
UML for the IT business analyst (2)
This is on 4th chapter and the beginning of the 5th chapter of the book.
Howard Podeswa has stressed in those chapters, the importance of interviews. While in practical work life, we hold interviews to gather the requirements, he has stressed that confirming the requirements is more important. This can reduce many costly mistakes which can occur later.
Another new thing that I met while reading the ebook was that he talks about Business Object Oriented Modelling (B.O.O.M)
In different organizations, the system development life cycles differ. One might be using waterfall model while another uses spiral model and so on.But, mostly the phases in these are,
• Initiation
• Analysis
• Execution
• Test
• Close Out
During the Initiation and Analysis sessions, the BOOM occurs. Initiation means getting a rough cut of the business case. In analysis, the detailed requirements are elicited.
In the initiation phase main deliverable is: Business Requirement Document (BRD).Opportunity Evaluation, Project Vision and Scope and Product Vision and Scope are also some deliverables.
The BRD’s main components are business use-case specifications including business use case diagrams, role map , system use-case diagram and initial class diagram, describing key business classes. Howard has presented a detailed template for BRDs which he has advised to adjust according to the project
Howard Podeswa has stressed in those chapters, the importance of interviews. While in practical work life, we hold interviews to gather the requirements, he has stressed that confirming the requirements is more important. This can reduce many costly mistakes which can occur later.
Another new thing that I met while reading the ebook was that he talks about Business Object Oriented Modelling (B.O.O.M)
In different organizations, the system development life cycles differ. One might be using waterfall model while another uses spiral model and so on.But, mostly the phases in these are,
• Initiation
• Analysis
• Execution
• Test
• Close Out
During the Initiation and Analysis sessions, the BOOM occurs. Initiation means getting a rough cut of the business case. In analysis, the detailed requirements are elicited.
In the initiation phase main deliverable is: Business Requirement Document (BRD).Opportunity Evaluation, Project Vision and Scope and Product Vision and Scope are also some deliverables.
The BRD’s main components are business use-case specifications including business use case diagrams, role map , system use-case diagram and initial class diagram, describing key business classes. Howard has presented a detailed template for BRDs which he has advised to adjust according to the project
Saturday, February 5, 2011
Activity Diagrams
Activity Diagrams show the work flow and they should be read from top to bottom.
When most other diagrams focus on objects, activity diagrams focus on activities and how messages are passed in between different activities.
An activity can be defined simply as an operation in the system.
So prior to drawing an activity diagram, it is required that we identify,
• Activities
• Associations
• Conditions
• Constraints
Activity diagrams cannot be matched with the code and are mostly used by business users only.
http://www.ibm.com/developerworks/rational/library/content/RationalEdge/jan02/t_activityDiagrams_fig1.gif
The above link provides a good explanation of the notations using a simple situation.
When most other diagrams focus on objects, activity diagrams focus on activities and how messages are passed in between different activities.
An activity can be defined simply as an operation in the system.
So prior to drawing an activity diagram, it is required that we identify,
• Activities
• Associations
• Conditions
• Constraints
Activity diagrams cannot be matched with the code and are mostly used by business users only.
http://www.ibm.com/developerworks/rational/library/content/RationalEdge/jan02/t_activityDiagrams_fig1.gif
The above link provides a good explanation of the notations using a simple situation.
Sequence Diagrams
Sequence diagrams are one of the most popular diagram types that are used to analyze and understand a certain solution.Basically speaking , sequence diagrams show the sequence.
UML diagrams can be used to model.
1 Usage Scenarios : This a description of a way a system maybe used.
2.The logic of methods : explore the logic of a certain operation
3.The logic of services : A service is a high level method.The logic of these methods may also be explained using sequence diagrams.
Lets start with the basic elements that need to be used when drawing a sequence diagram.
The above table describes the basic elements that are needed to draw a sequence diagram.
To draw a sequence diagram, we should first understand the scenario / system step by step.
http://www.developer.com/img/articles/2003/09/22/UML/UML0803.gif
The above image shows a sequence digram which is very simple.I have specified the link as well,because the diagram is not very clear.
While looking at the diagram, one thing to notice is,the difference in arrows. (the response arrows are broken lines,and the arrow head is different as well).This is something I used to miss.
UML diagrams can be used to model.
1 Usage Scenarios : This a description of a way a system maybe used.
2.The logic of methods : explore the logic of a certain operation
3.The logic of services : A service is a high level method.The logic of these methods may also be explained using sequence diagrams.
Lets start with the basic elements that need to be used when drawing a sequence diagram.
The above table describes the basic elements that are needed to draw a sequence diagram.
To draw a sequence diagram, we should first understand the scenario / system step by step.
http://www.developer.com/img/articles/2003/09/22/UML/UML0803.gif
The above image shows a sequence digram which is very simple.I have specified the link as well,because the diagram is not very clear.
While looking at the diagram, one thing to notice is,the difference in arrows. (the response arrows are broken lines,and the arrow head is different as well).This is something I used to miss.
Wednesday, January 19, 2011
Short message service center (SMSC)
SMS that we send are stored in a SMSC and sent to the recipient thereafter.When the SMS is sent from the sender's phone, it is first stored in the SMSC. It is a store and forward method that is implemented in the SMSC.
If the recipient is unavailable at the moment, the SMSC should forward the message when he becomes available.If there is a cutoff period defined for the message, at that time the message will be removed from the SMSC.There is a flag to set whether the SMS Sender requires the delivery report or not.
If the recipient is unavailable at the moment, the SMSC should forward the message when he becomes available.If there is a cutoff period defined for the message, at that time the message will be removed from the SMSC.There is a flag to set whether the SMS Sender requires the delivery report or not.
Saturday, January 15, 2011
technological trends for 2011
Mobile computing is showing newer trends everyday.So whats in for 2011?
4G and WIMAX
4G is the fourth generation of cellular wireless standards.A 4G system is supposed to provide secure all-IP based mobile broadband solution to smartphones, laptop computer wireless modems and other mobile devices.
WIMAX is a telecommunications protocol that provides fixed and fully mobile Internet access.
Security is also another big issue which will come up.Just think of the phone you are using,it contains too much personal and business data, especially as you start relying on these smartphones.So this is one area which we can expect to see much more improvements in.
Mobile Advertising is expected to rapidly increase.Because the number of people accessing internet through mobile phones is expected to increase rapidly.
Looking at other technological trends,,, cloud computing heads the list.This is due to the low cost and the high expandability provided by cloud computing.
Context aware computing is another topic.Context aware computing means using the information collected from the environment to improve the interactions with the user.
The third wave of computing which is ubiquitous computing is an exciting new trend which is predicted to come live! It is about using computing technologies without being aware that we are using them.Computing will be integrated to the machines we use. With Ubiquitous computing, computing technologies will be able to be used like we use electricity today.
4G and WIMAX
4G is the fourth generation of cellular wireless standards.A 4G system is supposed to provide secure all-IP based mobile broadband solution to smartphones, laptop computer wireless modems and other mobile devices.
WIMAX is a telecommunications protocol that provides fixed and fully mobile Internet access.
Security is also another big issue which will come up.Just think of the phone you are using,it contains too much personal and business data, especially as you start relying on these smartphones.So this is one area which we can expect to see much more improvements in.
Mobile Advertising is expected to rapidly increase.Because the number of people accessing internet through mobile phones is expected to increase rapidly.
Looking at other technological trends,,, cloud computing heads the list.This is due to the low cost and the high expandability provided by cloud computing.
Context aware computing is another topic.Context aware computing means using the information collected from the environment to improve the interactions with the user.
The third wave of computing which is ubiquitous computing is an exciting new trend which is predicted to come live! It is about using computing technologies without being aware that we are using them.Computing will be integrated to the machines we use. With Ubiquitous computing, computing technologies will be able to be used like we use electricity today.
CDR - Call Detail Record
CDR is the computer generated record whenever an event occurs in a telephone exchange.
A CDR is made of fields that describes the exchange.
such fileds may include :
additional digits on the called number used to route or charge the call
the result of the call
the route by which the call entered the exchange
the route by which the call left the exchange
computer networks are widely used for transporting cdr files.
These details are later also used for billing purposes.The billing system also receives records from long distance service providers, roaming partners etc. The billing system then updates these CDRs to their correct customer and rating information. Then these details are combined into a single invoice that is sent to the customer.
Call detail records can be used later for reporting solutions as well because they hold a huge collection of information.
Three types of call detail records are,
- Fixed-fee CDRs — Generated when a subscriber logs into the SMS network and receives a password in the form of a text message. A fixed-fee CDR provides network access for a specified time period.
- Session CDRs — A session CDR records the length of time of the WLAN session and the number of bytes of data sent and received.
- Partial CDRs — Generated periodically during a WLAN session. A provider can specify how frequently a system generates a partial CDR by specifying time and volume.
A CDR is made of fields that describes the exchange.
such fileds may include :
additional digits on the called number used to route or charge the call
the result of the call
the route by which the call entered the exchange
the route by which the call left the exchange
computer networks are widely used for transporting cdr files.
These details are later also used for billing purposes.The billing system also receives records from long distance service providers, roaming partners etc. The billing system then updates these CDRs to their correct customer and rating information. Then these details are combined into a single invoice that is sent to the customer.
Call detail records can be used later for reporting solutions as well because they hold a huge collection of information.
Three types of call detail records are,
- Fixed-fee CDRs — Generated when a subscriber logs into the SMS network and receives a password in the form of a text message. A fixed-fee CDR provides network access for a specified time period.
- Session CDRs — A session CDR records the length of time of the WLAN session and the number of bytes of data sent and received.
- Partial CDRs — Generated periodically during a WLAN session. A provider can specify how frequently a system generates a partial CDR by specifying time and volume.
Saturday, January 8, 2011
Sigtran Stack
SIGTRAN , very briefly can be introduced as SS7 over IP.
SIGTRAN is a set of protocols that transport SS7 messages over IP networks. SIGTRAN allows IP networks to connect with the Public Switched Telephone Network (PSTN).SIGTRAN is a very IP friendly protocol suite.
A usage of SIGTRAN is when a telephone company switch transmits SS7 signals to a signaling gateway. The gateway converts the signals into SIGTRAN packets for transmission over IP to the next signaling gateway to another PSTN.
There are mainly 3 components of the SIGTRAN protocol stack
-A standard IP layer.
-Stream Control Transmission Protocol (SCTP):Operates same level as TCP.It helps to transfer messages between peer SCTP users.SIGTRAN uses few services of SCTP.
-An Adaptation layer
SIGTRAN currently defines four SS7 related adaptation layers as well.
-The message transfer part level 2 user adaptation (M2UA) layer
-The message transfer part level 2 peer-to-peer adaptation (M2PA) layer
-The message transfer part level 3 user adaptation (M3UA) layer
-The SS7 SCCP user adaptation (SUA) layer
SIGTRAN provides reliable and orderly transfer.There is low less and delay.SIGTRAN will play an important role in the future services as well.
SIGTRAN is a set of protocols that transport SS7 messages over IP networks. SIGTRAN allows IP networks to connect with the Public Switched Telephone Network (PSTN).SIGTRAN is a very IP friendly protocol suite.
A usage of SIGTRAN is when a telephone company switch transmits SS7 signals to a signaling gateway. The gateway converts the signals into SIGTRAN packets for transmission over IP to the next signaling gateway to another PSTN.
There are mainly 3 components of the SIGTRAN protocol stack
-A standard IP layer.
-Stream Control Transmission Protocol (SCTP):Operates same level as TCP.It helps to transfer messages between peer SCTP users.SIGTRAN uses few services of SCTP.
-An Adaptation layer
SIGTRAN currently defines four SS7 related adaptation layers as well.
-The message transfer part level 2 user adaptation (M2UA) layer
-The message transfer part level 2 peer-to-peer adaptation (M2PA) layer
-The message transfer part level 3 user adaptation (M3UA) layer
-The SS7 SCCP user adaptation (SUA) layer
SIGTRAN provides reliable and orderly transfer.There is low less and delay.SIGTRAN will play an important role in the future services as well.
Sunday, January 2, 2011
Operating System Clustering using SSI
Clustered computer systems have become an attractive solution for variable workloads.Hardware is available for these solutions but rendering the system usable from an operators' view point is an issue.Single computer operating systems do not scale in a usable manner to the clustered architecture.But some operating systems are designed specifically to support clustered architectures.
Before going on to clustered operating systems, any operating system system should provide a user friendly interface for the user, the applications and the cluster hardware.In a cluster operating system, when a node fails to function , the rest of the processes can continue to function. It is important to make sure that the cluster appears as a single computer.
Single system image (SSI) is used to do this.Implementing a single system image makes a cluster of machines appear as one computer.
A SSI implements the following features to a cluster.
- A single entry point to the cluster
user can connect to the cluster as a virtual host.The system
distributes the user requests to different physical hosts to
balance the load.
- A single file hierarchy
After entering a system, the user sees a single file system that
integrates local and global disks.
- A single control point
The entire cluster and each node can be configured, monitored and controlled
from a single window.
- virtual networking
any node can access any network connection.
- A single memory space
users see a huge memory which is actually a set of distributed memories.
- A single job management
a user job can be submitted from any node and any number of nodes can be requested
to execute it
- A single user interface
The user should be able to use the cluster through a single GUI.
Before going on to clustered operating systems, any operating system system should provide a user friendly interface for the user, the applications and the cluster hardware.In a cluster operating system, when a node fails to function , the rest of the processes can continue to function. It is important to make sure that the cluster appears as a single computer.
Single system image (SSI) is used to do this.Implementing a single system image makes a cluster of machines appear as one computer.
A SSI implements the following features to a cluster.
- A single entry point to the cluster
user can connect to the cluster as a virtual host.The system
distributes the user requests to different physical hosts to
balance the load.
- A single file hierarchy
After entering a system, the user sees a single file system that
integrates local and global disks.
- A single control point
The entire cluster and each node can be configured, monitored and controlled
from a single window.
- virtual networking
any node can access any network connection.
- A single memory space
users see a huge memory which is actually a set of distributed memories.
- A single job management
a user job can be submitted from any node and any number of nodes can be requested
to execute it
- A single user interface
The user should be able to use the cluster through a single GUI.
Subscribe to:
Posts (Atom)