At MCE123, our software engineering specialists can create any type of software application that is specifically designed to fit the unique needs of your business. Our cutting-edge software engineering services utilize object-oriented methods, with an emphasis on Scrum AGILE software development methodology.
We specialize in the following software development processes:
Requirements Elicitation is a process that includes developing the Requirements Analysis Document (RAD) to outline the needs of the various users of the system.
System Analysis and Design utilizes Object Oriented Software Engineering (OOSE) methods to determine how any existing systems can be improved. We use system decomposition to understand how the system will work, and to develop subsystems, such as interfaces, partitions, and modules:
- The Systems Design Document (SDD) is a detailed design document to describe the operating environment, system requirements, subsystem and system architecture, file and database design, output layouts, input formats, processing logic, human-machine interfaces, and external interfaces.
- Unified Modeling Language (UML) Diagrams include the following types of diagrams that show how the system will work, down to the granular level of detail:
- Use Case Diagrams are representations of user interaction with the system that show the relationship between the users and the various use cases involved.
- Activity Diagrams are graphical representations of the workflows of stepwise activities and actions with support for choice, iteration and concurrency.
- Class Diagrams are static structure diagrams that describe the structure of the system by showing the system’s classes, their operations, their attributes, and the relationships among objects - which are instances of a class.
- Object Diagrams show a complete or partial view of the structure of a modeled system at a specific time.
- Sequence Diagrams - these show object interactions arranged in time sequences. They depict the objects and classes involved in the scenario and the sequence of messages that are exchanged between the objects and are necessary to properly carry out the scenario functionality.
- Communication Diagrams - these model the interactions that occur between parts or objects via sequenced messages. These diagrams symbolize a combination of information taken from Sequence, Class, and Use Case Diagrams that describe both the dynamic behavior and static structure of a system.
- State Machine Diagrams describe the behavior of the system and require that the system described is composed of a finite number of states.
The Development Phase is a sequence of processes leading to the development of a system using Object Oriented Programming (OOP) methods:
- We develop the Object Design Document (ODD) for each configurable object within the software system. The ODD describes the object design trade-offs that are made by developers, the guidelines that they followed for subsystem interfaces, the class interfaces, and the decomposition of subsystems into classes and packages.
- Class Responsibility Collaboration (CRC) Cards are created through a process that helps MCE123 to understand and develop the best relations between various classes, objects, and subsystems.
- Application Programmer Interface (API) - we develop the API, which is the way that other systems can interact with the system that we are building. For web applications, this may be in the form of a REST API.
Quality Assurance and Testing - this sequence of processes ensures that the system has been developed error-free.
Deployment Phase - this process includes configuration management, where we ensure that the system works properly with all other systems, and that existing users don’t experience errors or downtime when trying to connect to the existing systems that they rely on.
We at MCE123 have been designing software since 1999, using languages including Perl, PHP, Visual Basic, C, C++, ASP.NET, Java, Python, ASM, and many other languages. You can trust our 20+ years of experience in the software development industry, and our marketing, research, and development backgrounds within the company make us perfect to understand your system’s application domain, down to the granular level.
We also have experience with the following systems:
- TCP/IP Model
- Cloud Computing, including Amazon AWS
- SQL Databases, including MySQL, PostgreSQL, Microsoft SQL Server
- NoSQL Databases, including DynamoDB, Cassandra, Gremlin with Titan, Neo4j
We keep all information pertaining to client projects in secure rooms, so that your competitors won't be able to find out what we're working on. We never discuss client projects with unauthorized contacts, and we can sign a Nondisclosure Agreement with your company before we discuss your project.
We have kept highly classified systems out of reach of the public for over 15 years, and we have never had a security breach. We are highly experienced with maintaining a significant level of control over our projects, including who is allowed to access the information. Optionally, we can use completely new computer systems to design your software, and provide you with the computers with the development environments after we complete the work, or, we can keep the project safely in-house on our encrypted systems, and provide maintenance to the project in the future.
Our ideal client is a 15+ year relationship, and we do not take on any development work without a minimum of a 1-year commitment, regardless of the project size, and we are highly committed to maintaining positive relationships with our clients.
Contact us today to find out more about what we can develop for your organization. We can design the software that solves all of your organization's problems, from scratch, or modify and improve an existing system.