Design Patterns #Software Engineering

Design Pattern Basics
A design pattern is a specific approach to a specific problem. Different software projects may face or may need to solve the same problem. For example: collecting data in a web-page and storing the data in a database is a common problem in web-based enterprise applications. It’s possible to write the solution in different ways. Rather, we can also come up with a specific pattern to solve the problem. The pattern may include the steps that must be followed (enforce fields, don’t allow null values, validate input, validate user rights), may define the different objects required, may provide the interaction among the different objects/components, may define the interfaces. The usefulness of design patterns are that you can come up with the most efficient object designs that will also support the extensibility and scalability of the solution. Also, the pattern may consider reliability and timeliness issues of the solution/problem. Hence, when a design pattern is designed keeping all these issues under consideration, in most cases the solution will be a good/robust one. Besides, the programmers in the team will be on the same pace/level. The novice or the new programmers will not require to reinvent the wheel again wasting much time in between. Refer them to the design pattern and let them do the work accordingly.

From: http://sitestree.com/?p=5012
Categories:Software Engineering
Tags:
Post Data:2010-12-05 12:10:07

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Some random information on Software Engineering #Software Engineering

  • User involvement througout the project may reduce the chance of failure
  • DSDM – directly involves users in the development team
  • Selecting the right user/person, defining the role of the user, using different individuals rather than a particular person – may increase the chance of success. Some thought is needed to make better use of user involvement.
  • Computer Aided Software Engineering (CASE) tools may reduce total duration and increase efficiency.
  • CASE can be used in the analysis, design, and automatic code generation
  • Principles of Agile approaches: Individuals and Interactions over processes and tools, Working software over comprehensive documentation, Customer collaboration over contract negotiation, Responding to change over following a plan

From: http://sitestree.com/?p=4941
Categories:Software Engineering
Tags:
Post Data:2007-12-17 22:03:04

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Unified Software Development Process #Software Engineering

From: http://sitestree.com/?p=4940
Categories:Software Engineering
Tags:
Post Data:2006-11-11 08:17:19

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Why things go wrong? #Software Engineering

What are the problems?
End user’s perspective

  • Many projects just not get finished
  • The system works but it’s dreadful to use
  • The system looks pretty but does not do all the work

A client’s perspective

  • Many projects (50% approx., Standishgroup, 1994, 2001) exceed the budget
  • Many projects are delivered late — may be of no use at the time of completion
  • The deployment was a mess, caused some major disaster in operation – the staffs do not trust the system
  • Some stakeholders may try to prevent the success of a project for some benefit
  • The business, the requirements have changed over the period – a completely new system is required now

A developer’s perspective

  • Developers feel they built what was wanted; the clients or the end users still are not happy; the clients/end user’s may have changed their minds in the meantime or they did not understand the developers’ specification; or there were misunderstandings in the beginning about requirements
  • Pressure from different sources may limit developers’ ability to produce an excellent system. Pressure: Budget, time limit, see the result
  • The developers may be inexperienced with the particular techniques they must use – still they are highly skilled and basically talented
  • No documentation, explanation on the existing work. Not well written code – developers may have much difficulty to understand them before able to modify.
  • The goals may be impossible to implement. Developers may have warned…but nobody listened..so the project failed.
  • Many developers may feel — ‘The system is fine .. the users are the problem’ – without being prepared to examine critically their own preconceptions

Aspects of Poor System Usability

  • Poor interface design
  • Inappropriate data entry
  • Incomprehensible error messages
  • Unhelpful help
  • Poor response times
  • Unreliability in operation

Why things go wrong?
Quality Problems

  • The wrong problem is addressed – system conflicts with business strategy
  • Wider/Long term/future influences/consequences are ignored
  • Incorrect analysis, design, and implementation [method/strategy]
  • Project was initiated with wrong reason – going online without analyzing the benefit – just to follow the trend

Productivity Problems

  • Users have changed their minds
  • External factors like a new legislation have changed the environment
  • Implementation infeasible
  • Poor project control like having inexperienced project managers

Hidden Costs of Poor Design

  • Illogical screen layout: Wasted time, loss of confidence in the system
  • Difficult to read screens: increased frustration, increased sickness
  • Unhelpful help messages: increased error rate, increased absenteeism, greater staff turnover
  • System response is slow:increased operating costs
  • Lost data: extra work, reduced income
  • Inaccurate outputs: extra work checking outputs, loss of customer confidence, lost sales

Ref: Object oriented Analysis and Design using UML by S. Bennett et. al.

From: http://sitestree.com/?p=4939
Categories:Software Engineering
Tags:
Post Data:2010-10-15 11:01:23

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Improve your status from “good developer” to “great developer”! #Software Engineering

Check this article: Improve your status from “good developer” to “great developer”!

From: http://sitestree.com/?p=4871
Categories:Software Engineering
Tags:
Post Data:2009-09-04 23:43:12

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Very Small Enterprises (Software) : Software Engineering #Software Engineering

Very Small Enterprises (VSE) have significant contribution in software products and service industry. In Europe 85% IT sector companies have only 1 – 10 employees, 78% of Montreal, Canada based companies have < 25 employees, 50% have fewer than 10 [2005], 66% of US companies have 1-10 employees [2002].

Current software engineering standards do not address the needs of these organizations. It is also difficult for VSEs to achieve certifications such as ISO and IEEE and VSEs usually lack the capability to be identified as quality software producers. Most VSEs do not have the resources in terms of number of employees, cost, and time – or see a net benefit in establishing software life cycle processes.

In 2005, WG24 was established to define a software engineering standard for VSEs. WG24 is now justifying the following hypotheses regarding VSEs to find an appropriate standard for them.

  • VSEs require light-weight and well-focused life cycle
  • It will be different for different business profiles
  • Standards should be significantly different as VSEs lack resources
  • VSEs are limited in both time and resources that lead them to a lack of understanding how to use standards for benefits

Initially, WG24 is analyzing Moprosoft, a Mexican standardbased on ISO standard for small and medium enterprises to achieve their objective

From: http://sitestree.com/?p=4859
Categories:Software Engineering
Tags:
Post Data:2013-03-28 21:57:50

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Software Engineering Code of Ethics and Professional Practice #Software Engineering

The following information is provided by IEEE Software Engineering section. You can check it out by clicking the following link..Software Engineering Code of Ethics and Professional Practice

From: http://sitestree.com/?p=4858
Categories:Software Engineering
Tags:
Post Data:2012-08-15 07:00:31

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Software Engineering Certification – CSDP 2008 IEEE #Software Engineering

Topics:

  • Business Practices and Engineering
  • Economics
  • Software Requirements
  • Software Design
  • Software Construction
  • Software Testing
  • Software Maintenance
  • Software Configuration Management
  • Software Engineering Management
  • Software Engineering Process
  • Software Engineering Tools and Methods
  • Software Quality

Resources

From: http://sitestree.com/?p=4857
Categories:Software Engineering
Tags:
Post Data:2009-07-19 04:14:10

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Software Project Failure #Software Engineering

In 1994 Standishgroup (http://standishgroup.com/chaos_resources/chronicles.php), documented billions of dollars wastage in failure software development projects and also examined the reasons. Top two reasons are:

  1. Incomplete requirements
  2. Lack of user involvement

Reference: IEEE Computer Magazine, March 2008: Issue on Software Engineering. Page:95

From: http://sitestree.com/?p=4854
Categories:Software Engineering
Tags:
Post Data:2011-02-25 13:02:21

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada

Design in construction #Software Engineering

Design in construction
When software development does not go through a detailed design phase, developers require to think the design of the part they are working on and how the design fits together with the other components and the interface of the software. It’s always better to think about the design and algorithm before coding it. Also, before compiling, it’s always better to mentally check your code that the algorithm is right. Also, you can fix/determine/consider some test data and mentally check that the algorithm is generating the expected output. If not, check your design, algorithm, and code.

When the development method goes through a detailed design phase, while coding as a developer you should be clear of the requirements of the part and the design of the part. Then you should also think if your algorithm/implementation will meet the required functionalities and design requirements. Several industry studies show that 16-19% of the developer errors are due to misinterpretation or the misunderstanding of the design and requirements.

From: http://sitestree.com/?p=4823
Categories:Software Engineering
Tags:
Post Data:2007-08-06 19:48:53

Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada