Tuesday, December 30, 2008

Task 2:Comparison with and without SmartDraw

With SmartDraw

SmartDraw is a versatile program that helps you easily create various drawings from flowcharts to floor plans. Comes with numerous templates and symbol libraries to get you started quickly. Allows you to export your drawing to several popular formats including PDF, MS Word, Excel or PowerPoint. Neat features include creating maps, flyers, charts, diagrams, business cards, and more. Automatic Flowcharting - flowcharts are built using simple commands. Shapes are placed with lines drawn automatically. The flowchart is spaced and aligned automatically as it is created.Automatic Graphic Design - a series of selectable graphic themes specifying colors, line and type style can be automatically applied to each project. This feature quickly gives your project a unified professional look.One Step Charts and Picture Charts,charts and graphs can be built without having to create a spreadsheet first. User can create charts that use pictures or images to display data.Live Maps captures live Google map data from the Internet allowing users to easily incorporate roads, counties, zip codes, etc into their project. I can see this as an amazing time saver. When open SmartDraw, you are presented with the "Create a New Document" tab, with a broad list of categories to choose from. The list includes just about every type of drawing you could ever require: Calendars, Certificates, Engineering, Floor Plans, Flowcharts, etc. Clicking on the broad categories brings up a sub-list of more-specific drawing types. As you click, thumbnail images of templates for the drawing types show up in the main window and clicking the template opens a new document with that template for you to begin editing.

Without SmartDraw

We can improve any process by first using a flowchart to break the process down into its individual steps. But when you need to change the process, SmartDraw makes it easy not only to create a process flowchart, but also to insert or delete steps without having to redraw your chart. Without smartdraw the busy business user to create projects with a powerful impact will become slower compare to with smartdraw. Putting a SmartDraw drawing into another document or presentation is as simple as copy and paste, and it will be very hard to copy,paste text and graphics from other programs into drawings without smartdraw.Other than that, without smartdraw it will be very hard to export your drawing to several popular formats including PDF, MS Word, Excel or PowerPoint.Than we will face problem in drawing software that lets you create full-color flowcharts, floor plans, org charts, technical diagrams, calendars and more.More than that,without Smartdraw we can’t create the new chart using your Excel data.If you use PowerPoint® you need SmartDraw's unique and vital auto-animation features,so without smartdraw it will be harder.Smartdraw create graphics without manually drawing. SmartDraw draws for you. Use simple buttons on the SmartPanel to add shapes and Smartdraw places them in just the right position with the appropriate connections,without smartdraw we must draw it manually.It will become wasting of time.energy,and etc.

Task 2:About Smart Draw and how it helps the software developement activities

SmartDraw is used to create business graphics such as flowcharts, organization charts, Gantt charts, timelines, mind maps, floor plans, and other diagrams.SmartDraw is also available in two industry-specific solutions: the SmartDraw Legal Edition and the SmartDraw Healthcare Edition.SmartDraw 2008 is a versatile program that helps you easily create various drawings from flowcharts to floor plans. Comes with numerous templates and symbol libraries to get you started quickly. Allows you to export your drawing to several popular formats including PDF, MS Word, Excel or PowerPoint. Neat features include creating maps, flyers, charts, diagrams, business cards, and more.SmartDraw offers specialized versions of their software including a Legal Edition and Healthcare Edition example for Windows XP, 2000, or Vista. SmartDraw is acceptable landscape-design software for those averse to drawing by hand. Pretty symbols can be dragged-and-dropped onto your canvas, allowing amateurs to create attractive landscape plans. But as one who doesn't mind drawing his own sketches, I can't say that I was won over. When it comes right down to it, I'd still rather throw away a messed-up first draft done on paper than search under a software program's "Help" menu to learn how a tool work.

SmartDraw Helps Software Architect Visualize Financial Processes. SmartDraw comes with more than 20,000 symbols and hundreds of templates, including templates for software and network design, database diagrams, financial and banking processes, and much more. In addition, SmartDraw includes dozens of SmartTemplates, each loaded with a diagram-specific command set and step-by-step instructions, turning even novice users into instant experts. "I really liked the examples and templates and libraries," said Bartek.SmartDraw includes many symbols that Bartek could use time and again in his diagrams—including symbols for business components, cash services, databases, and software graphical user interfaces. SmartDraw also allowed him to build his own symbol libraries, full of specialized or frequently-used symbols that Bartek could access again and again.Smartdraw scores points in online games design, It's not all fun and games for the movers and shakers in the online game industry. Just ask Dustin Juliano, President and CEO of Ethereal Evolution, Inc., and creator of Universe Unlimited, an ambitious online multiplayer game.Pressed for time, Juliano was looking for a quick way to create visual representations of his new game in its development stage. The answer? Flowcharting software. Flowcharts allow us to see the 'big picture,' upfront, so I don't have to spend time coding something that wouldn't have worked because of the design," he said. "Completing these complex projects would be nearly impossible without flowcharts. With SmartDraw, can started creating flowcharts right away. We didn't even need to use the tutorials.The interface was just so intuitive.The intelligent tips helped a lot, and kept me up-to-speed on all the features was using. As a developer, he or she can appreciate the extra attention to detail that took."

Juliano was also impressed with SmartDraw's speed his number one priority. SmartDraw offers easy drag-and-drop drawing, and hundreds of symbols specific to software design. That meant Data Flow Diagrams, GUIs, and UML diagrams were just minutes away.SmartDraw is much faster than Visio.We could tell it would save time by allowing to design, and redesign, software diagrams quickly."SmartDraw Legal Edition delivers all the benefits of SmartDraw business graphics plus additional specialized features to meet the specific needs of legal and law enforcement professionals.With SmartDraw Legal Edition anyone can create great looking legal and business graphics in minutes, not hours. SmartDraw anticipates your needs—giving you pre-drawn templates, automating design, and making it easy to turn your information into brilliant illustrations fast.

As of May 2008, the license agreement contains a clause in which SmartDraw "has the right to access and inspect your facilities, servers and computers for the foregoing purpose, including by using remote software monitoring tools without further notice to you." This is a possible privacy concern as it reserves the right to use spyware on the user's computer.FeaturesSpecialized Support for More than 50 Types of GraphicsSmartDraw includes specialized SmartTemplates for more than 50 types of graphic, each with a custom tailored SmartPanel and help. SmartDraw is the only business graphics program you'll ever need.SmartDraw Draws for YouCreate graphics without manually drawing. SmartDraw draws for you. Use simple buttons on the SmartPanel to add shapes and SmartDraw places them in just the right position with the appropriate connections. These days, Vaught uses SmartDraw for software design several times a week. It allows us to completeour work very quickly... much faster than we could with Visio®.SmartDraw saves a ton of time. If had to do work in Visio®, it would take twice as long. That's if didn't get frustrated and give up.Vaught finds SmartDraw not only quicker to work in, but more flexible as well. In short, it allows him to do more in less time.According to Vaught,he always found himself being limited with Visio® or Rational Rose.SmartDraw let us do everything that we needed to do.SmartDraw also yielded a surprising, yet beneficial by product. Vaught had purchased a new building, and he needed a way to create floor plans. SmartDraw's Floor Plans & Facilities symbol collection was the perfect solution.SmartDraw allowed to quickly make all the floor plans for our new building. I couldn't believe it. This single tool replaces my Visio®…and my floor plan design tools.The bottom line? Vaught says SmartDraw is a great investment. I recommend it all of the time,said Vaught.

Task 2:Features of Smart Draw

Automatic Flowcharting is where the flowcharts are built using simple commands. Shapes are placed with lines drawn automatically. The flowchart is spaced and aligned automatically as it is created.

Automatic Graphic Design is a series of selectable graphic themes specifying colors, line and type style can be automatically applied to each project. This feature quickly gives your project a unified professional look.

One-Step Charts and Picture Charts will provide benefit where the charts and graphs can be built without having to create a spreadsheet first. User can create charts that use pictures or images to display data.

Live Maps captures live Google map data from the Internet allowing users to easily incorporate roads, counties, zip codes, etc into their project. I can see this as an amazing time-saver

Features and types of graphic that we can create using the Smart Draw:
• can convert any graphic you create to PDF
• will export to any Microsoft Office product as a graphic image
• every imaginable chart type
• family tree
• floor plan
• math worksheets
• flowcharts
• calendars
• certificates
• flyers
• landscape plans
• maps
• marketing charts
• network designs
• org charts
• retail merchandising charts
• timelines
• webpage layouts


Task 2:Basic Reasons to Choose SmartDraw Over Visio®

SmartDraw Is Better for Everyday Business Users

Although Visio is a powerful product, it is best suited to technical experts. It can be overwhelming to the average user who just wants to draw presentation-quality diagrams without having to learn a complex program. SmartDraw provides ample drawing power while remaining easy enough for anyone to use.

SmartDraw Is More Versatile than Visio

SmartDraw includes more than 20,000 ready-made symbols and 2,400 templates that cover a much broader array of diagram types than Visio®. SmartDraw also lets you import or create your own symbol libraries, allowing you to easily customize the solution for your business.

SmartDraw Creates Better Presentation-Quality Graphics

Most of Visio's built-in symbols are simple line drawings and stick figures. SmartDraw includes tens of thousands of rich, colorful built-in symbols to help you look like an artist even if you can't draw a straight line.
SmartDraw also offers robust, ready-made color themes (with shadows, glows, and gradients) that will give your entire drawing a professional finish with a few mouse-clicks, whereas Visio offers some simplistic, ready-made color schemes that don't really compare.

And if it's clip art you want, SmartDraw gives you more than 7,000 built-in clip art graphics, whereas Visio gives you less than 500.

Visio vs. Smart Draw: Symbols/Colors/Clipart





Saturday, December 27, 2008

Task 2:The Phase or Activities of the Software Development Life Cycle that It covers

Software design is a process of problem-solving and planning for a software solution. After the purpose and specifications of software is determined, software developers will design or employ designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view. The software requirements analysis (SRA) step of a software development process yields specifications that are used in software engineering. A software design may be platform-independent or platform-specific, depending on the availability of the technology called for by the design.

Design is a meaningful engineering representation of something that is to be built. It can be traced to a customer's requirements and at the same time assessed for for quality against a set of predefined criteria for 'good' design. In the software engineering context, design focuses on four major areas of concern, data, architecture, interfaces, and components.

Designing software is an exercise in managing complexity. The complexity exits within the software design itself, within the software organization of the company, and within the industry as a whole. Software design is very similar to systems design. It can span multiple technologies and often involves multiple sub-disciplines. Software specifications tend to be fluid, and change rapidly and often, usually while the design process is still going on. Software development teams also tend to be fluid, likewise often changing in the middle of the design process. In many ways, software bears more resemblance to complex social or organic systems than to hardware. All of this makes software design a difficult and error prone process.

Software design documentation may be reviewed or presented to allow constraints, specifications and even requirements to be adjusted prior to programming. Redesign may occur after review of a programmed simulation or prototype. It is possible to design software in the process of programming, without a plan or requirement analysis, but for more complex projects this would not be considered a professional approach.

The final goal of any engineering activity is the some type of documentation. When a design effort is complete, the design documentation is turned over to the manufacturing team. This is a completely different group with completely different skills from the design team. If the design documents truly represent a complete design, the manufacturing team can proceed to build the product. In fact, they can proceed to build lots of the product, all without any further intervention of the designers. After reviewing the software development life cycle as I understood it, I concluded that the only software documentation that actually seems to satisfy the criteria of an engineering design is the source code listings. There is one consequence of considering code as software design that completely overwhelms all others. It is so important and so obvious that it is a total blind spot for most software organizations. This is the fact that software is cheap to build. It does not qualify as inexpensive; it is so cheap it is almost free. If source code is a software design, then actually building software is done by compilers and linkers.

Task 2:Type of CASE Tool – Upper, Lower or i-CASE

We have chosen Smart Draw as our case tool.
Smart Draw is an upper case tool.


CASE is the application of computer technology to systems development activities, techniques, and methods. CASE tools automate or support one or more phases of the SDLC to speed up development and improve quality. Computer Aided Systems Engineering (CASE) ,aims to improve quality of systems, focuses on automating structured techniques like upper CASE tools and relies on rigorous development methods.CASE Tools divided into 3types which is upper case,lower case,and i-case.Under Upper CASE Tools got 2 types of system,which are systems planning and systems analysis.System planning used to find the goals,objectives,and business models and system analysis used to find scope, boundaries detailed modeling, and prototyping.

Benefits of case are to Increased Productivity,Improved Quality,Better Documentation,Reduced Lifetime Maintenance, and Methods that really work. All aspects of the software development lifecycle can be supported by software tools, and so the use of tools from across the spectrum can, arguably, be described as CASE; from project management software through tools for business and functional analysis, system design, code storage, compilers, translation tools, test software, and so on.

However, it is the tools that are concerned with analysis and design, and with using design information to create parts or all of the software product, that are most frequently thought of as CASE tools. Such tools arose out of developments such as Jackson Structured Programming and the software modelling techniques promoted by researchers such as Ed Yourdon, Chris Gane and Trish Sarson see structured programming, SSADM. In this narrower range, CASE applied, for instance, to a database software product, might normally involve Modeling business real world processes and data flow Development of data models in the form of entity-relationship diagrams,Development of process and function descriptions, and Production of database creation SQL and stored procedures.

The term CASE was originally coined in the early 1980s by the Nastec Corporation. They brought out a number of integrated graphics and text editors, which were the first microprocessor based tools to logically and semantically evaluate software and system design diagrams and build a data dictionary. This was later expanded to support analysis of a wide range of structured analysis and design methodologie.Upper case tools for the analysis and design phase of the software development lifecycle diagramming tools, report and form generators, analysis tools.Upper case tools support for the analysis and design.The advantages of case tools are Help standardization of notations and diagrams,help communication between development team members,automatically check the quality of the A&D models,reduction of time and effort, and Enhance reuse of models or models’ components.The disadvantages of case tools are ,Limitations in flexibility of documentation,May lead to restriction to the tool’s capabilities,Major danger completeness and syntactic correctness does NOT mean compliance with requirements, and Costs associated with the use of the tool purchase with training.

Task 1:How SE can help solve software development problems.

• Solid requirements
- clear, complete, detailed, cohesive, attainable, testable requirements that are agreed to by all players. Use prototypes to help nail down requirements. In 'agile'-type environments, continuous close coordination with customers/end-users is necessary.

• Realistic schedules
- allow adequate time for planning, design, testing, bug fixing, re-testing, changes, and documentation; personnel should be able to complete the project without burning out.

• Adequate testing
- start testing early on, re-test after fixes or changes, plan for adequate time for testing and bug-fixing. 'Early' testing ideally includes unit testing by developers and built-in testing and diagnostic capabilities.

• Stick to initial requirements as much as possible
- be prepared to defend against excessive changes and additions once development has begun, and be prepared to explain consequences. If changes are necessary, they should be adequately reflected in related schedule changes. If possible, work closely with customers/end-users to manage expectations. This will provide them a higher comfort level with their requirements decisions and minimize excessive changes later on.

• Communication
- require walkthroughs and inspections when appropriate; make extensive use of group communication tools - groupware, bug-tracking tools and change management tools, intranet capabilities, etc.; insure that information/documentation is available and up-to-date - preferably electronic, not paper; promote teamwork and cooperation; use prototypes and or continuous communication with end-users if possible to clarify expectations.

• Study both functional and non-functional requirements before selecting technology

Task 1:Software Development Problems

There are several problems occurred in software development which makes project failure.These are the problems :
• Inaccurate understanding of end-user needs.
 Users are not very clear in regards to their exact needs. Most of the specifications given to Software Development Outsourcing vendors are rough and very sketchy.
• Inability to deal with changing requirements.
• Modules that don't fit together.
• Software that's hard to maintain or extend.
• Late discovery of serious projects flaws.
• Poor software quality.
• Unacceptable software performance.
• Team members in each other's way.
• An untrustworthy build and release process.

Task 1:Importance of Software Engineering in Software Development.

Some decades back, when computer was just born and was completely new thing to people. Very few people could operate them and software was not given very much of emphasis. That time hardware was the most important part that decided the cost of implementation and success rate of the system developed. Very few people were known to programming. Computer programming was very much considered to be an art gifted to few rather than skill of logical thinking. This approach was full of risk and even in most of the cases, the system that was undertaken for development, never met the completion. Soon after that, some emphasis was given towards software development. This started a new era of software development. Slowly, people started giving more importance to software development.


People, who wrote softwares, hardly followed any methodology, approach or discipline that would lead to a successful implementation of a bug-free and fully functional system. There hardly existed any specific documentation, system design approach and related documents etc. These things were confined to only those who developed hardware systems. Software development plans and designs were confined to only concepts in mind.


Software engineering is defined as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. The effort is necessitated by the potential complexity of those systems, which may contain millions of lines of code.

Software Engineering includes planning and developing strategies, defining time-lines and following guidelines in order to ensure the successful completion of particular phases, following predefined Software Development Life-Cycles, using documentation plans for follow-ups etc. in order to complete various phases of software development process and providing better support for the system developed.

Software Engineering takes an all-round approach to find out the customer’s needs and even it asks customers about their opinions hence proceeding towards development of a desired product. Various methodologies/practices such as ‘Waterfall Model’, ‘Spiral Model’ etc. are developed under Software Engineering which provides guidelines to follow during software development ensuring on time completion of the project. These approaches help in dividing the software development process into small tasks/phases such as requirement gathering and analysis, system design phase, coding phase etc. that makes it very much easy to manage the project.

These methods or approaches also help in understanding the problems faced (which occur during the system development process and even after the deployment of the system at customer’s site) and strategies to be followed to take care of all the problems and providing a strong support for the system developed (for example: the problems with one phase are resolved in the next phase, and after deployment of the product, problems related to the system such as queries, bug that was not yet detected etc. which is called support and maintenance of the system. These all strategies are decided while following the various methodologies).

Meanwhile software engeenering plays a big role in software development.Actually,software development is the set of activities that results in software products. Software development may include research, new development, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.Especially the first phase in the software development process may involve many departments, including marketing, engineering, research and development and general management.The term software development may also refer to computer programming, the process of writing and maintaining the source code.

Today, almost 100% software development projects use Software Engineering concepts and follow the standard guidelines; this ensures a safe pathway for these projects. In future also, all the projects will surely follow the Software Engineering concepts (may be with improved strategies and methodologies.)