Welcome to the ACE-is-Solutions.com Development Resources page

The Company - ACE I/S Solutions

About ACE Solutions About Us
Making Contact, Lines of Communication at ACE Solutions Making Contact


Inquiries Welcome!

Peruse the site and Spread the Word!

Peruse the site and check out the Company, People, Services and Info offered. And give us feedback!

Get the FAQS - Questions Frequently Asked of ACE Solutions Get the FAQS - Frequently Asked Questions

check out Skills and Schedule on-line

Review class offerings, schedules and requirements

Review skill sets, service offerings, schedules and requirements on-line. See specifications, instructions and more.

Development

COBOL Programming by ACE Solutions COBOL Programming, plus other high-level Languages
EasyTreive Programming by ACE Solutions EasyTreive Programming, plus other 4th-Gen Languages
DB2 and SQL Programming by ACE Solutions DB2 and SQL Programming, plus other Databases and Access Methodologies
FTP Programming at ACE Solutions FTP Programming and Utilization, plus other File Transfer Processes Methodologies
MS-WORD experience  by ACE Solutions MS-WORD Installation, Usage, Maintenance, Conversions
MS-EXCEL experience  by ACE Solutions MS-EXCEL Installation, Usage, Maintenance, Conversions
MS-ACCESS experience  by ACE Solutions MS-ACCESS Design, Development, Import/Export, Applications, Troubleshooting, Conversions

Interested? Order!

Order and Reserve now

Order and Reserve now before schedules are full. On-line and printable Forms available.

Ordering or Requesting Quote from ACE Solutions Ordering or Requesting Quote

ACE I/S Solutions Welcome to ACE I/S Solutions > Resources > Development


Development Resources we can network you with, or for doing it yourself. For examples ...

* MySQL. Development install, set-up and maintenance.

* PostgreSQL. Development install, set-up and maintenance.

Don't see the one your looking for? Let us know! Got Development Resources yourself? Lets add it to the Resource Database!


Let us know:

... yours Today!

Learn more ...


About Development Resources ...

... What is Development Resources ... Software development process - Wikipedia, the free encyclopedia en.wikipedia.org/wiki/Software_development_process A software development process, also known as a software development life-cycle (SDLC), is a structure imposed on the development of a software product. A software development process, also known as a software development life-cycle (SDLC), is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process. Some people consider a life-cycle model a more general term and a software development process a more specific term. For example, there are many specific software development processes that 'fit' the spiral life-cycle model. ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software. (see also Methods) Overview[edit] The large and growing body of software development organizations implement process methodologies. Many of them are in the defense industry, which in the U.S. requires a rating based on 'process models' to obtain contracts. The international standard for describing the method of selecting, implementing and monitoring the life cycle for software is ISO/IEC 12207. A decades-long goal has been to find repeatable, predictable processes that improve productivity and quality. Some try to systematize or formalize the seemingly unruly task of writing software. Others apply project management techniques to writing software. Without effective project management, software projects can easily be delivered late or over budget. With large numbers of software projects not meeting their expectations in terms of functionality, cost, or delivery schedule, it is effective project management that appears to be lacking. Organizations may create a Software Engineering Process Group (SEPG), which is the focal point for process improvement. Composed of line practitioners who have varied skills, the group is at the center of the collaborative effort of everyone in the organization who is involved with software engineering process improvement. Software development activities[edit] Planning[edit] Planning is an objective of each and every activity, where we want to discover things that belong to the project. An important task in creating a software program is extracting the requirements or requirements analysis.[1] Customers typically have an abstract idea of what they want as an end result, but do not know what software should do. Skilled and experienced software engineers recognize incomplete, ambiguous, or even contradictory requirements at this point. Frequently demonstrating live code may help reduce the risk that the requirements are incorrect. Once the general requirements are gathered from the client, an analysis of the scope of the development should be determined and clearly stated. This is often called a scope document. Certain functionality may be out of scope of the project as a function of cost or as a result of unclear requirements at the start of development. If the development is done externally, this document can be considered a legal document so that if there are ever disputes, any ambiguity of what was promised to the client can be clarified. Implementation, testing and documenting[edit] Implementation is the part of the process where software engineers actually program the code for the project. Software testing is an integral and important phase of the software development process. This part of the process ensures that defects are recognized as soon as possible. Documenting the internal design of software for the purpose of future maintenance and enhancement is done throughout development. This may also include the writing of an API, be it external or internal. The software engineering process chosen by the developing team will determine how much internal documentation (if any) is necessary. Plan-driven models (e.g., Waterfall) generally produce more documentation than Agile models. Deployment and maintenance[edit] Deployment starts directly after the code is appropriately tested, approved for release, and sold or otherwise distributed into a production environment. This may involve installation, customization (such as by setting parameters to the customer's values), testing, and possibly an extended period of evaluation.[citation needed] Software training and support is important, as software is only effective if it is used correctly.[citation needed] Maintaining and enhancing software to cope with newly discovered faults or requirements can take substantial time and effort, as missed requirements may force redesign of the software.[citation needed] Software development models[edit] Several models exist to streamline the development process. Each one has its pros and cons, and it is up to the development team to adopt the most appropriate one for the project. Sometimes a combination of the models may be more suitable. Waterfall model[edit] Main article: Waterfall model The activities of the software development process represented in the waterfall model. There are several other models to represent this process. The waterfall model shows a process, where developers are to follow these phases in order: Requirements specification (Requirements analysis) Software design Implementation and Integration Testing (or Validation) Deployment (or Installation) Maintenance In a strict Waterfall model, after each phase is finished, it proceeds to the next one. Reviews may occur before moving to the next phase which allows for the possibility of changes (which may involve a formal change control process). Reviews may also be employed to ensure that the phase is indeed complete; the phase completion criteria are often referred to as a "gate" that the project must pass through to move to the next phase. Waterfall discourages revisiting and revising any prior phase once it's complete. This "inflexibility" in a pure Waterfall model has been a source of criticism by supporters of other more "flexible" models. The Waterfall model is also commonly taught with the mnemonic A Dance in the Dark Every Monday, representing Analysis, Design, Implementation, Testing, Documentation and Execution, and Maintenance.[citation needed] Spiral model[edit] Main article: Spiral model Spiral model (Boehm, 1988) The key characteristic of a Spiral model is risk management at regular stages in the development cycle. In 1988, Barry Boehm published a formal software system development "spiral model," which combines some key aspect of the waterfall model and rapid prototyping methodologies, but provided emphasis in a key area many felt had been neglected by other methodologies: deliberate iterative risk analysis, particularly suited to large-scale complex systems. The Spiral is visualized as a process passing through some number of iterations, with the four quadrant diagram representative of the following activities: Formulate plans to: identify software targets, implement the program, clarify the project development restrictions Risk analysis: an analytical assessment of selected programs, to consider how to identify and eliminate risk Implementation of the project: the implementation of software development and verification Risk-driven spiral model, emphasizing the conditions of options and constraints in order to support software reuse, software quality can help as a special goal of integration into the product development. However, the spiral model has some restrictive conditions, as follows: The spiral model emphasizes risk analysis, and thus requires customers to accept this analysis and act on it. This requires both trust in the developer as well as the willingness to spend more to fix the issues, which is the reason why this model is often used for large-scale internal software development. If the implementation of risk analysis will greatly affect the profits of the project, the spiral model should not be used. Software developers have to actively look for possible risks, and analyze it accurately for the spiral model to work. The first stage is to formulate a plan to achieve the objectives with these constraints, and then strive to find and remove all potential risks through careful analysis and, if necessary, by constructing a prototype. If some risks can not be ruled out, the customer has to decide whether to terminate the project or to ignore the risks and continue anyway. Finally, the results are evaluated and the design of the next phase begins. Iterative and incremental development[edit] Main article: Iterative and incremental development Iterative development[2] prescribes the construction of initially small but ever-larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster. Agile development[edit] Main article: Agile software development Agile software development uses iterative development as a basis but advocates a lighter and more people-centric viewpoint than traditional approaches. Agile processes fundamentally incorporate iteration and the continuous feedback that it provides to successively refine and deliver a software system. There are many variations of agile processes: In extreme programming (XP), the phases are carried out in extremely small (or "continuous") steps compared to the older, "batch" processes. The (intentionally incomplete) first pass through the steps might take a day or a week, rather than the months or years of each complete step in the Waterfall model. First, one writes automated tests, to provide concrete goals for development. Next is coding (by a pair of programmers), which is complete when all the tests pass, and the programmers can't think of any more tests that are needed. Design and architecture emerge out of refactoring, and come after coding. The same people who do the coding do design. (Only the last feature — merging design and code — is common to all the other agile processes.) The incomplete but functional system is deployed or demonstrated for (some subset of) the users (at least one of which is on the development team). At this point, the practitioners start again on writing tests for the next most important part of the system.[3] Dynamic systems development method Scrum Rapid application development[edit] Rapid Application Development (RAD) Model Rapid application development R.A.D is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. RAD involves methods like iterative development and software prototyping. According to Whitten (2004), it is a merger of various structured techniques, especially data-driven Information Engineering, with prototyping techniques to accelerate software systems development.[4] In rapid application development, structured techniques and prototyping are especially used to define users' requirements and to design the final system. The development process starts with the development of preliminary data models and business process models using structured techniques. In the next stage, requirements are verified using prototyping, eventually to refine the data and process models. These stages are repeated iteratively; further development results in "a combined business requirements and technical design statement to be used for constructing new systems".[4] Code and fix[edit] "Code and fix" development is not so much a deliberate strategy as an artifact of naïveté and schedule pressure on software developers.[5] Without much of a design in the way, programmers immediately begin producing code. At some point, testing begins (often late in the development cycle), and the unavoidable bugs must then be fixed before the product can be shipped. See also: Continuous integration and Cowboy coding. Process improvement models[edit] Capability Maturity Model Integration The Capability Maturity Model Integration (CMMI) is one of the leading models and based on best practice. Independent assessments grade organizations on how well they follow their defined processes, not on the quality of those processes or the software produced. CMMI has replaced CMM. ISO 9000 ISO 9000 describes standards for a formally organized process to manufacture a product and the methods of managing and monitoring progress. Although the standard was originally created for the manufacturing sector, ISO 9000 standards have been applied to software development as well. Like CMMI, certification with ISO 9000 does not guarantee the quality of the end result, only that formalized business processes have been followed. ISO/IEC 15504 ISO/IEC 15504 Information technology — Process assessment also known as Software Process Improvement Capability Determination (SPICE), is a "framework for the assessment of software processes". This standard is aimed at setting out a clear model for process comparison. SPICE is used much like CMMI. It models processes to manage, control, guide and monitor software development. This model is then used to measure what a development organization or project team actually does during software development. This information is analyzed to identify weaknesses and drive improvement. It also identifies strengths that can be continued or integrated into common practice for that organization or team. Formal methods[edit] Formal methods are mathematical approaches to solving software (and hardware) problems at the requirements, specification, and design levels. Formal methods are most likely to be applied to safety-critical or security-critical software and systems, such as avionics software. Software safety assurance standards, such as DO-178B, DO-178C, and Common Criteria demand formal methods at the highest levels of categorization. For sequential software, examples of formal methods include the B-Method, the specification languages used in automated theorem proving, RAISE, and the Z notation. Formalization of software development is creeping in, in other places, with the application of Object Constraint Language (and specializations such as Java Modeling Language) and especially with model-driven architecture allowing execution of designs, if not specifications. For concurrent software and systems, Petri nets, process algebra, and finite state machines (which are based on automata theory - see also virtual finite state machine or event driven finite state machine) allow executable software specification and can be used to build up and validate application behavior. Another emerging trend in software development is to write a specification in some form of logic—usually a variation of first-order logic (FOL)—and then to directly execute the logic as though it were a program. The OWL language, based on Description Logic (DL), is an example. There is also work on mapping some version of English (or another natural language) automatically to and from logic, and executing the logic directly. Examples are Attempto Controlled English, and Internet Business Logic, which do not seek to control the vocabulary or syntax. A feature of systems that support bidirectional English-logic mapping and direct execution of the logic is that they can be made to explain their results, in English, at the business or scientific level. See also[edit] Development methods[edit] Chaos model Extreme Programming ICONIX (UML-based object modeling with use cases) Incremental funding methodology Model-driven engineering Service-oriented modeling Software prototyping Specification and Description Language Top–down and bottom–up design Unified Process User experience V-Model (software development) Verification and Validation (software) http://en.wikipedia.org/wiki/Software_development_process What is a Software Development Process? | Analysis and Design www.selectbs.com/…is-a-software-development-process A software development process or life cycle is a structure imposed on the development of a software product. There are several models for such processes, each ... What is a Software Development Process? A software development process or life cycle is a structure imposed on the development of a software product. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process. Processes More and more software development organizations implement process methodologies. The Capability Maturity Model (CMM) is one of the leading models. Independent assessments can be used to grade organizations on how well they create software according to how they define and execute their processes. There are dozens of others, with other popular ones being ISO 9000, ISO 15504, and Six Sigma. Process Activities/Steps Software Engineering processes are composed of many activities, notably the following: Requirements Analysis Extracting the requirements of a desired software product is the first task in creating it. While customers probably believe they know what the software is to do, it may require skill and experience in software engineering to recognize incomplete, ambiguous or contradictory requirements. Specification Specification is the task of precisely describing the software to be written, in a mathematically rigorous way. In practice, most successful specifications are written to understand and fine-tune applications that were already well-developed, although safety-critical software systems are often carefully specified prior to application development. Specifications are most important for external interfaces that must remain stable. Software architecture The architecture of a software system refers to an abstract representation of that system. Architecture is concerned with making sure the software system will meet the requirements of the product, as well as ensuring that future requirements can be addressed. Implementation Reducing a design to code may be the most obvious part of the software engineering job, but it is not necessarily the largest portion. Testing Testing of parts of software, especially where code by two different engineers must work together, falls to the software engineer. Documentation An important task is documenting the internal design of software for the purpose of future maintenance and enhancement. Training and Support A large percentage of software projects fail because the developers fail to realize that it doesn't matter how much time and planning a development team puts into creating software if nobody in an organization ends up using it. People are occasionally resistant to change and avoid venturing into an unfamiliar area, so as a part of the deployment phase, its very important to have training classes for the most enthusiastic software users (build excitement and confidence), shifting the training towards the neutral users intermixed with the avid supporters, and finally incorporate the rest of the organization into adopting the new software. Users will have lots of questions and software problems which leads to the next phase of software. Maintenance Maintaining and enhancing software to cope with newly discovered problems or new requirements can take far more time than the initial development of the software. Not only may it be necessary to add code that does not fit the original design but just determining how software works at some point after it is completed may require significant effort by a software engineer. About 60% of all software engineering work is maintenance, but this statistic can be misleading. A small part of that is fixing bugs. Most maintenance is extending systems to do new things, which in many ways can be considered new work. Process Models A decades-long goal has been to find repeatable, predictable processes or methodologies that improve productivity and quality. Some try to systematize or formalize the seemingly unruly task of writing software. Others apply project management techniques to writing software. Without project management, software projects can easily be delivered late or over budget. With large numbers of software projects not meeting their expectations in terms of functionality, cost, or delivery schedule, effective project management is proving difficult. Waterfall processes The best-known and oldest process is the waterfall model, where developers follow these steps in order. They state requirements, analyze them, design a solution approach, architect a software framework for that solution, develop code, test, deploy, and maintain. After each step is finished, the process proceeds to the next step. Iterative processes Iterative development prescribes the construction of initially small but ever larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster. Iterative processes are preferred by commercial developers because it allows a potential of reaching the design goals of a customer who does not know how to define what he wants. Agile software development processes are built on the foundation of iterative development. To that foundation they add a lighter, more people-centric viewpoint than traditional approaches. Agile processes use feedback, rather than planning, as their primary control mechanism. The feedback is driven by regular tests and releases of the evolving software. Agile processes seem to be more efficient than older methodologies, using less programmer time to produce more functional, higher quality software, but have the drawback from a business perspective that they do not provide long-term planning capability. In essence, they say that they will provide the most bang for the buck, but won't say exactly when that bang will be. Extreme Programming, XP, is the best-known agile process. In XP, the phases are carried out in extremely small (or "continuous") steps compared to the older, "batch" processes. The (intentionally incomplete) first pass through the steps might take a day or a week, rather than the months or years of each complete step in the Waterfall model. http://www.selectbs.com/analysis-and-design/what-is-a-software-development-process

... How To Development Resources.

Learn more > about the Resource Network, or about Us ...


  the Bulletin Board  

INSTRUCTIONS Enter the NotePad! Enter questions, comments and link info in the NotePad, NOTE - we do NOT automatically capture e-mail address - you must enter it.   EDITing is up to you, what you submit is what gets posted.   To request further maintenance -or- for more private communications, use the FeedBack form below.

  Post Here  

Who are you:
Where are you from:
What would you like to say:


  posted Comments  

Comments will go here.


  Give Us FeedBack  

Hit a brick wall? Please email us directly or use our FeedBack form to give us input.

Who are you?
e-mail address:
Feedback:


skills and Clinics Offered

NOTE!   ACE Solutions will be featured Throughout the winter season in Portland, Salem area locations.  Check out the Calendar Page often for New Up-Dates!

* System Architecture skills at ACE I/S Solutions System Architecture Analysis, Design, Construction, Maintenance
* Web-Based skill set at ACE I/S Solutions Web Sites, Service and Internet Development and Training
* Personal Computing Services skills at ACE I/S Solutions Personal Computing Services; SetUp - Buying/Building, Troubleshooting and Maintenance, Application Development
* Business skills at ACE I/S Solutions Business Planning and Analysis, Logo Design, Sales and Marketing, Temp Services
* Organizational skills at ACE I/S Solutions Organization Development and Operations, Event Management, Campaign Management

Industry Experience and Areas Of Interest

Business and other For-Profit groups and ventures Business and other For-Profit groups and ventures
Organizations and other NGO, Non-Profit groups and ventures Organizations and other NGO, Non-Profit groups and ventures
Government groups and ventures Government groups and ventures
Home and Personal Home and Personal
Hobby and Gaming Hobby and Gaming

References and Tech Support

Glossary of Terms Glossary of Terms.
Index to Gallery of Images Gallery of Images.

  About  
  Contact  
  Skill Sets  
  Schedule  
  Resumes  
  Order